[PATCH 0/1] Skip cleanup test if not built out of tree

This patch avoids false positives in cases where tests are invoked with test.py --build-dir=./ .
See tbot issue 107 [1] for motivation and prior discussion.
Previously it resulted in: E AssertionError: leftovers: net/mdio-uclass.c, net/bootp.c, [...]
Now it results in: SKIPPED [2] test/py/tests/test_cleanup_build.py:23: Leftover detection requires out of tree build.
[1] https://github.com/Rahix/tbot/issues/107#issuecomment-1880192186
Tobias Deiminger (1): test: Skip cleanup test if not built out of tree
test/py/tests/test_cleanup_build.py | 5 +++++ 1 file changed, 5 insertions(+)
base-commit: 93d91e9485d902a1836a22e72d1a545b587adf36

42c0e5bb054d ("test: Find leftovers after clean/mrproper") assumes out of tree builds. test_clean and test_mrproper fail if the assumption isn't met.
However there are valid scenarios where tests run with in source builds (i.e., test.py --build-dir=.).
Automatically skip cleanup tests in such scenarios to prevent false positives.
Signed-off-by: Tobias Deiminger tdmg@linutronix.de --- test/py/tests/test_cleanup_build.py | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/test/py/tests/test_cleanup_build.py b/test/py/tests/test_cleanup_build.py index 5206ff73ec..aca90cb110 100644 --- a/test/py/tests/test_cleanup_build.py +++ b/test/py/tests/test_cleanup_build.py @@ -17,6 +17,11 @@ import pytest @pytest.fixture def tmp_copy_of_builddir(u_boot_config, tmp_path): """For each test, provide a temporary copy of the initial build directory.""" + if os.path.realpath(u_boot_config.source_dir) == os.path.realpath( + u_boot_config.build_dir + ): + pytest.skip("Leftover detection requires out of tree build.") + return None shutil.copytree( u_boot_config.build_dir, tmp_path,

On Mon, 2024-01-08 at 22:11 +0100, Tobias Deiminger wrote:
42c0e5bb054d ("test: Find leftovers after clean/mrproper") assumes out of tree builds. test_clean and test_mrproper fail if the assumption isn't met.
However there are valid scenarios where tests run with in source builds (i.e., test.py --build-dir=.).
Automatically skip cleanup tests in such scenarios to prevent false positives.
Signed-off-by: Tobias Deiminger tdmg@linutronix.de
Reviewed-by: Harald Seiler u-boot@rahix.de
test/py/tests/test_cleanup_build.py | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/test/py/tests/test_cleanup_build.py b/test/py/tests/test_cleanup_build.py index 5206ff73ec..aca90cb110 100644 --- a/test/py/tests/test_cleanup_build.py +++ b/test/py/tests/test_cleanup_build.py @@ -17,6 +17,11 @@ import pytest @pytest.fixture def tmp_copy_of_builddir(u_boot_config, tmp_path): """For each test, provide a temporary copy of the initial build directory.""" + if os.path.realpath(u_boot_config.source_dir) == os.path.realpath( + u_boot_config.build_dir + ): + pytest.skip("Leftover detection requires out of tree build.") + return None shutil.copytree( u_boot_config.build_dir, tmp_path,

On Mon, Jan 08, 2024 at 10:11:00PM +0100, Tobias Deiminger wrote:
42c0e5bb054d ("test: Find leftovers after clean/mrproper") assumes out of tree builds. test_clean and test_mrproper fail if the assumption isn't met.
However there are valid scenarios where tests run with in source builds (i.e., test.py --build-dir=.).
Automatically skip cleanup tests in such scenarios to prevent false positives.
Signed-off-by: Tobias Deiminger tdmg@linutronix.de Reviewed-by: Harald Seiler u-boot@rahix.de
Applied to u-boot/master, thanks!

On 2024-01-08 22:10, Tobias Deiminger wrote:
This patch avoids false positives in cases where tests are invoked with test.py --build-dir=./ .
See tbot issue 107 [1] for motivation and prior discussion.
Previously it resulted in: E AssertionError: leftovers: net/mdio-uclass.c, net/bootp.c, [...]
Now it results in: SKIPPED [2] test/py/tests/test_cleanup_build.py:23: Leftover detection requires out of tree build.
[1] https://github.com/Rahix/tbot/issues/107#issuecomment-1880192186
If I may suggest, there's no need for a cover letter for a single patch. If you want to include some notes in the patch submission, which aren't supposed to be part of the commit summary, you can do that in the patch itself.
Tobias Deiminger (1): test: Skip cleanup test if not built out of tree
test/py/tests/test_cleanup_build.py | 5 +++++ 1 file changed, 5 insertions(+)
base-commit: 93d91e9485d902a1836a22e72d1a545b587adf36
participants (4)
-
Dragan Simic
-
rahix
-
Tobias Deiminger
-
Tom Rini