qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL 0/5] fuzzer and gitlab-CI patches
@ 2020-12-21 13:44 Thomas Huth
  2020-12-21 13:45 ` [PULL 1/5] fuzz: Add more i386 configurations for fuzzing Thomas Huth
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Thomas Huth @ 2020-12-21 13:44 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel
  Cc: Alexander Bulekov, Alex Bennée, Wainer dos Santos Moschetta

 Hi!

The following changes since commit 75ee62ac606bfc9eb59310b9446df3434bf6e8c2:

  Merge remote-tracking branch 'remotes/ehabkost-gl/tags/x86-next-pull-request'
  into staging (2020-12-17 18:53:36 +0000)

are available in the Git repository at:

  https://gitlab.com/huth/qemu.git tags/pull-request-2020-12-21

for you to fetch changes up to df063546c2de1a5045e356253abd9a2e6e2bec6d:

  gitlab-ci: Archive logs of acceptance tests (2020-12-18 12:25:42 +0100)

----------------------------------------------------------------
* Two fuzzer patches from Alexander
* Show logs of failed acceptance jobs in the gitlab-CI
----------------------------------------------------------------

Alexander Bulekov (2):
      fuzz: Add more i386 configurations for fuzzing
      fuzz: fix the generic-fuzz-floppy config

Wainer dos Santos Moschetta (3):
      tests/acceptance: Bump avocado requirements to 83.0
      gitlab-ci: Refactor code that show logs of failed acceptances
      gitlab-ci: Archive logs of acceptance tests

 .gitlab-ci.yml                          |  7 ++-
 tests/qtest/fuzz/generic_fuzz_configs.h | 84 ++++++++++++++++++++++++++++++++-
 tests/requirements.txt                  |  2 +-
 3 files changed, 89 insertions(+), 4 deletions(-)



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PULL 1/5] fuzz: Add more i386 configurations for fuzzing
  2020-12-21 13:44 [PULL 0/5] fuzzer and gitlab-CI patches Thomas Huth
@ 2020-12-21 13:45 ` Thomas Huth
  2020-12-21 13:45 ` [PULL 2/5] fuzz: fix the generic-fuzz-floppy config Thomas Huth
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Thomas Huth @ 2020-12-21 13:45 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel
  Cc: Alexander Bulekov, Alex Bennée, Wainer dos Santos Moschetta

From: Alexander Bulekov <alxndr@bu.edu>

This adds configurations for fuzzing the following devices on oss-fuzz:

* vmxnet3
CC: Dmitry Fleytman <dmitry.fleytman@gmail.com>
* ne2k
* pcnet
* rtl8139
CC: Jason Wang <jasowang@redhat.com>
* eepro100
CC: Stefan Weil <sw@weilnetz.de>
* sdhci
CC: Philippe Mathieu-Daudé <f4bug@amsat.org>
* ehci
* ohci
* ac97
* cs4231a
* es1370
* sb16
CC: Gerd Hoffmann <kraxel@redhat.com>
* megasas
CC: Hannes Reinecke <hare@suse.com>
* parallel
CC: Michael S. Tsirkin <mst@redhat.com>
CC: Paolo Bonzini <pbonzini@redhat.com>

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201123184352.242907-1-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qtest/fuzz/generic_fuzz_configs.h | 80 +++++++++++++++++++++++++
 1 file changed, 80 insertions(+)

diff --git a/tests/qtest/fuzz/generic_fuzz_configs.h b/tests/qtest/fuzz/generic_fuzz_configs.h
index b4c5fefeca..fbc9779f7f 100644
--- a/tests/qtest/fuzz/generic_fuzz_configs.h
+++ b/tests/qtest/fuzz/generic_fuzz_configs.h
@@ -114,6 +114,86 @@ const generic_fuzz_config predefined_configs[] = {
         .name = "pc-q35",
         .args = "-machine q35",
         .objects = "*",
+    },{
+        .name = "vmxnet3",
+        .args = "-machine q35 -nodefaults "
+        "-device vmxnet3,netdev=net0 -netdev user,id=net0",
+        .objects = "vmxnet3"
+    },{
+        .name = "ne2k_pci",
+        .args = "-machine q35 -nodefaults "
+        "-device ne2k_pci,netdev=net0 -netdev user,id=net0",
+        .objects = "ne2k*"
+    },{
+        .name = "pcnet",
+        .args = "-machine q35 -nodefaults "
+        "-device pcnet,netdev=net0 -netdev user,id=net0",
+        .objects = "pcnet"
+    },{
+        .name = "rtl8139",
+        .args = "-machine q35 -nodefaults "
+        "-device rtl8139,netdev=net0 -netdev user,id=net0",
+        .objects = "rtl8139"
+    },{
+        .name = "i82550",
+        .args = "-machine q35 -nodefaults "
+        "-device i82550,netdev=net0 -netdev user,id=net0",
+        .objects = "eepro*"
+    },{
+        .name = "sdhci-v3",
+        .args = "-nodefaults -device sdhci-pci,sd-spec-version=3 "
+        "-device sd-card,drive=mydrive "
+        "-drive if=sd,index=0,file=null-co://,format=raw,id=mydrive -nographic",
+        .objects = "sd*"
+    },{
+        .name = "ehci",
+        .args = "-machine q35 -nodefaults "
+        "-device ich9-usb-ehci1,bus=pcie.0,addr=1d.7,"
+        "multifunction=on,id=ich9-ehci-1 "
+        "-device ich9-usb-uhci1,bus=pcie.0,addr=1d.0,"
+        "multifunction=on,masterbus=ich9-ehci-1.0,firstport=0 "
+        "-device ich9-usb-uhci2,bus=pcie.0,addr=1d.1,"
+        "multifunction=on,masterbus=ich9-ehci-1.0,firstport=2 "
+        "-device ich9-usb-uhci3,bus=pcie.0,addr=1d.2,"
+        "multifunction=on,masterbus=ich9-ehci-1.0,firstport=4 "
+        "-drive if=none,id=usbcdrom,media=cdrom "
+        "-device usb-tablet,bus=ich9-ehci-1.0,port=1,usb_version=1 "
+        "-device usb-storage,bus=ich9-ehci-1.0,port=2,drive=usbcdrom",
+        .objects = "*usb* *hci*",
+    },{
+        .name = "ohci",
+        .args = "-machine q35 -nodefaults  -device pci-ohci -device usb-kbd",
+        .objects = "*usb* *ohci*",
+    },{
+        .name = "megaraid",
+        .args = "-machine q35 -nodefaults -device megasas -device scsi-cd,drive=null0 "
+        "-blockdev driver=null-co,read-zeroes=on,node-name=null0",
+        .objects = "megasas*",
+    },{
+        .name = "ac97",
+        .args = "-machine q35 -nodefaults "
+        "-device ac97,audiodev=snd0 -audiodev none,id=snd0 -nodefaults",
+        .objects = "ac97*",
+    },{
+        .name = "cs4231a",
+        .args = "-machine q35 -nodefaults "
+        "-device cs4231a,audiodev=snd0 -audiodev none,id=snd0 -nodefaults",
+        .objects = "cs4231a* i8257*",
+    },{
+        .name = "es1370",
+        .args = "-machine q35 -nodefaults "
+        "-device es1370,audiodev=snd0 -audiodev none,id=snd0 -nodefaults",
+        .objects = "es1370*",
+    },{
+        .name = "sb16",
+        .args = "-machine q35 -nodefaults "
+        "-device sb16,audiodev=snd0 -audiodev none,id=snd0 -nodefaults",
+        .objects = "sb16* i8257*",
+    },{
+        .name = "parallel",
+        .args = "-machine q35 -nodefaults "
+        "-parallel file:/dev/null",
+        .objects = "parallel*",
     }
 };
 
-- 
2.27.0



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PULL 2/5] fuzz: fix the generic-fuzz-floppy config
  2020-12-21 13:44 [PULL 0/5] fuzzer and gitlab-CI patches Thomas Huth
  2020-12-21 13:45 ` [PULL 1/5] fuzz: Add more i386 configurations for fuzzing Thomas Huth
