]> git.proxmox.com Git - mirror_qemu.git/commitdiff
Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2020-10-13' into...
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 13 Oct 2020 11:46:26 +0000 (12:46 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 13 Oct 2020 11:46:26 +0000 (12:46 +0100)
* qtest improvements (test for crash found with the fuzzer, increase
  downtime in migration test, less verbose output when running w/o KVM)
* Improve handling of acceptance tests in the Gitlab-CI
* Run checkpatch.pl in the Gitlab-CI
* Improve the gitlab-pipeline-status script
* Misc patches (mark 'moxie' as deprecated, remove stale .gitignore files, ...)

# gpg: Signature made Tue 13 Oct 2020 11:49:06 BST
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* remotes/huth-gitlab/tags/pull-request-2020-10-13: (23 commits)
  scripts/ci/gitlab-pipeline-status: wait for pipeline creation
  scripts/ci/gitlab-pipeline-status: use more descriptive exceptions
  scripts/ci/gitlab-pipeline-status: handle keyboard interrupts
  scripts/ci/gitlab-pipeline-status: refactor parser creation
  scripts/ci/gitlab-pipeline-status: give early feedback on running pipelines
  scripts/ci/gitlab-pipeline-status: improve message regarding timeout
  scripts/ci/gitlab-pipeline-status: make branch name configurable
  gitlab: assign python helper files to GitLab maintainers section
  gitlab: add a CI job to validate the DCO sign off
  gitlab: add a CI job for running checkpatch.pl
  configure: fixes indent of $meson setup
  docs/system/deprecated: Mark the 'moxie' CPU as deprecated
  Remove superfluous .gitignore files
  MAINTAINERS: Ignore bios-tables-test in the qtest section
  Add a comment in bios-tables-test.c to clarify the reason behind approach
  softmmu/vl: Be less verbose about missing KVM when running the qtests
  tests/migration: Allow longer timeouts
  qtest: add fuzz test case
  Acceptance tests: show test report on GitLab CI
  Acceptance tests: do not show canceled test logs on GitLab CI
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
1  2 
.gitlab-ci.yml
MAINTAINERS
tests/qtest/meson.build

diff --combined .gitlab-ci.yml
index a4cf87481e9234df6e7daace1e64626097f07037,40805740a6c38e0024b09ebed4ec690fe4ab2f09..8ffd415ca542b6c7d4a7602990285e0677b533dc
@@@ -53,6 -53,11 +53,11 @@@ include
      paths:
        - ${CI_PROJECT_DIR}/avocado-cache
      policy: pull-push
+   artifacts:
+     paths:
+       - build/tests/results/latest/results.xml
+     reports:
+       junit: build/tests/results/latest/results.xml
    before_script:
      - mkdir -p ~/.config/avocado
      - echo "[datadir.paths]" > ~/.config/avocado/avocado.conf
@@@ -63,7 -68,7 +68,7 @@@
        fi
    after_script:
      - cd build
-     - python3 -c 'import json; r = json.load(open("tests/results/latest/results.json")); [print(t["logfile"]) for t in r["tests"] if t["status"] not in ("PASS", "SKIP")]' | xargs cat
+     - python3 -c 'import json; r = json.load(open("tests/results/latest/results.json")); [print(t["logfile"]) for t in r["tests"] if t["status"] not in ("PASS", "SKIP", "CANCEL")]' | xargs cat
      - du -chs ${CI_PROJECT_DIR}/avocado-cache
  
  build-system-ubuntu:
@@@ -232,7 -237,7 +237,7 @@@ build-tcg-disabled
      - ./check -raw 001 002 003 004 005 008 009 010 011 012 021 025 032 033 048
              052 063 077 086 101 104 106 113 148 150 151 152 157 159 160 163
              170 171 183 184 192 194 197 208 215 221 222 226 227 236 253 277
 -    - ./check -qcow2 028 051 056 057 058 065 067 068 082 085 091 095 096 102 122
 +    - ./check -qcow2 028 051 056 057 058 065 068 082 085 091 095 096 102 122
              124 132 139 142 144 145 151 152 155 157 165 194 196 197 200 202
              208 209 215 216 218 222 227 234 246 247 248 250 254 255 257 258
              260 261 262 263 264 270 272 273 277 279
@@@ -303,7 -308,7 +308,7 @@@ build-oss-fuzz
                        | grep -v slirp); do
          grep "LLVMFuzzerTestOneInput" ${fuzzer} > /dev/null 2>&1 || continue ;
          echo Testing ${fuzzer} ... ;
