From 4727dc17566a85eb15c95ac97511bf6452352adb Mon Sep 17 00:00:00 2001 From: sarthurdev <965089+sarthurdev@users.noreply.github.com> Date: Sat, 9 Sep 2023 20:01:58 +0200 Subject: smoketest: Allow selection of smoketests to run Example: `make test MATCH="interfaces|policy"` will only run interfaces and policy tests --- Makefile | 4 ++-- scripts/check-qemu-install | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 74b17c7c..5ba003d0 100644 --- a/Makefile +++ b/Makefile @@ -32,12 +32,12 @@ checkiso: .PHONY: test .ONESHELL: test: checkiso - scripts/check-qemu-install --debug --uefi build/live-image-amd64.hybrid.iso + scripts/check-qemu-install --debug --match="$(MATCH)" --uefi build/live-image-amd64.hybrid.iso .PHONY: test-no-interfaces .ONESHELL: test-no-interfaces: checkiso - scripts/check-qemu-install --debug --no-interfaces build/live-image-amd64.hybrid.iso + scripts/check-qemu-install --debug --match="$(MATCH)" --no-interfaces build/live-image-amd64.hybrid.iso .PHONY: testd .ONESHELL: diff --git a/scripts/check-qemu-install b/scripts/check-qemu-install index fabe8fbb..82c20ed3 100755 --- a/scripts/check-qemu-install +++ b/scripts/check-qemu-install @@ -63,6 +63,7 @@ parser.add_argument('--silent', help='Do not show output on stdout unless an err parser.add_argument('--debug', help='Send all debug output to stdout', action='store_true', default=False) parser.add_argument('--logfile', help='Log to file') +parser.add_argument('--match', help='Smoketests to run') parser.add_argument('--uefi', help='Boot using UEFI', action='store_true', default=False) parser.add_argument('--raid', help='Perform a RAID-1 install', action='store_true', default=False) parser.add_argument('--no-kvm', help='Disable use of kvm', action='store_true', default=False) @@ -486,6 +487,11 @@ try: elif not args.configtest: # run default smoketest suite + if args.match: + # Remove tests that we don't want to run + match_str = '-o '.join([f'-name "test_*{name}*.py" ' for name in args.match.split("|")]).strip() + c.sendline(f'sudo find /usr/libexec/vyos/tests/smoke/cli/test_* -type f ! \( {match_str} \) -delete') + c.expect(op_mode_prompt) if args.no_interfaces: # remove interface tests as they consume a lot of time c.sendline('sudo rm -f /usr/libexec/vyos/tests/smoke/cli/test_interfaces_*') -- cgit v1.2.3 From d9e93d73535fd8ed8974605e355b5890fcdacd4b Mon Sep 17 00:00:00 2001 From: sarthurdev <965089+sarthurdev@users.noreply.github.com> Date: Thu, 14 Sep 2023 16:27:17 +0200 Subject: live: T5568: Add serial boot option to live ISO --- .../hooks/live/01-live-serial.binary | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 data/live-build-config/hooks/live/01-live-serial.binary diff --git a/data/live-build-config/hooks/live/01-live-serial.binary b/data/live-build-config/hooks/live/01-live-serial.binary new file mode 100755 index 00000000..e138b20d --- /dev/null +++ b/data/live-build-config/hooks/live/01-live-serial.binary @@ -0,0 +1,31 @@ +#!/bin/sh + +GRUB_PATH=boot/grub/grub.cfg +ISOLINUX_PATH=isolinux/live.cfg + +KVM_CONSOLE="console=ttyS0,115200 console=tty0" +SERIAL_CONSOLE="console=tty0 console=ttyS0,115200" + +# Grub.cfg Update +GRUB_MENUENTRY=$(sed -e '/menuentry.*hotkey.*/,/^}/!d' -e 's/--hotkey=l//g' $GRUB_PATH) + +# Update KVM menuentry name +sed -i 's/"Live system \((.*-vyos)\)"/"Live system \1 - KVM console"/' $GRUB_PATH + +# Insert serial menuentry +echo "$GRUB_MENUENTRY" | sed \ + -e 's/"Live system \((.*-vyos)\)"/"Live system \1 - Serial console"/' \ + -e "s/$KVM_CONSOLE/$SERIAL_CONSOLE/g" >> $GRUB_PATH + +# Live.cfg Update +ISOLINUX_MENUENTRY=$(sed -e '/label live-\(.*\)-vyos$/,/^\tappend.*/!d' $ISOLINUX_PATH) + +# Update KVM menuentry name +sed -i 's/Live system \((.*-vyos)\)/Live system \1 - KVM console/' $ISOLINUX_PATH + +# Insert serial menuentry +echo "\n$ISOLINUX_MENUENTRY" | sed \ + -e 's/live-\(.*\)-vyos/live-\1-vyos-serial/' \ + -e '/^\tmenu default/d' \ + -e 's/Live system \((.*-vyos)\)/Live system \1 - Serial console/' \ + -e "s/$KVM_CONSOLE/$SERIAL_CONSOLE/g" >> $ISOLINUX_PATH -- cgit v1.2.3