scripts/qemu.py | 112 +++-- scripts/qmp/qmp.py | 16 +- scripts/validator.py | 724 +++++++++++++++++++++++++++++++++ tests/validator/cpu.yaml | 5 + tests/validator/device-add.yaml | 17 + tests/validator/device-crash-test.yaml | 7 + tests/validator/device-help.yaml | 3 + tests/validator/device-introspect.yaml | 23 ++ tests/validator/device-list.yaml | 10 + tests/validator/just-help.yaml | 3 + 10 files changed, 876 insertions(+), 44 deletions(-) create mode 100755 scripts/validator.py create mode 100644 tests/validator/cpu.yaml create mode 100644 tests/validator/device-add.yaml create mode 100644 tests/validator/device-crash-test.yaml create mode 100644 tests/validator/device-help.yaml create mode 100644 tests/validator/device-introspect.yaml create mode 100644 tests/validator/device-list.yaml create mode 100644 tests/validator/just-help.yaml
Rationale --------- Today we have a few test cases in the QEMU tree that just run QEMU with a few command-line options, run some QMP or HMP commands, and check if QEMU didn't crash. Some examples: * scripts/device-crash-test * The test case suggested by Thomas at: Subject: [RFC PATCH] tests: Add a device_add/del HMP test * Some test cases in tests/device-introspect-test.c * tests/cpu-plug-test.c * tests/display-vga-test.c * tests/drive_del-test.c * tests/machine-none-test.c * tests/test-hmp.c * Some device test skeletons: ac97-test.c, e1000-test.c, eepro100-test.c, es1370-test.c, i82801b11-test.c, intel-hda-test.c, ioh3420-test.c, ipoctal232-test.c, ne2000-test.c, nvme-test.c, pcnet-test.c, spapr-phb-test.c, test-netfilter.c, tpci200-test.c, usb-hcd-ohci-test.c, usb-hcd-xhci-test.c, virtio-balloon-test.c, virtio-console-test.c, virtio-serial-test.c, vmxnet3-test.c. All of those test cases require lots of boilerplate code just to run some combinations of QEMU command-line options and monitor commands. In addition to that, writing and reviewing test code like the examples above is more complex than it could be. Some past examples from qemu-devel: * Subject: [RFC 5/6] device-crash-test: Basic device_add support * Subject: [RFC 6/6] device-crash-test: Multi-device device_add test * Subject: [RFC PATCH] tests/device-introspect: Test devices with all machines, not only with "none" The Proposal ------------ This series introduces the scripts/validator.py test runner, and a set of example test specifications in tests/validator. Each test specification is a YAML file containing the QEMU command-line and monitor commands to run, and can contain variables like $MACHINE, $DEVICE, $CPU, that can be expanded automatically by the test runner. This way, scripts/device-crash-test can be replaced by a one-line test specification: command-line: '$QEMU -S -machine $MACHINE,accel=$ACCEL -device $DEVICE' The device_add/device_del test case written by Thomas can be specified as: command-line: '$QEMU -S -machine $MACHINE,accel=$ACCEL' monitor-commands: - qmp: - execute: 'device_add' arguments: driver: '$DEVICE' id: 'test-device-for-$DEVICE' - execute: 'device_del' arguments: id: 'test-device-for-$DEVICE' and the test runner will take care of running test cases with with all valid machine-types, device-types, and accelerators. For other examples, see the last patch in this series ("Collection of validator.py test cases"). Most of the examples replace existing C or Python test cases with simple declarative test specifications. I expect this to be very useful when somebody is fixing a QEMU crash and just want to add a very simple reproducer to ensure the crash will never be introduced again. (I actually suggest we _require_ people to include a tests/validator test specifications every time they fix a crash that can be reproduced using just QMP commands). Features -------- Current features: * Automatic variable expansion, as described above * A simple method to specify defaults (e.g. to test only "-machine none" or only "accel=kvm:tcg" unless running in --full mode) * A simple method to represent expected failures (it can't replace the device-crash-test whitelist mechanism, yet) Caveats ------- The test runner code still needs some clean up. I'm not happy with the current variable enumeration/expansion code, and plan to make it cleaner. How to test ----------- You can run all example test cases on /usr/bin/qemu-system-x86_64 with: $ ./scripts/validator.py tests/validator/* -V QEMU=/usr/bin/qemu-system-x86_64 However, the device-crash-test.yaml test specification still takes too long to run and reports too many false positives. So I suggest doing this instead: $ ./scripts/validator.py $(ls tests/validator/* | grep -v device-crash-test) \ -V QEMU=/usr/bin/qemu-system-x86_64 On my system, this runs ~700 test cases in ~15 seconds. What's out of scope? -------------------- The following are _not_ goals of this system: * Replacing the work done by the Avocado team to support Avocado-based tests. * Making the YAML test specification a fully-featured imperative language. Anything that requires extra logic still needs to be written in C or Python. Future Plans ------------ Short term: * Choose a better name for the test runner * Support a list of known-failures similar to the whitelist in device-crash-test. * Replace device-crash-test completely * "make check" rules Long term: * stdout and QMP command output validation. I plan to use this to write machine-type/guest-ABI compatibility test cases that will detect guest ABI breakage as soon as possible. * See if the Avocado multiplexer API can be used to implement variable expansion. * See if we can make some of the features (e.g. automatic variable expansion) available to Python test cases * Fuzzing QMP commands and QEMU command-line arguments. * See if code can be shared with the iotests test runner (especially the variable expansion logic) Eduardo Habkost (18): qmp.py: Make it safe to call close() any time qmp.py: Fix error handling for Python 3 qmp.py: Cleanly handle unexpectedly closed socket qemu.py: Make _vm_monitor a method qemu.py: Split _base_args() qemu.py: Move _load_io_log() call to _post_shutdown() qemu.py: Use wait() logic inside shutdown() qemu.py: Close _qmp inside _post_shutdown() qemu.py: Make monitor optional qemu.py: Set _launched = False on _post_shutdown qemu.py: Log crashes inside _post_shutdown() qemu.py: Only wait for process if it's still running qemu.py: 'force' parameter on shutdown() qemu.py: Don't try to quit cleanly on exceptions qemu.py: qmp_obj() method qemu.py: is_launched() method validator.py script Collection of validator.py test cases scripts/qemu.py | 112 +++-- scripts/qmp/qmp.py | 16 +- scripts/validator.py | 724 +++++++++++++++++++++++++++++++++ tests/validator/cpu.yaml | 5 + tests/validator/device-add.yaml | 17 + tests/validator/device-crash-test.yaml | 7 + tests/validator/device-help.yaml | 3 + tests/validator/device-introspect.yaml | 23 ++ tests/validator/device-list.yaml | 10 + tests/validator/just-help.yaml | 3 + 10 files changed, 876 insertions(+), 44 deletions(-) create mode 100755 scripts/validator.py create mode 100644 tests/validator/cpu.yaml create mode 100644 tests/validator/device-add.yaml create mode 100644 tests/validator/device-crash-test.yaml create mode 100644 tests/validator/device-help.yaml create mode 100644 tests/validator/device-introspect.yaml create mode 100644 tests/validator/device-list.yaml create mode 100644 tests/validator/just-help.yaml -- 2.14.3
Hi, This series seems to have some coding style problems. See output below for more information: Type: series Message-id: 20180329213857.15499-1-ehabkost@redhat.com Subject: [Qemu-devel] [RFC 00/18] QEMU validator: A method to specify QEMU crash-test cases === TEST SCRIPT BEGIN === #!/bin/bash BASE=base n=1 total=$(git log --oneline $BASE.. | wc -l) failed=0 git config --local diff.renamelimit 0 git config --local diff.renames True git config --local diff.algorithm histogram commits="$(git log --format=%H --reverse $BASE..)" for c in $commits; do echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..." if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then failed=1 echo fi n=$((n+1)) done exit $failed === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 From https://github.com/patchew-project/qemu t [tag update] patchew/20180330170209.20627-1-rkagan@virtuozzo.com -> patchew/20180330170209.20627-1-rkagan@virtuozzo.com * [new tag] patchew/20180330195928.15607-1-jcmvbkbc@gmail.com -> patchew/20180330195928.15607-1-jcmvbkbc@gmail.com Switched to a new branch 'test' 0fdb1a2f05 Collection of validator.py test cases 962c7b9a45 validator.py script 11125125d8 qemu.py: is_launched() method e7b9360fc7 qemu.py: qmp_obj() method 04f1d03e56 qemu.py: Don't try to quit cleanly on exceptions b504207869 qemu.py: 'force' parameter on shutdown() 9cfedb7337 qemu.py: Only wait for process if it's still running 8c7e843d6e qemu.py: Log crashes inside _post_shutdown() 992c1b6bb2 qemu.py: Set _launched = False on _post_shutdown 9e4bcb4215 qemu.py: Make monitor optional 4d78dabfe2 qemu.py: Close _qmp inside _post_shutdown() 3937ce28e2 qemu.py: Use wait() logic inside shutdown() c2b5140e3d qemu.py: Move _load_io_log() call to _post_shutdown() a20254c9e0 qemu.py: Split _base_args() bb5e609a6b qemu.py: Make _vm_monitor a method a571feea0c qmp.py: Cleanly handle unexpectedly closed socket 9a92759c0c qmp.py: Fix error handling for Python 3 1f8f56095d qmp.py: Make it safe to call close() any time === OUTPUT BEGIN === Checking PATCH 1/18: qmp.py: Make it safe to call close() any time... Checking PATCH 2/18: qmp.py: Fix error handling for Python 3... Checking PATCH 3/18: qmp.py: Cleanly handle unexpectedly closed socket... Checking PATCH 4/18: qemu.py: Make _vm_monitor a method... Checking PATCH 5/18: qemu.py: Split _base_args()... Checking PATCH 6/18: qemu.py: Move _load_io_log() call to _post_shutdown()... Checking PATCH 7/18: qemu.py: Use wait() logic inside shutdown()... Checking PATCH 8/18: qemu.py: Close _qmp inside _post_shutdown()... Checking PATCH 9/18: qemu.py: Make monitor optional... Checking PATCH 10/18: qemu.py: Set _launched = False on _post_shutdown... Checking PATCH 11/18: qemu.py: Log crashes inside _post_shutdown()... Checking PATCH 12/18: qemu.py: Only wait for process if it's still running... Checking PATCH 13/18: qemu.py: 'force' parameter on shutdown()... Checking PATCH 14/18: qemu.py: Don't try to quit cleanly on exceptions... Checking PATCH 15/18: qemu.py: qmp_obj() method... Checking PATCH 16/18: qemu.py: is_launched() method... Checking PATCH 17/18: validator.py script... WARNING: line over 80 characters #188: FILE: scripts/validator.py:169: + self.alldevs = qom_type_names(vm, implements='device', abstract=False) WARNING: line over 80 characters #191: FILE: scripts/validator.py:172: + self.no_user_devs = [d['name'] for d in info_qdm(vm, ) if d['no-user']] WARNING: line over 80 characters #193: FILE: scripts/validator.py:174: + self.user_devs = [dev for dev in self.alldevs if dev not in self.no_user_devs] WARNING: line over 80 characters #195: FILE: scripts/validator.py:176: + self.cpu_models = [c['name'] for c in vm.command('query-cpu-definitions')] ERROR: line over 90 characters #301: FILE: scripts/validator.py:282: + >>> list(tc) == [{'a':[i], 'b':[j], 'c':[100, 200, 300]} for i in [1,2] for j in [10, 20]] ERROR: line over 90 characters #362: FILE: scripts/validator.py:343: + self._vars = dict((v, getattr(BuiltinVars, v)()) for v in dir(BuiltinVars) if not v.startswith('_')) WARNING: line over 80 characters #372: FILE: scripts/validator.py:353: + Default values override the values returned by VariableDefinition.enumerate() WARNING: line over 80 characters #392: FILE: scripts/validator.py:373: + """Return full list of variables, including dependencies in the right order ERROR: line over 90 characters #411: FILE: scripts/validator.py:392: + raise Exception("Variable dependency cycle: %s" % (' -> '.join(vars.keys()))) ERROR: line over 90 characters #530: FILE: scripts/validator.py:511: + vars = vars_for_template(self.get('command-line')) + vars_for_template(self.get('monitor-commands')) WARNING: line over 80 characters #548: FILE: scripts/validator.py:529: + return ' '.join('%s=%s' % (k, shquote(v)) for k,v in self.values.items()) WARNING: line over 80 characters #588: FILE: scripts/validator.py:569: + raise InvalidSpecification("Invalid monitor command: %r: %r" % (k, v)) ERROR: line over 90 characters #688: FILE: scripts/validator.py:669: + help="Run all test case combinations, not just the default for the test specification") ERROR: line over 90 characters #702: FILE: scripts/validator.py:683: + logging.basicConfig(stream=sys.stdout, level=args.loglevel, format='%(levelname)s: %(message)s') total: 6 errors, 8 warnings, 724 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 18/18: Collection of validator.py test cases... === OUTPUT END === Test command exited with code: 1 --- Email generated automatically by Patchew [http://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
Hi, This series failed docker-build@min-glib build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. N/A. Internal error while reading log file --- Email generated automatically by Patchew [http://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
[/var]/tmp full due to some jobs not cleaning well their workspaces? On 03/31/2018 06:04 AM, no-reply@patchew.org wrote: > Hi, > > This series failed docker-build@min-glib build test. Please find the testing commands and > their output below. If you have Docker installed, you can probably reproduce it > locally. > > N/A. Internal error while reading log file > > > > --- > Email generated automatically by Patchew [http://patchew.org/]. > Please send your feedback to patchew-devel@redhat.com > _______________________________________________ Patchew-devel mailing list Patchew-devel@redhat.com https://www.redhat.com/mailman/listinfo/patchew-devel
On Mon, Apr 2, 2018 at 7:10 AM, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: > [/var]/tmp full due to some jobs not cleaning well their workspaces? Somehow our "make check" now keeps hanging in the container, preventing it from being cleaned up correctly... Will try to find time for it this week. Fam > > On 03/31/2018 06:04 AM, no-reply@patchew.org wrote: >> Hi, >> >> This series failed docker-build@min-glib build test. Please find the testing commands and >> their output below. If you have Docker installed, you can probably reproduce it >> locally. >> >> N/A. Internal error while reading log file >> >> >> >> --- >> Email generated automatically by Patchew [http://patchew.org/]. >> Please send your feedback to patchew-devel@redhat.com >> _______________________________________________ Patchew-devel mailing list Patchew-devel@redhat.com https://www.redhat.com/mailman/listinfo/patchew-devel
Hi, This series failed docker-quick@centos6 build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. Type: series Message-id: 20180329213857.15499-1-ehabkost@redhat.com Subject: [Qemu-devel] [RFC 00/18] QEMU validator: A method to specify QEMU crash-test cases === TEST SCRIPT BEGIN === #!/bin/bash set -e git submodule update --init dtc # Let docker tests dump environment info export SHOW_ENV=1 export J=8 time make docker-test-quick@centos6 === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' 0fdb1a2f05 Collection of validator.py test cases 962c7b9a45 validator.py script 11125125d8 qemu.py: is_launched() method e7b9360fc7 qemu.py: qmp_obj() method 04f1d03e56 qemu.py: Don't try to quit cleanly on exceptions b504207869 qemu.py: 'force' parameter on shutdown() 9cfedb7337 qemu.py: Only wait for process if it's still running 8c7e843d6e qemu.py: Log crashes inside _post_shutdown() 992c1b6bb2 qemu.py: Set _launched = False on _post_shutdown 9e4bcb4215 qemu.py: Make monitor optional 4d78dabfe2 qemu.py: Close _qmp inside _post_shutdown() 3937ce28e2 qemu.py: Use wait() logic inside shutdown() c2b5140e3d qemu.py: Move _load_io_log() call to _post_shutdown() a20254c9e0 qemu.py: Split _base_args() bb5e609a6b qemu.py: Make _vm_monitor a method a571feea0c qmp.py: Cleanly handle unexpectedly closed socket 9a92759c0c qmp.py: Fix error handling for Python 3 1f8f56095d qmp.py: Make it safe to call close() any time === OUTPUT BEGIN === Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-_gt5exqw/src/dtc'... Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42' BUILD centos6 make[1]: Entering directory '/var/tmp/patchew-tester-tmp-_gt5exqw/src' GEN /var/tmp/patchew-tester-tmp-_gt5exqw/src/docker-src.2018-03-31-04.37.05.10200/qemu.tar Cloning into '/var/tmp/patchew-tester-tmp-_gt5exqw/src/docker-src.2018-03-31-04.37.05.10200/qemu.tar.vroot'... done. Checking out files: 44% (2693/6074) Checking out files: 45% (2734/6074) Checking out files: 46% (2795/6074) Checking out files: 47% (2855/6074) Checking out files: 47% (2882/6074) Checking out files: 48% (2916/6074) Checking out files: 49% (2977/6074) Checking out files: 50% (3037/6074) Checking out files: 51% (3098/6074) Checking out files: 52% (3159/6074) Checking out files: 53% (3220/6074) Checking out files: 54% (3280/6074) Checking out files: 55% (3341/6074) Checking out files: 56% (3402/6074) Checking out files: 57% (3463/6074) Checking out files: 58% (3523/6074) Checking out files: 59% (3584/6074) Checking out files: 60% (3645/6074) Checking out files: 61% (3706/6074) Checking out files: 62% (3766/6074) Checking out files: 63% (3827/6074) Checking out files: 64% (3888/6074) Checking out files: 65% (3949/6074) Checking out files: 66% (4009/6074) Checking out files: 67% (4070/6074) Checking out files: 68% (4131/6074) Checking out files: 69% (4192/6074) Checking out files: 70% (4252/6074) Checking out files: 71% (4313/6074) Checking out files: 72% (4374/6074) Checking out files: 73% (4435/6074) Checking out files: 74% (4495/6074) Checking out files: 75% (4556/6074) Checking out files: 76% (4617/6074) Checking out files: 77% (4677/6074) Checking out files: 78% (4738/6074) Checking out files: 79% (4799/6074) Checking out files: 80% (4860/6074) Checking out files: 81% (4920/6074) Checking out files: 82% (4981/6074) Checking out files: 83% (5042/6074) Checking out files: 84% (5103/6074) Checking out files: 85% (5163/6074) Checking out files: 86% (5224/6074) Checking out files: 86% (5278/6074) Checking out files: 87% (5285/6074) Checking out files: 88% (5346/6074) Checking out files: 89% (5406/6074) Checking out files: 90% (5467/6074) Checking out files: 91% (5528/6074) Checking out files: 92% (5589/6074) Checking out files: 93% (5649/6074) Checking out files: 94% (5710/6074) Checking out files: 95% (5771/6074) Checking out files: 96% (5832/6074) Checking out files: 97% (5892/6074) Checking out files: 98% (5953/6074) Checking out files: 99% (6014/6074) Checking out files: 100% (6074/6074) Checking out files: 100% (6074/6074), done. Your branch is up-to-date with 'origin/test'. Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-_gt5exqw/src/docker-src.2018-03-31-04.37.05.10200/qemu.tar.vroot/dtc'... Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42' Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb' Cloning into '/var/tmp/patchew-tester-tmp-_gt5exqw/src/docker-src.2018-03-31-04.37.05.10200/qemu.tar.vroot/ui/keycodemapdb'... Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce' tar: /var/tmp/patchew-tester-tmp-_gt5exqw/src/docker-src.2018-03-31-04.37.05.10200/qemu.tar: Wrote only 2048 of 10240 bytes tar: Error is not recoverable: exiting now failed to create tar file COPY RUNNER RUN test-quick in qemu:centos6 tar: Unexpected EOF in archive tar: rmtlseek not stopped at a record boundary tar: Error is not recoverable: exiting now /var/tmp/qemu/run: line 32: prep_fail: command not found Packages installed: SDL-devel-1.2.14-7.el6_7.1.x86_64 bison-2.4.1-5.el6.x86_64 bzip2-devel-1.0.5-7.el6_0.x86_64 ccache-3.1.6-2.el6.x86_64 csnappy-devel-0-6.20150729gitd7bc683.el6.x86_64 flex-2.5.35-9.el6.x86_64 gcc-4.4.7-18.el6.x86_64 gettext-0.17-18.el6.x86_64 git-1.7.1-9.el6_9.x86_64 glib2-devel-2.28.8-9.el6.x86_64 libepoxy-devel-1.2-3.el6.x86_64 libfdt-devel-1.4.0-1.el6.x86_64 librdmacm-devel-1.0.21-0.el6.x86_64 lzo-devel-2.03-3.1.el6_5.1.x86_64 make-3.81-23.el6.x86_64 mesa-libEGL-devel-11.0.7-4.el6.x86_64 mesa-libgbm-devel-11.0.7-4.el6.x86_64 package g++ is not installed pixman-devel-0.32.8-1.el6.x86_64 spice-glib-devel-0.26-8.el6.x86_64 spice-server-devel-0.12.4-16.el6.x86_64 tar-1.23-15.el6_8.x86_64 vte-devel-0.25.1-9.el6.x86_64 xen-devel-4.6.6-2.el6.x86_64 zlib-devel-1.2.3-29.el6.x86_64 Environment variables: PACKAGES=bison bzip2-devel ccache csnappy-devel flex g++ gcc gettext git glib2-devel libepoxy-devel libfdt-devel librdmacm-devel lzo-devel make mesa-libEGL-devel mesa-libgbm-devel pixman-devel SDL-devel spice-glib-devel spice-server-devel tar vte-devel xen-devel zlib-devel HOSTNAME=bbfcbf497505 MAKEFLAGS= -j8 J=8 CCACHE_DIR=/var/tmp/ccache EXTRA_CONFIGURE_OPTS= V= SHOW_ENV=1 PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ TARGET_LIST= SHLVL=1 HOME=/root TEST_DIR=/tmp/qemu-test FEATURES= dtc DEBUG= _=/usr/bin/env /var/tmp/qemu/run: line 52: cd: /tmp/qemu-test/src/tests/docker: No such file or directory /var/tmp/qemu/run: line 57: /test-quick: No such file or directory /var/tmp/qemu/run: line 57: exec: /test-quick: cannot execute: No such file or directory Traceback (most recent call last): File "./tests/docker/docker.py", line 407, in <module> sys.exit(main()) File "./tests/docker/docker.py", line 404, in main return args.cmdobj.run(args, argv) File "./tests/docker/docker.py", line 261, in run return Docker().run(argv, args.keep, quiet=args.quiet) File "./tests/docker/docker.py", line 229, in run quiet=quiet) File "./tests/docker/docker.py", line 147, in _do_check return subprocess.check_call(self._command + cmd, **kwargs) File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['docker', 'run', '--label', 'com.qemu.instance.uuid=bca478da34be11e8875d52540069c830', '-u', '0', '--security-opt', 'seccomp=unconfined', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/root/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-_gt5exqw/src/docker-src.2018-03-31-04.37.05.10200:/var/tmp/qemu:z,ro', 'qemu:centos6', '/var/tmp/qemu/run', 'test-quick']' returned non-zero exit status 126 make[1]: *** [tests/docker/Makefile.include:129: docker-run] Error 1 make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-_gt5exqw/src' make: *** [tests/docker/Makefile.include:163: docker-run-test-quick@centos6] Error 2 real 0m33.155s user 0m8.989s sys 0m6.511s === OUTPUT END === Test command exited with code: 2 --- Email generated automatically by Patchew [http://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
© 2016 - 2024 Red Hat, Inc.