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