@ 2020-12-21 13:45 ` Thomas Huth
  2020-12-21 13:45 ` [PULL 3/5] tests/acceptance: Bump avocado requirements to 83.0 Thomas Huth
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Thomas Huth @ 2020-12-21 13:45 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel
  Cc: Alexander Bulekov, Alex Bennée, Wainer dos Santos Moschetta

From: Alexander Bulekov <alxndr@bu.edu>

On the pc-i440fx machine, the floppy drive relies on the i8257 DMA
controller. Add this device to the floppy fuzzer config, and silence the
warning about a missing format specifier for the null-co:// drive.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201216203328.41112-1-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qtest/fuzz/generic_fuzz_configs.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/qtest/fuzz/generic_fuzz_configs.h b/tests/qtest/fuzz/generic_fuzz_configs.h
index fbc9779f7f..7fed035345 100644
--- a/tests/qtest/fuzz/generic_fuzz_configs.h
+++ b/tests/qtest/fuzz/generic_fuzz_configs.h
@@ -92,9 +92,9 @@ const generic_fuzz_config predefined_configs[] = {
     },{
         .name = "floppy",
         .args = "-machine pc -nodefaults -device floppy,id=floppy0 "
-        "-drive id=disk0,file=null-co://,file.read-zeroes=on,if=none "
+        "-drive id=disk0,file=null-co://,file.read-zeroes=on,if=none,format=raw "
         "-device floppy,drive=disk0,drive-type=288",
-        .objects = "fd* floppy*",
+        .objects = "fd* floppy* i8257",
     },{
         .name = "xhci",
         .args = "-machine q35 -nodefaults "
-- 
2.27.0



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PULL 3/5] tests/acceptance: Bump avocado requirements to 83.0
  2020-12-21 13:44 [PULL 0/5] fuzzer and gitlab-CI patches Thomas Huth
  2020-12-21 13:45 ` [PULL 1/5] fuzz: Add more i386 configurations for fuzzing Thomas Huth
  2020-12-21 13:45 ` [PULL 2/5] fuzz: fix the generic-fuzz-floppy config Thomas Huth
