justfile
This commit is contained in:
parent
cecdca9586
commit
fc48010c05
28 changed files with 3872 additions and 13 deletions
173
02-installer-bootc-tui/scripts/test-container.sh
Executable file
173
02-installer-bootc-tui/scripts/test-container.sh
Executable file
|
|
@ -0,0 +1,173 @@
|
|||
#!/bin/bash
|
||||
# Test script for Debian Atomic Terminal Installer using podman container
|
||||
# This script tests the installation process in a controlled container environment
|
||||
|
||||
set -e
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
log() {
|
||||
echo -e "${GREEN}[TEST]${NC} $1"
|
||||
}
|
||||
|
||||
warn() {
|
||||
echo -e "${YELLOW}[WARNING]${NC} $1"
|
||||
}
|
||||
|
||||
error() {
|
||||
echo -e "${RED}[ERROR]${NC} $1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Test container build
|
||||
test_container_build() {
|
||||
log "Testing container build..."
|
||||
|
||||
if just build; then
|
||||
log "✅ Container built successfully"
|
||||
else
|
||||
error "❌ Container build failed"
|
||||
fi
|
||||
}
|
||||
|
||||
# Test container run
|
||||
test_container_run() {
|
||||
log "Testing container run..."
|
||||
|
||||
# Run container in background
|
||||
podman run --rm -d --name test-tui-installer debian-atomic-tui-installer:latest
|
||||
|
||||
# Wait a moment for container to start
|
||||
sleep 2
|
||||
|
||||
# Check if container is running
|
||||
if podman ps | grep -q test-tui-installer; then
|
||||
log "✅ Container is running"
|
||||
|
||||
# Test basic functionality
|
||||
if podman exec test-tui-installer which install-debian-atomic; then
|
||||
log "✅ Install script found"
|
||||
else
|
||||
warn "⚠️ Install script not found"
|
||||
fi
|
||||
|
||||
if podman exec test-tui-installer which welcome; then
|
||||
log "✅ Welcome script found"
|
||||
else
|
||||
warn "⚠️ Welcome script not found"
|
||||
fi
|
||||
|
||||
# Stop container
|
||||
podman stop test-tui-installer
|
||||
log "✅ Container stopped"
|
||||
else
|
||||
error "❌ Container failed to start"
|
||||
fi
|
||||
}
|
||||
|
||||
# Test ISO creation
|
||||
test_iso_creation() {
|
||||
log "Testing ISO creation..."
|
||||
|
||||
if just create-iso; then
|
||||
log "✅ ISO created successfully"
|
||||
|
||||
# Check if ISO file exists
|
||||
if [ -f build/debian-atomic-tui-installer.iso ]; then
|
||||
log "✅ ISO file exists"
|
||||
ls -lh build/debian-atomic-tui-installer.iso
|
||||
else
|
||||
error "❌ ISO file not found"
|
||||
fi
|
||||
else
|
||||
error "❌ ISO creation failed"
|
||||
fi
|
||||
}
|
||||
|
||||
# Test installation script syntax
|
||||
test_script_syntax() {
|
||||
log "Testing installation script syntax..."
|
||||
|
||||
if bash -n scripts/install.sh; then
|
||||
log "✅ Installation script syntax is valid"
|
||||
else
|
||||
error "❌ Installation script has syntax errors"
|
||||
fi
|
||||
}
|
||||
|
||||
# Test configuration file
|
||||
test_config_file() {
|
||||
log "Testing configuration file..."
|
||||
|
||||
if [ -f config/installer.conf ]; then
|
||||
log "✅ Configuration file exists"
|
||||
|
||||
# Check if file is readable
|
||||
if [ -r config/installer.conf ]; then
|
||||
log "✅ Configuration file is readable"
|
||||
else
|
||||
warn "⚠️ Configuration file is not readable"
|
||||
fi
|
||||
else
|
||||
error "❌ Configuration file not found"
|
||||
fi
|
||||
}
|
||||
|
||||
# Test justfile commands
|
||||
test_justfile() {
|
||||
log "Testing justfile commands..."
|
||||
|
||||
# Test help command
|
||||
if just help > /dev/null 2>&1; then
|
||||
log "✅ Help command works"
|
||||
else
|
||||
warn "⚠️ Help command failed"
|
||||
fi
|
||||
|
||||
# Test status command
|
||||
if just status > /dev/null 2>&1; then
|
||||
log "✅ Status command works"
|
||||
else
|
||||
warn "⚠️ Status command failed"
|
||||
fi
|
||||
}
|
||||
|
||||
# Run all tests
|
||||
run_tests() {
|
||||
log "Starting container-based tests..."
|
||||
|
||||
test_script_syntax
|
||||
test_config_file
|
||||
test_justfile
|
||||
test_container_build
|
||||
test_container_run
|
||||
test_iso_creation
|
||||
|
||||
log "All container-based tests completed successfully!"
|
||||
}
|
||||
|
||||
# Main function
|
||||
main() {
|
||||
echo "Debian Atomic Terminal Installer - Container Test Suite"
|
||||
echo "====================================================="
|
||||
echo ""
|
||||
|
||||
run_tests
|
||||
|
||||
echo ""
|
||||
echo "✅ All container-based tests passed!"
|
||||
echo "The terminal installer is ready for use."
|
||||
echo ""
|
||||
echo "Next steps:"
|
||||
echo "1. Run 'just test-iso' to test the ISO in QEMU"
|
||||
echo "2. Run 'just create-test-vm' to create a test VM"
|
||||
echo "3. Use the ISO in a real VM or on hardware"
|
||||
}
|
||||
|
||||
# Run main function
|
||||
main "$@"
|
||||
Loading…
Add table
Add a link
Reference in a new issue