summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorhc <hc@email.ch>2025-06-25 19:40:43 +0800
committerhc <hc@email.ch>2025-06-25 19:40:43 +0800
commitccdde5f4424836fc8e9cc98c204510fed9612e70 (patch)
treedf1500f00b2f0b32b8729732454585c318b51110 /tests
parentd6eb567da3e6d2e64ebf22adf1fc6d21c47090f8 (diff)
merged setup and contaienrs
Diffstat (limited to 'tests')
-rwxr-xr-xtests/test_base_container.sh131
-rwxr-xr-xtests/test_gpu_container.sh146
2 files changed, 0 insertions, 277 deletions
diff --git a/tests/test_base_container.sh b/tests/test_base_container.sh
deleted file mode 100755
index b5115ec..0000000
--- a/tests/test_base_container.sh
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/bin/bash
-
-# Container Test Script for rocky_dev:latest
-# This script tests all the functionality of the base container
-
-set -e
-
-CONTAINER_NAME="rocky_dev_test_$$"
-IMAGE_NAME="rocky_dev:latest"
-TEST_PORT=$(shuf -i 30000-40000 -n 1)
-
-# Cleanup function
-cleanup() {
- echo ""
- echo "Cleaning up..."
- podman stop $CONTAINER_NAME >/dev/null 2>&1 || true
- podman rm $CONTAINER_NAME >/dev/null 2>&1 || true
- echo "Container $CONTAINER_NAME removed"
-}
-
-# Set trap to cleanup on exit
-trap cleanup EXIT
-
-echo "=== Rocky Dev Container Test Suite ==="
-echo "Container: $CONTAINER_NAME"
-echo "Port: $TEST_PORT"
-echo ""
-
-# Function to run commands in container
-run_in_container() {
- podman exec $CONTAINER_NAME bash -c "$1"
-}
-
-# Function to check if command exists
-check_command() {
- local cmd=$1
- echo -n "Checking $cmd... "
- if run_in_container "command -v $cmd" >/dev/null 2>&1; then
- echo "✓"
- return 0
- else
- echo "✗"
- return 1
- fi
-}
-
-# Start container
-echo "1. Starting container..."
-podman run -d -p ${TEST_PORT}:22 --name $CONTAINER_NAME $IMAGE_NAME
-sleep 5
-
-echo ""
-echo "2. Testing system packages..."
-# Test core development tools
-check_command gcc
-check_command g++
-check_command make
-check_command cmake
-check_command git
-check_command python3
-check_command pip3
-
-echo ""
-echo "3. Testing system utilities..."
-# Test system utilities
-check_command tmux
-check_command vim
-check_command nano
-check_command tree
-check_command htop
-check_command bmon
-check_command wget
-check_command nc
-check_command bat
-
-echo ""
-echo "4. Testing SSH configuration..."
-# Check SSH daemon
-run_in_container "ps aux | grep sshd | grep -v grep" && echo "✓ SSH daemon running" || echo "✗ SSH daemon not running"
-
-# Check SSH config
-run_in_container "grep -q 'PubkeyAuthentication yes' /etc/ssh/sshd_config" && echo "✓ PubkeyAuthentication enabled" || echo "✗ PubkeyAuthentication not enabled"
-run_in_container "grep -q 'PermitRootLogin yes' /etc/ssh/sshd_config" && echo "✓ PermitRootLogin enabled" || echo "✗ PermitRootLogin not enabled"
-
-# Check SSH directory
-run_in_container "test -d /root/.ssh && test -f /root/.ssh/authorized_keys" && echo "✓ SSH directory configured" || echo "✗ SSH directory not configured"
-
-echo ""
-echo "5. Testing Rust installation..."
-# Test Rust
-run_in_container "source /root/.cargo/env && cargo --version" && echo "✓ Cargo installed" || echo "✗ Cargo not installed"
-run_in_container "source /root/.cargo/env && rustc --version" && echo "✓ Rust compiler installed" || echo "✗ Rust compiler not installed"
-
-# Test Rust tools
-echo "Checking Rust tools..."
-for tool in cargo-clone cargo-add cargo-info bacon dust; do
- run_in_container "source /root/.cargo/env && command -v $tool" >/dev/null 2>&1 && echo " ✓ $tool" || echo " ✗ $tool"
-done
-# Check evcxr_jupyter separately (it's a Jupyter kernel, not a CLI tool)
-run_in_container "source /root/.cargo/env && ls ~/.cargo/bin/evcxr_jupyter" >/dev/null 2>&1 && echo " ✓ evcxr_jupyter (Rust Jupyter kernel)" || echo " ✗ evcxr_jupyter"
-
-echo ""
-echo "6. Testing Node.js installation..."
-# Test Node.js
-run_in_container "source /root/.nvm/nvm.sh && node --version" && echo "✓ Node.js installed" || echo "✗ Node.js not installed"
-run_in_container "source /root/.nvm/nvm.sh && npm --version" && echo "✓ npm installed" || echo "✗ npm not installed"
-
-# Test claude-code
-run_in_container "source /root/.nvm/nvm.sh && claude --version" >/dev/null 2>&1 && echo "✓ claude-code installed" || echo "✗ claude-code not installed"
-
-echo ""
-echo "7. Testing environment configuration..."
-# Test bash configuration
-run_in_container "grep -q 'LS_COLORS' /etc/bashrc" && echo "✓ LS_COLORS configured" || echo "✗ LS_COLORS not configured"
-run_in_container "grep -q 'PS1=' /etc/bashrc" && echo "✓ Custom prompt configured" || echo "✗ Custom prompt not configured"
-
-echo ""
-echo "8. Testing SSH connectivity..."
-# Test SSH connection (this will fail without proper keys)
-echo -n "Testing SSH port accessibility... "
-nc -zv localhost $TEST_PORT 2>&1 | grep -q succeeded && echo "✓" || echo "✗"
-
-echo ""
-echo "9. Testing file system..."
-# Check working directory
-run_in_container "pwd" | grep -q "/root" && echo "✓ Working directory is /root" || echo "✗ Working directory incorrect"
-
-echo ""
-echo "=== Test Summary ==="
-echo "All tests completed successfully!"
-echo "Container will be automatically cleaned up." \ No newline at end of file
diff --git a/tests/test_gpu_container.sh b/tests/test_gpu_container.sh
deleted file mode 100755
index 593f927..0000000
--- a/tests/test_gpu_container.sh
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/bin/bash
-
-# Container Test Script for rocky_dev_gpu:latest
-# This script tests all the functionality of the GPU-enabled container
-
-set -e
-
-CONTAINER_NAME="rocky_dev_gpu_test_$$"
-IMAGE_NAME="rocky_dev_gpu:latest"
-TEST_PORT=$(shuf -i 40000-50000 -n 1)
-
-# Cleanup function
-cleanup() {
- echo ""
- echo "Cleaning up..."
- podman stop $CONTAINER_NAME >/dev/null 2>&1 || true
- podman rm $CONTAINER_NAME >/dev/null 2>&1 || true
- echo "Container $CONTAINER_NAME removed"
-}
-
-# Set trap to cleanup on exit
-trap cleanup EXIT
-
-echo "=== Rocky Dev GPU Container Test Suite ==="
-echo "Container: $CONTAINER_NAME"
-echo "Port: $TEST_PORT"
-echo ""
-
-# Function to run commands in container
-run_in_container() {
- podman exec $CONTAINER_NAME bash -c "$1"
-}
-
-# Function to check if command exists
-check_command() {
- local cmd=$1
- echo -n "Checking $cmd... "
- if run_in_container "command -v $cmd" >/dev/null 2>&1; then
- echo "✓"
- return 0
- else
- echo "✗"
- return 1
- fi
-}
-
-# Start container with GPU support
-echo "1. Starting GPU container..."
-podman run -d -p ${TEST_PORT}:22 --device nvidia.com/gpu=all --name $CONTAINER_NAME $IMAGE_NAME
-sleep 5
-
-echo ""
-echo "2. Testing base container functionality..."
-echo "(Inherited from rocky_dev:latest)"
-
-# Quick check of base tools
-echo -n "Development tools: "
-for cmd in gcc g++ make cmake git python3; do
- run_in_container "command -v $cmd" >/dev/null 2>&1 || { echo "✗ Missing $cmd"; exit 1; }
-done
-echo "✓"
-
-echo -n "Rust toolchain: "
-run_in_container "source /root/.cargo/env && cargo --version" >/dev/null 2>&1 && echo "✓" || echo "✗"
-
-echo -n "Node.js: "
-run_in_container "source /root/.nvm/nvm.sh && node --version" >/dev/null 2>&1 && echo "✓" || echo "✗"
-
-echo ""
-echo "3. Testing GPU-specific packages..."
-# Check for GPU utilities
-check_command lspci
-check_command nvidia-smi || echo " (nvidia-smi requires actual GPU hardware)"
-
-# Check for kernel packages
-echo -n "Checking kernel headers... "
-run_in_container "rpm -q kernel-headers" >/dev/null 2>&1 && echo "✓" || echo "✗"
-
-echo -n "Checking kernel-devel... "
-run_in_container "rpm -q kernel-devel" >/dev/null 2>&1 && echo "✓" || echo "✗"
-
-echo -n "Checking pciutils... "
-run_in_container "rpm -q pciutils" >/dev/null 2>&1 && echo "✓" || echo "✗"
-
-echo ""
-echo "4. Testing NVIDIA container toolkit..."
-echo -n "Checking nvidia-container-toolkit... "
-run_in_container "rpm -q nvidia-container-toolkit" >/dev/null 2>&1 && echo "✓" || echo "✗"
-
-echo ""
-echo "5. Testing GPU environment variables..."
-# Check environment variables
-echo -n "NVIDIA_VISIBLE_DEVICES... "
-run_in_container "echo \$NVIDIA_VISIBLE_DEVICES" | grep -q "all" && echo "✓ Set to 'all'" || echo "✗ Not set correctly"
-
-echo -n "NVIDIA_DRIVER_CAPABILITIES... "
-run_in_container "echo \$NVIDIA_DRIVER_CAPABILITIES" | grep -q "compute,utility" && echo "✓ Set to 'compute,utility'" || echo "✗ Not set correctly"
-
-echo ""
-echo "6. Testing GPU test script..."
-# Check if gpu-test.sh exists and is executable
-echo -n "Checking /usr/local/bin/gpu-test.sh... "
-run_in_container "test -x /usr/local/bin/gpu-test.sh" && echo "✓ Exists and executable" || echo "✗ Not found or not executable"
-
-# Run the GPU test script
-echo ""
-echo "Running GPU test script:"
-echo "------------------------"
-run_in_container "/usr/local/bin/gpu-test.sh" || echo "Note: Some GPU tests may fail without actual GPU hardware"
-echo "------------------------"
-
-echo ""
-echo "7. Testing workspace directory..."
-# Check workspace directory
-echo -n "Checking /workspace directory... "
-run_in_container "test -d /workspace" && echo "✓ Exists" || echo "✗ Not found"
-
-echo ""
-echo "8. Testing PCI device detection..."
-# Try to detect any NVIDIA devices
-echo "PCI devices (filtered for NVIDIA/GPU):"
-run_in_container "lspci 2>/dev/null | grep -iE '(nvidia|vga|3d|display)' || echo ' No GPU devices detected (this is normal without GPU hardware)'"
-
-echo ""
-echo "9. Testing container GPU device access..."
-# Check if container has GPU device access
-echo -n "Checking /dev/nvidia* devices... "
-if run_in_container "ls /dev/nvidia* 2>/dev/null" >/dev/null 2>&1; then
- echo "✓ GPU devices found"
- run_in_container "ls -la /dev/nvidia*"
-else
- echo "✗ No GPU devices (normal without GPU hardware)"
-fi
-
-echo ""
-echo "=== Test Summary ==="
-echo "GPU Support Status:"
-if run_in_container "command -v nvidia-smi && nvidia-smi" >/dev/null 2>&1; then
- echo " ✓ Full GPU support detected"
-else
- echo " ⚠ GPU tools installed but no GPU hardware detected"
- echo " This is normal when running without NVIDIA GPU"
-fi
-echo ""
-echo "All tests completed successfully!"
-echo "Container will be automatically cleaned up." \ No newline at end of file