@ 2020-12-21 13:45 ` Thomas Huth
  2020-12-21 13:45 ` [PULL 4/5] gitlab-ci: Refactor code that show logs of failed acceptances Thomas Huth
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Thomas Huth @ 2020-12-21 13:45 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel
  Cc: Alexander Bulekov, Alex Bennée, Wainer dos Santos Moschetta

From: Wainer dos Santos Moschetta <wainersm@redhat.com>

To use Avocado's testlogs plug-in on CI it is required to use
its 83.0 or greater version.

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Message-Id: <20201211183827.915232-2-wainersm@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/requirements.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/requirements.txt b/tests/requirements.txt
index a1c631fa59..62e8ffd28c 100644
--- a/tests/requirements.txt
+++ b/tests/requirements.txt
@@ -1,5 +1,5 @@
 # Add Python module requirements, one per line, to be installed
 # in the tests/venv Python virtual environment. For more info,
 # refer to: https://pip.pypa.io/en/stable/user_guide/#id1
-avocado-framework==81.0
+avocado-framework==83.0
 pycdlib==1.11.0
-- 
2.27.0



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PULL 4/5] gitlab-ci: Refactor code that show logs of failed acceptances
  2020-12-21 13:44 [PULL 0/5] fuzzer and gitlab-CI patches Thomas Huth
                   ` (2 preceding siblings ...)
  2020-12-21 13:45 ` [PULL 3/5] tests/acceptance: Bump avocado requirements to 83.0 Thomas Huth
