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
next prev 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.