-         "${fuzzer}" -runs=1000 -seed=1 || exit 1 ;
+         "${fuzzer}" -runs=1 -seed=1 || exit 1 ;
        done
      # Unrelated to fuzzer: run some tests with -fsanitize=address
      - cd build-oss-fuzz && make check-qtest-i386 check-unit
@@@ -394,3 -399,25 +399,25 @@@ check-crypto-only-gnutls
    variables:
      IMAGE: centos7
      MAKE_CHECK_ARGS: check
+ check-patch:
+   stage: build
+   image: $CI_REGISTRY_IMAGE/qemu/centos8:latest
+   script: .gitlab-ci.d/check-patch.py
+   except:
+     variables:
+       - $CI_PROJECT_NAMESPACE == 'qemu-project' && $CI_COMMIT_BRANCH == 'master'
+   variables:
+     GIT_DEPTH: 1000
+   allow_failure: true
+ check-dco:
+   stage: build
+   image: $CI_REGISTRY_IMAGE/qemu/centos8:latest
+   script: .gitlab-ci.d/check-dco.py
+   except:
+     variables:
+       - $CI_PROJECT_NAMESPACE == 'qemu-project' && $CI_COMMIT_BRANCH == 'master'
+   variables:
+     GIT_DEPTH: 1000
diff --combined MAINTAINERS
index fcb2c03c2bd9e7572f65e78dec61165307263551,f7719326e7c70b2c7b9260499dcfe8aa8d336f6b..47dd38a8cc5dac91b90caa7305b0b162c380e923
@@@ -117,6 -117,7 +117,6 @@@ R: Paolo Bonzini <pbonzini@redhat.com
  S: Maintained
  F: softmmu/cpus.c
  F: cpus-common.c
 -F: exec.c
  F: accel/tcg/
  F: accel/stubs/tcg-stub.c
  F: scripts/decodetree.py
@@@ -1524,7 -1525,6 +1524,7 @@@ Machine cor
  M: Eduardo Habkost <ehabkost@redhat.com>
  M: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  S: Supported
 +F: cpu.c
  F: hw/core/cpu.c
  F: hw/core/machine-qmp-cmds.c
  F: hw/core/machine.c
@@@ -2055,7 -2055,7 +2055,7 @@@ R: Laszlo Ersek <lersek@redhat.com
  R: Gerd Hoffmann <kraxel@redhat.com>
  S: Supported
  F: docs/specs/fw_cfg.txt
 -F: hw/nvram/fw_cfg.c
 +F: hw/nvram/fw_cfg*.c
  F: stubs/fw_cfg.c
  F: include/hw/nvram/fw_cfg.h
  F: include/standard-headers/linux/qemu_fw_cfg.h
@@@ -2235,7 -2235,7 +2235,7 @@@ Device Tre
  M: Alistair Francis <alistair.francis@wdc.com>
  R: David Gibson <david@gibson.dropbear.id.au>
  S: Maintained
 -F: device_tree.c
 +F: softmmu/device_tree.c
  F: include/sysemu/device_tree.h
  
  Dump
@@@ -2281,11 -2281,10 +2281,11 @@@ F: include/exec/memop.
  F: include/exec/memory.h
  F: include/exec/ram_addr.h
  F: include/exec/ramblock.h
 +F: softmmu/dma-helpers.c
  F: softmmu/ioport.c
  F: softmmu/memory.c
 +F: softmmu/physmem.c
  F: include/exec/memory-internal.h
 -F: exec.c
  F: scripts/coccinelle/memory-region-housekeeping.cocci
  
  SPICE
@@@ -2462,8 -2461,7 +2462,8 @@@ F: include/monitor/qdev.
  F: include/qom/
  F: qapi/qom.json
  F: qapi/qdev.json
 -F: qdev-monitor.c
 +F: scripts/coccinelle/qom-parent-type.cocci
 +F: softmmu/qdev-monitor.c
  F: qom/
  F: tests/check-qom-interface.c
  F: tests/check-qom-proplist.c