@ 2020-12-21 13:45 ` Thomas Huth
  2020-12-21 13:45 ` [PULL 5/5] gitlab-ci: Archive logs of acceptance tests Thomas Huth
  2021-01-01 18:18 ` [PULL 0/5] fuzzer and gitlab-CI patches Peter Maydell
  5 siblings, 0 replies; 7+ messages in thread
From: Thomas Huth @ 2020-12-21 13:45 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel
  Cc: Alexander Bulekov, Alex Bennée, Wainer dos Santos Moschetta

From: Wainer dos Santos Moschetta <wainersm@redhat.com>

Replace the code (python) on after_script of the acceptance jobs that
is currently used to show the logs of failed tests. Instead it is used
the Avocado's testlogs plug-in which works likewise.

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Message-Id: <20201211183827.915232-3-wainersm@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 98bff03b47..85aa20ffde 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -58,13 +58,14 @@ include:
     - echo "[datadir.paths]" > ~/.config/avocado/avocado.conf
     - echo "cache_dirs = ['${CI_PROJECT_DIR}/avocado-cache']"
            >> ~/.config/avocado/avocado.conf
+    - echo -e '[job.output.testlogs]\nstatuses = ["FAIL"]'
+           >> ~/.config/avocado/avocado.conf
     - if [ -d ${CI_PROJECT_DIR}/avocado-cache ]; then
         du -chs ${CI_PROJECT_DIR}/avocado-cache ;
       fi
     - export AVOCADO_ALLOW_UNTRUSTED_CODE=1
   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", "CANCEL")]' | xargs cat
     - du -chs ${CI_PROJECT_DIR}/avocado-cache
 
 build-system-ubuntu:
-- 
2.27.0



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PULL 5/5] gitlab-ci: Archive logs of acceptance tests
  2020-12-21 13:44 [PULL 0/5] fuzzer and gitlab-CI patches Thomas Huth
                   ` (3 preceding siblings ...)
  2020-12-21 13:45 ` [PULL 4/5] gitlab-ci: Refactor code that show logs of failed acceptances Thomas Huth
@ 2020-12-21 13:45 ` Thomas Huth
  2021-01-01 18:18 ` [PULL 0/5] fuzzer and gitlab-CI patches Peter Maydell
  5 siblings, 0 replies; 7+ messages in thread
From: Thomas Huth @ 2020-12-21 13:45 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel
  Cc: Alexander Bulekov, Alex Bennée, Wainer dos Santos Moschetta

From: Wainer dos Santos Moschetta <wainersm@redhat.com>

Keep the logs of acceptance tests for two days on GitLab. If you want
to make it available for more time, click on the 'Keep' button on
the Job page at web UI.

By default GitLab will archive artifacts only if the job succeed.
Instead let's keep it on both success and failure, so it gives the
opportunity to the developer/maintainer to check the error logs
as well as to the logs of CANCEL tests (not shown on the job logs).

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201211183827.915232-4-wainersm@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 85aa20ffde..bf3df843e2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -49,8 +49,12 @@ include:
       - ${CI_PROJECT_DIR}/avocado-cache
     policy: pull-push
   artifacts:
+    name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
+    when: always
+    expire_in: 2 days
     paths:
       - build/tests/results/latest/results.xml
+      - build/tests/results/latest/test-results
     reports:
       junit: build/tests/results/latest/results.xml
   before_script:
-- 
2.27.0



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PULL 0/5] fuzzer and gitlab-CI patches
  2020-12-21 13:44 [PULL 0/5] fuzzer and gitlab-CI patches Thomas Huth
                   ` (4 preceding siblings ...)
  2020-12-21 13:45 ` [PULL 5/5] gitlab-ci: Archive logs of acceptance tests Thomas Huth
@ 2021-01-01 18:18 ` Peter Maydell
  5 siblings, 0 replies; 7+ messages in thread
From: Peter Maydell @ 2021-01-01 18:18 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Alexander Bulekov, Alex Bennée, QEMU Developers,
	Wainer dos Santos Moschetta

On Mon, 21 Dec 2020 at 13:45, Thomas Huth <thuth@redhat.com> wrote:
>
>  Hi!
>
> The following changes since commit 75ee62ac606bfc9eb59310b9446df3434bf6e8c2:
>
>   Merge remote-tracking branch 'remotes/ehabkost-gl/tags/x86-next-pull-request'
>   into staging (2020-12-17 18:53:36 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/huth/qemu.git tags/pull-request-2020-12-21
>
> for you to fetch changes up to df063546c2de1a5045e356253abd9a2e6e2bec6d:
>
>   gitlab-ci: Archive logs of acceptance tests (2020-12-18 12:25:42 +0100)
>
> ----------------------------------------------------------------
> * Two fuzzer patches from Alexander
> * Show logs of failed acceptance jobs in the gitlab-CI
> ----------------------------------------------------------------


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/6.0
for any user-visible changes.

-- PMM


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-01-01 18:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-21 13:44 [PULL 0/5] fuzzer and gitlab-CI patches Thomas Huth
2020-12-21 13:45 ` [PULL 1/5] fuzz: Add more i386 configurations for fuzzing Thomas Huth
2020-12-21 13:45 ` [PULL 2/5] fuzz: fix the generic-fuzz-floppy config Thomas Huth
2020-12-21 13:45 ` [PULL 3/5] tests/acceptance: Bump avocado requirements to 83.0 Thomas Huth
2020-12-21 13:45 ` [PULL 4/5] gitlab-ci: Refactor code that show logs of failed acceptances Thomas Huth
2020-12-21 13:45 ` [PULL 5/5] gitlab-ci: Archive logs of acceptance tests Thomas Huth
2021-01-01 18:18 ` [PULL 0/5] fuzzer and gitlab-CI patches Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).