diff options
| author | nodist <kevin.comas.git@gmail.com> | 2026-09-17 14:00:41 -0400 |
|---|---|---|
| committer | nodist <kevin.comas.git@gmail.com> | 2026-09-17 14:00:41 -0400 |
| commit | 2ff1b10b9e42fad82334b13390a49311990a69e4 (patch) | |
| tree | bd1c803c1346630607afc8677287c1399d6b1558 | |
| parent | 39ed69c0663cab7f6a2d01bcb02cce69c806a08c (diff) | |
test full setup, sync, exec
| -rw-r--r-- | TESTING | 6 | ||||
| -rw-r--r-- | test/test.c | 2 | ||||
| -rwxr-xr-x | vm.sh | 71 |
3 files changed, 49 insertions, 30 deletions
@@ -69,6 +69,10 @@ Stopping: Cleaning: -./vm.sh -clean # Remove the testing environment +./vm.sh -clean # Remove test files on each machine + +Destroying: + +./vm.sh -destroy # Remove the qemu testing directory --- diff --git a/test/test.c b/test/test.c index c0ef935..97af6a4 100644 --- a/test/test.c +++ b/test/test.c @@ -143,7 +143,7 @@ int32_t main(int32_t argc, char *argv[]) { KPL_TEST(test_pass_by_default) { // Pass by default // Uncomment below to f ail - KPL_FAIL("Failure Message"); + // KPL_FAIL("Failure Message"); } KPL_TEST(test_counting) { @@ -141,9 +141,9 @@ vm_start() { fi return fi - for NAME in "${NAMES[@]}" + for MACHINE in "${NAMES[@]}" do - vm_boot $NAME "-display" "none" "-daemonize" + vm_boot $MACHINE "-display" "none" "-daemonize" done } @@ -170,9 +170,13 @@ vm_cmd() { "${SSH_OPTIONS[@]}" "$USER@$HOST" $2 } +vm_ssh_add() { + ssh-add "$USER/$USER" &> /dev/null +} + vm_ssh() { vm_dir_check - ssh-add "$USER/$USER" &> /dev/null + vm_ssh_add vm_cmd $VM } @@ -186,18 +190,16 @@ vm_rsync_machine() { fi local SSH_OPTIONS=() vm_ssh_options $MACHINE SSH_OPTIONS - SSH_STRING="${SSH_OPTIONS[@]}" local CMD=( "rsync" "-avz" - "-e" "$SSH_STRING" + "-e" "${SSH_OPTIONS[*]}" "--include-from=$DIR/$RSYNC_LIST" "--exclude=*" "$PWD/" "$USER@$HOST:/home/$USER" ) - echo "${CMD[*]}" - ssh-add "$DIR/$USER/$USER" &> /dev/null + vm_ssh_add "${CMD[@]}" } @@ -207,9 +209,9 @@ vm_sync() { vm_rsync_machine $VM return fi - for NAME in "${NAMES[@]}" + for MACHINE in "${NAMES[@]}" do - vm_rsync_machine $NAME + vm_rsync_machine $MACHINE done } @@ -226,19 +228,19 @@ vm_test() { return fi local -A TEST_STATUS=([$X64]=0 [$A64]=0) - for NAME in "${NAMES[@]}" + for MACHINE in "${NAMES[@]}" do - vm_rsync_machine $NAME - vm_test_cmd $NAME - TEST_STATUS[$NAME]=$? + vm_rsync_machine $MACHINE + vm_test_cmd $MACHINE + TEST_STATUS[$MACHINE]=$? done - for NAME in "${NAMES[@]}" + for MACHINE in "${NAMES[@]}" do - if [[ ${TEST_STATUS[$NAME]} != 0 ]] + if [[ "${TEST_STATUS[$MACHINE]}" != 0 ]] then - echo "----------------------------" - echo " MACHINE $NAME FAILED TESTS" - echo "----------------------------" + echo "-----------------------" + echo " VM $MACHINE FAILED TESTS" + echo "-----------------------" fi done } @@ -248,45 +250,55 @@ vm_stop() { vm_dir_check if [[ "$ACTION" != "KILL" ]] then - ssh-add "$USER/$USER" &> /dev/null + vm_ssh_add fi - for NAME in "${NAMES[@]}" + for MACHINE in "${NAMES[@]}" do - local PID_FILE="${PID_FILES[$NAME]}" + local PID_FILE="${PID_FILES[$MACHINE]}" if [[ -f "$PID_FILE" ]] then if [[ "$ACTION" == "KILL" ]] then kill $(cat $PID_FILE) - echo "VM $NAME force stop" + echo "VM $MACHINE force stop" else - vm_cmd $NAME "sudo poweroff" - echo "VM $NAME powering off" + vm_cmd $MACHINE "sudo poweroff" + echo "VM $MACHINE powering off" fi fi done } vm_clean() { + vm_ssh_add + for MACHINE in "${NAMES[@]}" + do + vm_cmd $MACHINE "make clean; find -type f -regex '^.*\.[ch]' -exec rm -v {} \;" + done +} + +vm_destroy() { if [[ ! -d "$DIR" ]] then return fi local CHOICE - read -n 1 -r -s -p "Are you sure? y/n " CHOICE + read -n 1 -r -p "Are you sure? [y/n] " CHOICE if [[ "$CHOICE" != "y" ]] then echo return fi + echo vm_stop "KILL" - rm -r $DIR - echo -e "\nRemoved $DIR directory" + cd .. + rm -rf $DIR + echo -e "Removed $DIR directory" } vm_help() { echo "See TESTING" - echo "Usage $SCRIPT -init|-setup|-cli|-start|-ssh|-sync|-test|-stop|-kill|-clean|-help" + echo "Usage $SCRIPT -init|-setup|-cli|-start|-ssh|-sync|-test|-stop|-kill|-clean|-destroy|-help" } case $OPTION in @@ -320,6 +332,9 @@ case $OPTION in -clean) vm_clean ;; + -destroy) + vm_destroy + ;; *) vm_help ;; |
