From d72b29cca1563d67e77354dc33633ee6181a1c44 Mon Sep 17 00:00:00 2001 From: Andrii Shtompel Date: Tue, 28 Jul 2026 10:38:11 +0200 Subject: [PATCH] xtest: gate the GP socket tests at compile time Always compile regression_2000.c, sock_server.c and rand_stream.c and guard their contents with CFG_GP_SOCKETS taken from conf.h, instead of selecting them into the source list with CFG_GP_SOCKETS taken from the TA dev kit conf.mk. During the Android build, conf.mk is read by kati to generate a build description for ninja before any actual build happens (including optee_os and ta dev kit), so this results in a missing conf.mk file and a wrong ninja build configuration. These three files were therefore dropped without any diagnostics on a clean build, and xtest ended up without the GP socket tests even though the TEE is built with support for them. Adding an optee_os/dev kit build dependency for optee_test can't help, because kati generates the very ninja graph that would build conf.mk. conf.h, on the other hand, is force-included by all three build systems and is guaranteed to be there by the time the compiler runs. This is what commit 44ec72bb1af7 ("xtest: remove CFG_SECSTOR_TA_MGMT_PTA dependency") already did for install_ta.c. No functional change for either setting of CFG_GP_SOCKETS. Link: https://github.com/OP-TEE/optee_test/issues/275 [1] Signed-off-by: Andrii Shtompel --- Android.mk | 14 +++++--------- host/xtest/CMakeLists.txt | 11 +++-------- host/xtest/Makefile | 14 +++++--------- host/xtest/rand_stream.c | 4 ++++ host/xtest/regression_2000.c | 4 ++++ host/xtest/sock_server.c | 4 ++++ 6 files changed, 25 insertions(+), 26 deletions(-) diff --git a/Android.mk b/Android.mk index c6ef29f8b..27d2f7c83 100644 --- a/Android.mk +++ b/Android.mk @@ -28,15 +28,7 @@ LOCAL_SHARED_LIBRARIES := libteec TA_DIR ?= /vendor/lib/optee_armtz -srcs := regression_1000.c - -ifeq ($(CFG_GP_SOCKETS),y) -srcs += regression_2000.c \ - sock_server.c \ - rand_stream.c -endif - -srcs += adbg/src/adbg_case.c \ +srcs := adbg/src/adbg_case.c \ adbg/src/adbg_enum.c \ adbg/src/adbg_expect.c \ adbg/src/adbg_log.c \ @@ -46,6 +38,8 @@ srcs += adbg/src/adbg_case.c \ benchmark_1000.c \ benchmark_2000.c \ clear_storage.c \ + regression_1000.c \ + regression_2000.c \ regression_4000.c \ regression_4100.c \ regression_5000.c \ @@ -54,6 +48,8 @@ srcs += adbg/src/adbg_case.c \ regression_8100.c \ hash_perf.c \ install_ta.c \ + rand_stream.c \ + sock_server.c \ stats.c \ symm_cipher_perf.c \ xtest_helpers.c \ diff --git a/host/xtest/CMakeLists.txt b/host/xtest/CMakeLists.txt index da193bdc3..97dad6651 100644 --- a/host/xtest/CMakeLists.txt +++ b/host/xtest/CMakeLists.txt @@ -50,6 +50,7 @@ set (SRC benchmark_2000.c clear_storage.c regression_1000.c + regression_2000.c regression_4000.c regression_4100.c regression_5000.c @@ -58,6 +59,8 @@ set (SRC regression_8100.c hash_perf.c install_ta.c + rand_stream.c + sock_server.c stats.c symm_cipher_perf.c xtest_helpers.c @@ -94,14 +97,6 @@ if (WITH_GP_TESTS) set (GP_INCLUDES PRIVATE gp/include) endif() -if (CFG_GP_SOCKETS) - list (APPEND SRC - regression_2000.c - sock_server.c - rand_stream.c - ) -endif() - if (CFG_SECURE_DATA_PATH) list (APPEND SRC sdp_basic.c) endif() diff --git a/host/xtest/Makefile b/host/xtest/Makefile index 18ffb7b85..0c3bf833a 100644 --- a/host/xtest/Makefile +++ b/host/xtest/Makefile @@ -47,15 +47,7 @@ endif LDFLAGS += -lcrypto endif #require OpenSSL -srcs := regression_1000.c - -ifeq ($(CFG_GP_SOCKETS),y) -srcs += regression_2000.c \ - sock_server.c \ - rand_stream.c -endif - -srcs += adbg/src/adbg_case.c \ +srcs := adbg/src/adbg_case.c \ adbg/src/adbg_enum.c \ adbg/src/adbg_expect.c \ adbg/src/adbg_log.c \ @@ -65,6 +57,8 @@ srcs += adbg/src/adbg_case.c \ benchmark_1000.c \ benchmark_2000.c \ clear_storage.c \ + regression_1000.c \ + regression_2000.c \ regression_4000.c \ regression_4100.c \ regression_5000.c \ @@ -73,6 +67,8 @@ srcs += adbg/src/adbg_case.c \ regression_8100.c \ hash_perf.c \ install_ta.c \ + rand_stream.c \ + sock_server.c \ stats.c \ symm_cipher_perf.c \ xtest_helpers.c \ diff --git a/host/xtest/rand_stream.c b/host/xtest/rand_stream.c index d8292b72d..b271371e4 100644 --- a/host/xtest/rand_stream.c +++ b/host/xtest/rand_stream.c @@ -3,6 +3,8 @@ * Copyright (c) 2016, Linaro Limited */ +#ifdef CFG_GP_SOCKETS + #include #include #include @@ -115,3 +117,5 @@ void rand_stream_advance(struct rand_stream *rs, size_t num_bytes) get_random(rs, rs->stream_buf, rs->sb_size); rs->sb_offs = nb; } + +#endif /* CFG_GP_SOCKETS */ diff --git a/host/xtest/regression_2000.c b/host/xtest/regression_2000.c index 0591a42c1..c873626bc 100644 --- a/host/xtest/regression_2000.c +++ b/host/xtest/regression_2000.c @@ -3,6 +3,8 @@ * Copyright (c) 2016, Linaro Limited */ +#ifdef CFG_GP_SOCKETS + #include #include #include @@ -927,3 +929,5 @@ static void xtest_tee_test_2004(ADBG_Case_t *c) } ADBG_CASE_DEFINE(regression, 2004, xtest_tee_test_2004, "UDP iSocket API tests"); + +#endif /* CFG_GP_SOCKETS */ diff --git a/host/xtest/sock_server.c b/host/xtest/sock_server.c index 20ad6fcd0..eb1b9a3ee 100644 --- a/host/xtest/sock_server.c +++ b/host/xtest/sock_server.c @@ -3,6 +3,8 @@ * Copyright (c) 2016, Linaro Limited */ +#ifdef CFG_GP_SOCKETS + #include #include #include @@ -394,3 +396,5 @@ void sock_server_unlock(struct sock_server *ts) errx(1, "sock_server_unlock: pthread_mutex_unlock: %s", strerror(e)); } + +#endif /* CFG_GP_SOCKETS */