@@@ -2497,7 -2495,7 +2497,7 @@@ S: Maintaine
  F: softmmu/qtest.c
  F: accel/qtest/
  F: tests/qtest/
- X: tests/qtest/bios-tables-test-allowed-diff.h
+ X: tests/qtest/bios-tables-test*
  
  Device Fuzzing
  M: Alexander Bulekov <alxndr@bu.edu>
@@@ -2593,7 -2591,7 +2593,7 @@@ F: docs/interop/dbus-vmstate.rs
  Seccomp
  M: Eduardo Otubo <otubo@redhat.com>
  S: Supported
 -F: qemu-seccomp.c
 +F: softmmu/qemu-seccomp.c
  F: include/sysemu/seccomp.h
  
  Cryptography
@@@ -2959,7 -2957,7 +2959,7 @@@ T: git https://github.com/stefanha/qemu
  Bootdevice
  M: Gonglei <arei.gonglei@huawei.com>
  S: Maintained
 -F: bootdevice.c
 +F: softmmu/bootdevice.c
  
  Quorum
  M: Alberto Garcia <berto@igalia.com>
@@@ -3128,6 -3126,7 +3128,7 @@@ R: Wainer dos Santos Moschetta <wainers
  S: Maintained
  F: .gitlab-ci.yml
  F: .gitlab-ci.d/crossbuilds.yml
