From: Sean Christopherson <sean.j.christopherson@intel.com>
To: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Cc: linux-sgx@vger.kernel.org, serge.ayoun@intel.com,
shay.katz-zamir@intel.com
Subject: Re: [PATCH v3 7/7] selftests/x86: Recurse into subdirectories
Date: Wed, 21 Aug 2019 20:42:04 -0700 [thread overview]
Message-ID: <20190822034204.GR29345@linux.intel.com> (raw)
In-Reply-To: <20190819132830.9056-8-jarkko.sakkinen@linux.intel.com>
On Mon, Aug 19, 2019 at 04:28:30PM +0300, Jarkko Sakkinen wrote:
> Recurse into a list of subdirectories defined by SUBDIRS when running
> x86 selftests. Override run_tests, install, emit_tests and clean
> targets to implement this behaviour.
The code looks good (which doesn't say much, my Makefile knowledge is
garbage), but the result is a bit odd. x86/sgx doesn't implement
emit_tests (or at least test_sgx doesn't show up), while the rest of the
x86 tests don't support install.
AFAICT the Makefile is itself weird; it's definitely different than other
selftests Makfiles. I don't see any reason to delay this patch, but it
feels like something here needs to be cleaned up.
> A possible alternative would be to add "x86/sgx" to TARGETS. However,
> this would be problematic because detecting 64-bit build would have
> to duplicated.
>
> The implementation is derived from the makefiles of powerpc and sparc64
> selftests.
>
> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> ---
> tools/testing/selftests/x86/Makefile | 44 ++++++++++++++++++++++++++++
> 1 file changed, 44 insertions(+)
>
> diff --git a/tools/testing/selftests/x86/Makefile b/tools/testing/selftests/x86/Makefile
> index fa07d526fe39..80571bac8ed5 100644
> --- a/tools/testing/selftests/x86/Makefile
> +++ b/tools/testing/selftests/x86/Makefile
> @@ -10,6 +10,8 @@ CAN_BUILD_I386 := $(shell ./check_cc.sh $(CC) trivial_32bit_program.c -m32)
> CAN_BUILD_X86_64 := $(shell ./check_cc.sh $(CC) trivial_64bit_program.c)
> CAN_BUILD_WITH_NOPIE := $(shell ./check_cc.sh $(CC) trivial_program.c -no-pie)
>
> +SUBDIRS := sgx
> +
> TARGETS_C_BOTHBITS := single_step_syscall sysret_ss_attrs syscall_nt test_mremap_vdso \
> check_initial_reg_state sigreturn iopl mpx-mini-test ioperm \
> protection_keys test_vdso test_vsyscall mov_ss_trap \
> @@ -59,6 +61,48 @@ endif
>
> ifeq ($(CAN_BUILD_X86_64),1)
> all: all_64
> + @for DIR in $(SUBDIRS); do \
> + BUILD_TARGET=$(OUTPUT)/$$DIR; \
> + mkdir $$BUILD_TARGET -p; \
> + make OUTPUT=$$BUILD_TARGET -C $$DIR $@; \
> + done
> +
> +DEFAULT_RUN_TESTS := $(RUN_TESTS)
> +override define RUN_TESTS
> + $(DEFAULT_RUN_TESTS)
> + @for TARGET in $(SUBDIRS); do \
> + BUILD_TARGET=$(OUTPUT)/$$TARGET; \
> + $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests; \
> + done;
> +endef
> +
> +DEFAULT_INSTALL_RULE := $(INSTALL_RULE)
> +override define INSTALL_RULE
> + $(DEFAULT_INSTALL_RULE)
> + @for TARGET in $(SUBDIRS); do \
> + BUILD_TARGET=$(OUTPUT)/$$TARGET; \
> + $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install; \
> + done;
> +endef
> +
> +DEFAULT_EMIT_TESTS := $(EMIT_TESTS)
> +override define EMIT_TESTS
> + $(DEFAULT_EMIT_TESTS)
> + @for TARGET in $(SUBDIRS); do \
> + BUILD_TARGET=$(OUTPUT)/$$TARGET; \
> + $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests; \
> + done;
> +endef
> +
> +DEFAULT_CLEAN := $(CLEAN)
> +override define CLEAN
> + $(DEFAULT_CLEAN)
> + @for TARGET in $(SUBDIRS); do \
> + BUILD_TARGET=$(OUTPUT)/$$TARGET; \
> + $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \
> + done;
> +endef
> +
> TEST_PROGS += $(BINARIES_64)
> EXTRA_CFLAGS += -DCAN_BUILD_64
> $(foreach t,$(TARGETS_C_64BIT_ALL),$(eval $(call gen-target-rule-64,$(t))))
> --
> 2.20.1
>
next prev parent reply other threads:[~2019-08-22 3:42 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-19 13:28 [PATCH v3 0/7] Fix the reported SGX selftest makefile issues Jarkko Sakkinen
2019-08-19 13:28 ` [PATCH v3 1/7] selftests/x86/sgx: Fix objcopy call in the Makefile Jarkko Sakkinen
2019-08-19 13:28 ` [PATCH v3 2/7] selftests/x86/sgx: Do not generate object files Jarkko Sakkinen
2019-08-19 13:28 ` [PATCH v3 3/7] selftests/x86/sgx: Add -I$(OUTPUT) when compiling encl_piggy.S Jarkko Sakkinen
2019-08-19 13:28 ` [PATCH v3 4/7] selftests/x86/sgx: Fix EXTRA_CLEAN Jarkko Sakkinen
2019-08-19 13:28 ` [PATCH v3 5/7] selftests/x86/sgx: Fix target in the Makefile Jarkko Sakkinen
2019-08-19 13:28 ` [PATCH v3 6/7] selftests/x86: Revert SGX changes Jarkko Sakkinen
2019-08-19 13:28 ` [PATCH v3 7/7] selftests/x86: Recurse into subdirectories Jarkko Sakkinen
2019-08-22 3:42 ` Sean Christopherson [this message]
2019-08-22 14:59 ` Jarkko Sakkinen
2019-08-22 15:02 ` Jarkko Sakkinen
2019-08-22 16:13 ` Jarkko Sakkinen
2019-08-22 16:14 ` Jarkko Sakkinen
2019-08-22 3:31 ` [PATCH v3 0/7] Fix the reported SGX selftest makefile issues Sean Christopherson
2019-08-22 14:58 ` Jarkko Sakkinen
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=20190822034204.GR29345@linux.intel.com \
--to=sean.j.christopherson@intel.com \
--cc=jarkko.sakkinen@linux.intel.com \
--cc=linux-sgx@vger.kernel.org \
--cc=serge.ayoun@intel.com \
--cc=shay.katz-zamir@intel.com \
/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.