From 42f032095650885151163067ffd53a6529855fba Mon Sep 17 00:00:00 2001 From: John Estabrook Date: Tue, 27 Oct 2020 08:12:18 -0500 Subject: smoketest: T3003: extend framework to load arbitrary config file --- Makefile | 11 ++++++- scripts/check-qemu-install | 78 +++++++++++++++++++++++++++++++--------------- 2 files changed, 63 insertions(+), 26 deletions(-) diff --git a/Makefile b/Makefile index 4f96834a..f0c870d3 100644 --- a/Makefile +++ b/Makefile @@ -239,6 +239,15 @@ testd: fi scripts/check-qemu-install --debug --configd build/live-image-amd64.hybrid.iso +.PHONY: testc +.ONESHELL: +testc: + if [ ! -f build/live-image-amd64.hybrid.iso ]; then + echo "Could not find build/live-image-amd64.hybrid.iso" + exit 1 + fi + scripts/check-qemu-install --debug --configd --configtest build/live-image-amd64.hybrid.iso + .PHONY: clean .ONESHELL: clean: @@ -262,4 +271,4 @@ clean: .PHONY: purge purge: - rm -rf build packer_build packer_cache \ No newline at end of file + rm -rf build packer_build packer_cache diff --git a/scripts/check-qemu-install b/scripts/check-qemu-install index 77b65c9e..2632a5e4 100755 --- a/scripts/check-qemu-install +++ b/scripts/check-qemu-install @@ -71,6 +71,9 @@ parser.add_argument('--no-kvm', help='Disable use of kvm', parser.add_argument('--configd', help='Execute testsuite with config daemon', action='store_true', default=False) +parser.add_argument('--configtest', help='Execute load/commit config tests', + action='store_true', + default=False) args = parser.parse_args() @@ -315,31 +318,56 @@ try: ################################################# log.info("Executing test-suite ") - c.sendline('/usr/bin/vyos-smoketest') - i = c.expect(['\n +Invalid command:', - '\n +Set failed', - 'No such file or directory', - r'\n\S+@\S+[$#]'], timeout=3600) - - if i==0: - raise Exception('Invalid command detected') - elif i==1: - raise Exception('Set syntax failed :/') - elif i==2: - log.error("Did not find VyOS smoketest, this should be an exception") - raise Exception("WTF? did not find VyOS smoketest, this should be an exception") - - c.sendline('echo EXITCODE:$\x16?') - i = c.expect(['EXITCODE:0', 'EXITCODE:\d+'], timeout=10) - if i==0: - log.info('Smoketest finished successfully!') - pass - if i==1: - log.error('Smoketest failed :/') - raise Exception("Smoketest-failed, please look into debug output") - - #log.info("Smoke test status") - #data = c.before.decode() + # run default smoketest suite + if not args.configtest: + c.sendline('/usr/bin/vyos-smoketest') + i = c.expect(['\n +Invalid command:', + '\n +Set failed', + 'No such file or directory', + r'\n\S+@\S+[$#]'], timeout=3600) + + if i==0: + raise Exception('Invalid command detected') + elif i==1: + raise Exception('Set syntax failed :/') + elif i==2: + log.error("Did not find VyOS smoketest, this should be an exception") + raise Exception("WTF? did not find VyOS smoketest, this should be an exception") + + c.sendline('echo EXITCODE:$\x16?') + i = c.expect(['EXITCODE:0', 'EXITCODE:\d+'], timeout=10) + if i==0: + log.info('Smoketest finished successfully!') + pass + if i==1: + log.error('Smoketest failed :/') + raise Exception("Smoketest-failed, please look into debug output") + + #log.info("Smoke test status") + #data = c.before.decode() + + # else, run configtest suite + else: + log.info("Executing load config tests") + c.sendline('/usr/bin/vyos-configtest') + i = c.expect(['\n +Invalid command:', + 'No such file or directory', + r'\n\S+@\S+[$#]'], timeout=3600) + + if i==0: + raise Exception('Invalid command detected') + elif i==1: + log.error("Did not find VyOS configtest, this should be an exception") + raise Exception("WTF? did not find VyOS configtest, this should be an exception") + + c.sendline('echo EXITCODE:$\x16?') + i = c.expect(['EXITCODE:0', 'EXITCODE:\d+'], timeout=10) + if i==0: + log.info('Configtest finished successfully!') + pass + if i==1: + log.error('Configtest failed :/') + raise Exception("Configtest failed, please look into debug output") ################################################# # Powering off system -- cgit v1.2.3