This file contains a comprehensive list of commands to test every single feature implemented in the HOWK shell. Follow these in order for a full system validation.
Test basic shell movement and information.
help # Display available builtins
history # Show command history
pwd # Check current directory (via external)
ls # Basic external command
cd Sample # Change directory to Sample/
ls # Verify directory change
cd .. # Return to root
cd # Go to $HOME
cd - # (Note: HOWK might not support -, but good to test)Test how the shell handles standard I/O hijacking.
echo "Hello HOWK" > test.txt # Overwrite redirection
cat test.txt # Verify content
echo "Line 2" >> test.txt # Append redirection
cat test.txt # Verify both lines
wc -l < test.txt # Input redirection
cat < test.txt > copy.txt # Simultaneous < and >
ls -la > files.txt # Redirecting output of a complex commandTest Inter-Process Communication using kernel buffers.
ls -la | grep ".c" # Single pipe
ls -la | grep ".c" | wc -l # Double pipe
cat Makefile | grep "gcc" | sort -r # Triple pipe
ls | grep "src" | wc -c > count.txt # Pipeline + RedirectionTest non-blocking execution and process tracking.
sleep 10 BG # Run in background
JOB # Check the job tracker list
onTop 1 # Bring job 1 to foreground (wait for it)
sleep 20 BG # Start another
# Wait 2 seconds...
# Press Ctrl+Z (if supported) or just let it run
onBottom 2 # Ensure it continues in backgroundTest the advanced resource management features.
tpool 2 # Initialize pool with 2 workers
JOB # See pool status
# Fill the pool with two 10s tasks
sleep 10 BG # Job 1 (Priority 1, 1 thread)
sleep 10 BG # Job 2 (Priority 1, 1 thread)
# These will now QUEUE up
sleep 5 priority=2 BG # Job 3 (Low Priority)
sleep 5 priority=0 BG # Job 4 (High Priority)
JOB # Observe Job 4 is ABOVE Job 3 in the queue
# Wait for workers to finish...
# Job 4 will be picked up BEFORE Job 3!Test the shell's ability to manage thread slots.
tpool 4 # 4 workers available
sleep 10 threads=4 BG # This job claims ALL 4 threads
ls threads=1 BG # This job will WAIT because slots are 0
JOB # See THR: 4 and T-ID showing busy statusTest how the shell reacts to bad input.
non_existent_command # Should show 'execvp failed'
ls | # Should show parse error
cat < missing_file.txt # Should show redirection error
cd /non/existent/path # Should show chdir error
tpool -1 # Should show invalid thread count
JOB # (With no jobs) should say "No active jobs"exit # Shut down threadpool and exit shell