+ F: .gitlab-ci.d/*py
  
  Guest Test Compilation Support
  M: Alex BennĂ©e <alex.bennee@linaro.org>
diff --combined tests/qtest/meson.build
index 1c4b87e3e2faa4f1f087d04915706ca7c40dca0d,6c6bfb5e2e13ac7602a87b232c4b74886fe4de32..3987f960863097e628e003140dbf2e7b54c97fa6
@@@ -54,6 -54,7 +54,7 @@@ qtests_i386 = 
     'bios-tables-test',
     'rtc-test',
     'i440fx-test',
+    'fuzz-test',
     'fw_cfg-test',
     'device-plug-test',
     'drive_del-test',
@@@ -111,7 -112,7 +112,7 @@@ qtests_moxie = [ 'boot-serial-test' 
  qtests_ppc = \
    (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : []) +            \
    (config_all_devices.has_key('CONFIG_M48T59') ? ['m48t59-test'] : []) +                     \
 -  ['boot-order-test', 'prom-env-test', 'drive_del-test', 'boot-serial-test']                 \
 +  ['boot-order-test', 'prom-env-test', 'boot-serial-test']                 \
  
  qtests_ppc64 = \
    (config_all_devices.has_key('CONFIG_PSERIES') ? ['device-plug-test'] : []) +               \
    (config_all_devices.has_key('CONFIG_USB_UHCI') ? ['usb-hcd-uhci-test'] : []) +             \
    (config_all_devices.has_key('CONFIG_USB_XHCI_NEC') ? ['usb-hcd-xhci-test'] : []) +         \
    (config_host.has_key('CONFIG_POSIX') ? ['test-filter-mirror'] : []) +                      \
 -  qtests_pci + ['migration-test', 'numa-test', 'cpu-plug-test']
 +  qtests_pci + ['migration-test', 'numa-test', 'cpu-plug-test', 'drive_del-test']
  
  qtests_sh4 = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : [])
  qtests_sh4eb = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : [])
@@@ -193,25 -194,35 +194,25 @@@ qos_test_ss.add
  qos_test_ss.add(when: 'CONFIG_VIRTFS', if_true: files('virtio-9p-test.c'))
  qos_test_ss.add(when: 'CONFIG_VHOST_USER', if_true: files('vhost-user-test.c'))
  
 -extra_qtest_deps = {
 -  'bios-tables-test': [io],
 -  'ivshmem-test': [rt],
 -  'qos-test': [chardev, io],
 -  'tpm-crb-swtpm-test': [io],
 -  'tpm-crb-test': [io],
 -  'tpm-tis-swtpm-test': [io],
 -  'tpm-tis-test': [io],
 -  'tpm-tis-device-swtpm-test': [io],
 -  'tpm-tis-device-test': [io],
 -}
 -extra_qtest_srcs = {
 -  'bios-tables-test': files('boot-sector.c', 'acpi-utils.c', 'tpm-emu.c'),
 -  'pxe-test': files('boot-sector.c'),
 +tpmemu_files = ['tpm-emu.c', 'tpm-util.c', 'tpm-tests.c']
 +
 +qtests = {
 +  'bios-tables-test': [io, 'boot-sector.c', 'acpi-utils.c', 'tpm-emu.c'],
    'cdrom-test': files('boot-sector.c'),
 -  'migration-test': files('migration-helpers.c'),
 -  'ivshmem-test': files('../../contrib/ivshmem-server/ivshmem-server.c'),
    'dbus-vmstate-test': files('migration-helpers.c') + dbus_vmstate1,
 +  'ivshmem-test': [rt, '../../contrib/ivshmem-server/ivshmem-server.c'],
 +  'migration-test': files('migration-helpers.c'),
 +  'pxe-test': files('boot-sector.c'),
 +  'qos-test': [chardev, io, qos_test_ss.apply(config_host, strict: false).sources()],
 +  'tpm-crb-swtpm-test': [io, tpmemu_files],
 +  'tpm-crb-test': [io, tpmemu_files],
 +  'tpm-tis-swtpm-test': [io, tpmemu_files, 'tpm-tis-util.c'],
 +  'tpm-tis-test': [io, tpmemu_files, 'tpm-tis-util.c'],
 +  'tpm-tis-device-swtpm-test': [io, tpmemu_files, 'tpm-tis-util.c'],
 +  'tpm-tis-device-test': [io, tpmemu_files, 'tpm-tis-util.c'],
    'vmgenid-test': files('boot-sector.c', 'acpi-utils.c'),
 -  'tpm-crb-swtpm-test': files('tpm-emu.c', 'tpm-util.c', 'tpm-tests.c'),
 -  'tpm-crb-test': files('tpm-emu.c', 'tpm-util.c', 'tpm-tests.c'),
 -  'tpm-tis-device-swtpm-test': files('tpm-emu.c', 'tpm-util.c', 'tpm-tis-util.c', 'tpm-tests.c'),
 -  'tpm-tis-device-test': files('tpm-emu.c', 'tpm-util.c', 'tpm-tis-util.c', 'tpm-tests.c'),
 -  'tpm-tis-swtpm-test': files('tpm-emu.c', 'tpm-util.c', 'tpm-tis-util.c', 'tpm-tests.c'),
 -  'tpm-tis-test': files('tpm-emu.c', 'tpm-util.c', 'tpm-tis-util.c', 'tpm-tests.c'),
 -  'qos-test': qos_test_ss.apply(config_host, strict: false).sources()
  }
  
 -
  qtest_executables = {}
  foreach dir : target_dirs
    if not dir.endswith('-softmmu')
  
    target_base = dir.split('-')[0]
    qtest_emulator = emulators['qemu-system-' + target_base]
 -  qtests = get_variable('qtests_' + target_base, []) + qtests_generic
 +  target_qtests = get_variable('qtests_' + target_base, []) + qtests_generic
  
    test_deps = []
    qtest_env = environment()
    qtest_env.set('G_TEST_DBUS_DAEMON', meson.source_root() / 'tests/dbus-vmstate-daemon.sh')
    qtest_env.set('QTEST_QEMU_BINARY', './qemu-system-' + target_base)
    
 -  foreach test : qtests
 +  foreach test : target_qtests
      # Executables are shared across targets, declare them only the first time we
      # encounter them
      if not qtest_executables.has_key(test)
 +      src = [test + '.c']
 +      deps = [qemuutil, qos]
 +      if test in qtests
 +        # use a sourceset to quickly separate sources and deps
 +        test_ss = ss.source_set()
 +        test_ss.add(qtests[test])
 +        src += test_ss.all_sources()
 +        deps += test_ss.all_dependencies()
 +      endif
        qtest_executables += {
 -        test: executable(test,
 -                         files(test + '.c') + extra_qtest_srcs.get(test, []),
 -                         dependencies: [qemuutil, qos] + extra_qtest_deps.get(test, []))
 +        test: executable(test, src, dependencies: deps)
        }
      endif
      # FIXME: missing dependency on the emulator binary and qemu-img