All of lore.kernel.org
 help / color / mirror / Atom feed
From: marcandre.lureau@redhat.com
To: qemu-devel@nongnu.org
Cc: pbonzini@redhat.com, "Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: [PATCH 13/16] meson: convert the speed tests
Date: Fri, 28 Aug 2020 15:07:31 +0400	[thread overview]
Message-ID: <20200828110734.1638685-14-marcandre.lureau@redhat.com> (raw)
In-Reply-To: <20200828110734.1638685-1-marcandre.lureau@redhat.com>

From: Marc-André Lureau <marcandre.lureau@redhat.com>

Use meson benchmark() for them, adjust mtest2make.py for that.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 Makefile               |  2 +-
 scripts/mtest2make.py  |  3 ++-
 tests/Makefile.include | 11 -----------
 tests/meson.build      | 16 ++++++++++++++++
 4 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/Makefile b/Makefile
index 81794d5c34..a2d068ca37 100644
--- a/Makefile
+++ b/Makefile
@@ -71,7 +71,7 @@ ${ninja-targets-c_COMPILER} ${ninja-targets-cpp_COMPILER}: .var.command += -MP
 # reread (and MESON won't be empty anymore).
 ifneq ($(MESON),)
 Makefile.mtest: build.ninja scripts/mtest2make.py
-	$(MESON) introspect --tests | $(PYTHON) scripts/mtest2make.py > $@
+	$(MESON) introspect --tests --benchmarks | $(PYTHON) scripts/mtest2make.py > $@
 -include Makefile.mtest
 endif
 
diff --git a/scripts/mtest2make.py b/scripts/mtest2make.py
index d7a51bf97e..06d017154c 100644
--- a/scripts/mtest2make.py
+++ b/scripts/mtest2make.py
@@ -50,7 +50,8 @@ endef
 
 suites = defaultdict(Suite)
 i = 0
