From 8f18b8c56bee84a901da691878c82eba2411abbc Mon Sep 17 00:00:00 2001 From: zjregee Date: Sun, 18 Aug 2024 20:38:02 +0800 Subject: [PATCH] feat: update ci --- .github/scripts/behavior_test.py | 30 +++++++++++++++++++++++++++ .github/scripts/install_and_run_vm.sh | 7 ++++--- .github/workflows/behavior_test.yml | 7 ++++++- 3 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 .github/scripts/behavior_test.py diff --git a/.github/scripts/behavior_test.py b/.github/scripts/behavior_test.py new file mode 100644 index 0000000..af5fb66 --- /dev/null +++ b/.github/scripts/behavior_test.py @@ -0,0 +1,30 @@ +import paramiko +import time + +hostname = "localhost" +port = 2222 +username = "ubuntu" +password = "ubuntu" + +ssh = paramiko.SSHClient() +ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + +# Wait for the VM to boot. +time.sleep(5 * 60) + +try: + ssh.connect(hostname=hostname, port=port, username=username, password=password) + sudo_command = "sudo -S mount -t virtiofs myfs /mnt" + + stdin, stdout, stderr = ssh.exec_command(sudo_command) + + stdin.write(password + '\n') + stdin.flush() + + output = stdout.read().decode('utf-8') + errors = stderr.read().decode('utf-8') + + print("mount done") + +finally: + ssh.close() diff --git a/.github/scripts/install_and_run_vm.sh b/.github/scripts/install_and_run_vm.sh index bc21058..7f12835 100755 --- a/.github/scripts/install_and_run_vm.sh +++ b/.github/scripts/install_and_run_vm.sh @@ -24,8 +24,9 @@ sudo qemu-system-x86_64 -enable-kvm -smp 2 -m 4G \ sudo umount /mnt/ubuntu-iso sudo rm -rf /mnt/ubuntu-iso -sudo qemu-system-x86_64 -M pc -cpu host --enable-kvm -smp 2 \ +sudo qemu-system-x86_64 --enable-kvm -smp 2 \ -m 4G -object memory-backend-file,id=mem,size=4G,mem-path=/dev/shm,share=on -numa node,memdev=mem \ -chardev socket,id=char0,path=/tmp/vfsd.sock -device vhost-user-fs-pci,queue-size=1024,chardev=char0,tag=myfs \ - -chardev stdio,mux=on,id=mon -mon chardev=mon,mode=readline -device virtio-serial-pci -device virtconsole,chardev=mon -vga none -display none \ - -drive file=image.img,format=raw,cache=none,if=virtio + -drive file=image.img,format=raw,cache=none,if=virtio \ + -net user,hostfwd=tcp::2222-:22 -net nic \ + -nographic -boot c diff --git a/.github/workflows/behavior_test.yml b/.github/workflows/behavior_test.yml index ba0b2c8..8fad1e6 100644 --- a/.github/workflows/behavior_test.yml +++ b/.github/workflows/behavior_test.yml @@ -21,5 +21,10 @@ jobs: chmod +x ./build_and_run_ovfs.sh chmod +x ./install_and_run_vm.sh nohup ./build_and_run_ovfs.sh & - ./install_and_run_vm.sh + nohup ./install_and_run_vm.sh & + working-directory: .github/scripts + + - name: Run Behavior Test + run: | + python behavior_test.py working-directory: .github/scripts