All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ivan Orlov <ivan.orlov0322@gmail.com>
To: opensbi@lists.infradead.org
Subject: [PATCH 1/2] lib: tests: Move tests to a separate directory
Date: Wed, 13 Mar 2024 15:01:57 +0000	[thread overview]
Message-ID: <20240313150158.204455-2-ivan.orlov0322@gmail.com> (raw)
In-Reply-To: <20240313150158.204455-1-ivan.orlov0322@gmail.com>

Move all of the SBIUnit-related code into the lib/sbi/tests directory.
Update 'Makefile' to index objects from the tests subdirectory.

I don't think creating the full separate list of Makefile variables
(libsbitests-objs-path-y, libsbitests-object-mks, etc. as it is done for
libsbiutils) is necessary for the tests because:

1) `lib/sbi/tests/objects.mk` is already indexed into
'libsbi-objects-mks' since the find expression for the libsbi-object-mks
variable looks for objects.mk files in the nested directories as well).

2) Tests are tightly coupled with the `lib/sbi/` sources, therefore it
may be reasonable to store the list of lib/sbi and lib/sbi/tests object
files together in the libsbi-objs-path-y variable.

Additionally, update relative paths in the tests where necessary.

Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com>
---
 Makefile                                  | 2 ++
 lib/sbi/objects.mk                        | 6 ------
 lib/sbi/sbi_console.c                     | 2 +-
 lib/sbi/tests/objects.mk                  | 6 ++++++
 lib/sbi/{ => tests}/sbi_bitmap_test.c     | 0
 lib/sbi/{ => tests}/sbi_console_test.c    | 0
 lib/sbi/{ => tests}/sbi_unit_test.c       | 0
 lib/sbi/{ => tests}/sbi_unit_tests.carray | 0
 8 files changed, 9 insertions(+), 7 deletions(-)
 create mode 100644 lib/sbi/tests/objects.mk
 rename lib/sbi/{ => tests}/sbi_bitmap_test.c (100%)
 rename lib/sbi/{ => tests}/sbi_console_test.c (100%)
 rename lib/sbi/{ => tests}/sbi_unit_test.c (100%)
 rename lib/sbi/{ => tests}/sbi_unit_tests.carray (100%)

diff --git a/Makefile b/Makefile
index 680c19a..eef321e 100644
--- a/Makefile
+++ b/Makefile
@@ -247,6 +247,8 @@ include $(firmware-object-mks)
 
 # Setup list of objects
 libsbi-objs-path-y=$(foreach obj,$(libsbi-objs-y),$(build_dir)/lib/sbi/$(obj))
+# Index unit tests
+libsbi-objs-path-y+=$(foreach obj,$(libsbitests-objs-y),$(build_dir)/lib/sbi/tests/$(obj))
 ifdef PLATFORM
 libsbiutils-objs-path-y=$(foreach obj,$(libsbiutils-objs-y),$(platform_build_dir)/lib/utils/$(obj))
 platform-objs-path-y=$(foreach obj,$(platform-objs-y),$(platform_build_dir)/$(obj))
diff --git a/lib/sbi/objects.mk b/lib/sbi/objects.mk
index 2bed7f3..5d06d25 100644
--- a/lib/sbi/objects.mk
+++ b/lib/sbi/objects.mk
@@ -11,12 +11,6 @@ libsbi-objs-y += riscv_asm.o
 libsbi-objs-y += riscv_atomic.o
 libsbi-objs-y += riscv_hardfp.o
 libsbi-objs-y += riscv_locks.o
-libsbi-objs-$(CONFIG_SBIUNIT) += sbi_unit_test.o
-libsbi-objs-$(CONFIG_SBIUNIT) += sbi_unit_tests.o
-
-libsbi-objs-$(CONFIG_SBIUNIT) += sbi_bitmap_test.o
-carray-sbi_unit_tests-$(CONFIG_SBIUNIT) += bitmap_test_suite
-carray-sbi_unit_tests-$(CONFIG_SBIUNIT) += console_test_suite
 
 libsbi-objs-y += sbi_ecall.o
 libsbi-objs-y += sbi_ecall_exts.o
diff --git a/lib/sbi/sbi_console.c b/lib/sbi/sbi_console.c
index d1229d0..8d1ad2e 100644
--- a/lib/sbi/sbi_console.c
+++ b/lib/sbi/sbi_console.c
@@ -490,5 +490,5 @@ int sbi_console_init(struct sbi_scratch *scratch)
 }
 
 #ifdef CONFIG_SBIUNIT
-#include "sbi_console_test.c"
+#include "tests/sbi_console_test.c"
 #endif
diff --git a/lib/sbi/tests/objects.mk b/lib/sbi/tests/objects.mk
new file mode 100644
index 0000000..0397172
--- /dev/null
+++ b/lib/sbi/tests/objects.mk
@@ -0,0 +1,6 @@
+libsbitests-objs-$(CONFIG_SBIUNIT) += sbi_unit_test.o
+libsbitests-objs-$(CONFIG_SBIUNIT) += sbi_unit_tests.o
+
+libsbitests-objs-$(CONFIG_SBIUNIT) += sbi_bitmap_test.o
+carray-sbi_unit_tests-$(CONFIG_SBIUNIT) += bitmap_test_suite
+carray-sbi_unit_tests-$(CONFIG_SBIUNIT) += console_test_suite
diff --git a/lib/sbi/sbi_bitmap_test.c b/lib/sbi/tests/sbi_bitmap_test.c
similarity index 100%
rename from lib/sbi/sbi_bitmap_test.c
rename to lib/sbi/tests/sbi_bitmap_test.c
diff --git a/lib/sbi/sbi_console_test.c b/lib/sbi/tests/sbi_console_test.c
similarity index 100%
rename from lib/sbi/sbi_console_test.c
rename to lib/sbi/tests/sbi_console_test.c
diff --git a/lib/sbi/sbi_unit_test.c b/lib/sbi/tests/sbi_unit_test.c
similarity index 100%
rename from lib/sbi/sbi_unit_test.c
rename to lib/sbi/tests/sbi_unit_test.c
diff --git a/lib/sbi/sbi_unit_tests.carray b/lib/sbi/tests/sbi_unit_tests.carray
similarity index 100%
rename from lib/sbi/sbi_unit_tests.carray
rename to lib/sbi/tests/sbi_unit_tests.carray
-- 
2.34.1



  reply	other threads:[~2024-03-13 15:01 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-13 15:01 [PATCH 0/2] Move tests to the 'tests' directory Ivan Orlov
2024-03-13 15:01 ` Ivan Orlov [this message]
2024-03-19  5:55   ` [PATCH 1/2] lib: tests: Move tests to a separate directory Anup Patel
2024-03-19 15:43     ` Ivan Orlov
2024-03-19 15:47       ` Anup Patel
2024-03-19 15:52         ` Ivan Orlov
2024-03-19 16:23           ` Ivan Orlov
2024-03-13 15:01 ` [PATCH 2/2] docs/writing_tests: Update tests paths Ivan Orlov
2024-03-19  5:56   ` Anup Patel

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=20240313150158.204455-2-ivan.orlov0322@gmail.com \
    --to=ivan.orlov0322@gmail.com \
    --cc=opensbi@lists.infradead.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.