-for test in json.load(sys.stdin):
+introspect = json.load(sys.stdin)
+for test in introspect['tests'] + introspect['benchmarks']:
     env = ' '.join(('%s=%s' % (shlex.quote(k), shlex.quote(v))
                     for k, v in test['env'].items()))
     executable = test['cmd'][0]
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 9fb61ff900..30d4c6f932 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -38,16 +38,8 @@ export SRC_PATH
 SYSEMU_TARGET_LIST := $(subst -softmmu.mak,,$(notdir \
    $(wildcard $(SRC_PATH)/default-configs/*-softmmu.mak)))
 
-check-speed-$(CONFIG_BLOCK) += tests/benchmark-crypto-hash$(EXESUF)
-check-speed-$(CONFIG_BLOCK) += tests/benchmark-crypto-hmac$(EXESUF)
-check-speed-$(CONFIG_BLOCK) += tests/benchmark-crypto-cipher$(EXESUF)
-
 QEMU_CFLAGS += -I$(SRC_PATH)/tests -I$(SRC_PATH)/tests/qtest
 
-tests/benchmark-crypto-hash$(EXESUF): tests/benchmark-crypto-hash.o $(test-crypto-obj-y)
-tests/benchmark-crypto-hmac$(EXESUF): tests/benchmark-crypto-hmac.o $(test-crypto-obj-y)
-tests/benchmark-crypto-cipher$(EXESUF): tests/benchmark-crypto-cipher.o $(test-crypto-obj-y)
-
 tests/migration/stress$(EXESUF): tests/migration/stress.o
 	$(call quiet-command, $(LINKPROG) -static -O3 $(PTHREAD_LIB) -o $@ $< ,"LINK","$(TARGET_DIR)$@")
 
@@ -97,9 +89,6 @@ define do_test_tap
 	  "TAP","$@")
 endef
 
-check-speed: $(check-speed-y)
-	$(call do_test_human, $^)
-
 # Per guest TCG tests
 
 BUILD_TCG_TARGET_RULES=$(patsubst %,build-tcg-tests-%, $(TARGET_DIRS))
diff --git a/tests/meson.build b/tests/meson.build
index a2902bde45..4d6bcf06b3 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -108,6 +108,8 @@ tests = {
   'test-qapi-util': {},
 }
 
+benchs = {}
+
 if have_block
   tests += {
     'test-coroutine': {'deps': [testblock]},
@@ -166,6 +168,11 @@ if have_block
   if 'CONFIG_NETTLE' in config_host or 'CONFIG_GCRYPT' in config_host
     tests += {'test-crypto-pbkdf': {'deps': [io]}}
   endif
+  benchs += {
+     'benchmark-crypto-hash': {'deps': [crypto]},
+     'benchmark-crypto-hmac': {'deps': [crypto]},
+     'benchmark-crypto-cipher': {'deps': [crypto]},
+  }
 endif
 
 if have_system
@@ -225,6 +232,15 @@ foreach test_name, extra_args: tests
        suite: suite)
 endforeach
 
+foreach bench_name, extra_args: benchs
+  src = extra_args.get('src', [bench_name + '.c'])
+  exe = executable(bench_name, src,
+                   dependencies: [qemuutil] + extra_args.get('deps', []))
+  benchmark(bench_name, exe,
+            args: ['--tap', '-k'],
+            protocol: 'tap',
+            suite: ['speed'])
+endforeach
 
 if have_tools and 'CONFIG_VHOST_USER' in config_host
   executable('vhost-user-bridge',
-- 
2.26.2



  parent reply	other threads:[~2020-08-28 11:14 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-28 11:07 [PATCH 00/16] meson: convert unit tests in tests/Makefile.include marcandre.lureau
2020-08-28 11:07 ` [PATCH 01/16] meson: build qapi tests library marcandre.lureau
2020-08-28 11:07 ` [PATCH 02/16] meson: declare tasn1 dependency marcandre.lureau
2020-08-28 11:07 ` [PATCH 03/16] meson: declare keyutils dependency marcandre.lureau
2020-08-28 11:07 ` [PATCH 04/16] meson: convert qht-bench marcandre.lureau
2020-08-28 11:07 ` [PATCH 05/16] tests: qga has virtio-serial by default when host has it marcandre.lureau
2020-08-28 12:54   ` Thomas Huth
2020-08-28 13:47     ` Marc-André Lureau
2020-08-28 11:07 ` [PATCH 06/16] meson: convert the unit tests marcandre.lureau
2020-08-28 11:07 ` [PATCH 07/16] meson: move keyutils dependency check marcandre.lureau
2020-08-28 11:07 ` [PATCH 08/16] meson: remove old socket_scm_helper rule marcandre.lureau
2020-08-28 11:07 ` [PATCH 09/16] meson: convert vhost-user-bridge marcandre.lureau
2020-08-28 11:07 ` [PATCH 10/16] meson: convert atomic*-bench marcandre.lureau
2020-08-28 11:07 ` [PATCH 11/16] tests/Makefile.include: update check-build marcandre.lureau
2020-08-28 11:07 ` [PATCH 12/16] tests: do not print benchmark output to stdout marcandre.lureau
2020-08-31 17:43   ` Philippe Mathieu-Daudé
2020-08-28 11:07 ` marcandre.lureau [this message]
2020-08-28 11:07 ` [PATCH 14/16] tests/migration/stress: remove unused exit_success marcandre.lureau
2020-08-28 11:07 ` [PATCH 15/16] meson: fix migration/stress compilation with glib>=2.30 marcandre.lureau
2020-08-28 11:07 ` [PATCH 16/16] meson: convert migration/initrd-stress marcandre.lureau
2020-08-28 12:56 ` [PATCH 00/16] meson: convert unit tests in tests/Makefile.include Thomas Huth
2020-08-28 12:59   ` Marc-André Lureau
2020-08-28 13:25     ` Thomas Huth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200828110734.1638685-14-marcandre.lureau@redhat.com \
    --to=marcandre.lureau@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.