diff mbox series

[v2] bitbake: toaster: fix pytest build test execution and test discovery

Message ID 20231201144833.4158-1-alexander.lussier-cullen@savoirfairelinux.com
State New
Headers show
Series [v2] bitbake: toaster: fix pytest build test execution and test discovery | expand

Commit Message

Alexander Lussier-Cullen Dec. 1, 2023, 2:48 p.m. UTC
Ensure the proper django settings are used by moving the variable to
the environment assignment.
Remove python file specifier as this works relative to the working
directory, which can vary. The test file directory can instead be
specified when executing the pytest command.
Add annotations required to allow database access with pytest to the
build tests.

Signed-off-by: Alexander Lussier-Cullen <alexander.lussier-cullen@savoirfairelinux.com>
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 bitbake/lib/toaster/pytest.ini                          | 5 +----
 bitbake/lib/toaster/tests/builds/test_core_image_min.py | 2 ++
 2 files changed, 3 insertions(+), 4 deletions(-)

Comments

Richard Purdie Dec. 2, 2023, 6:05 p.m. UTC | #1
On Fri, 2023-12-01 at 09:48 -0500, Alexander Lussier-Cullen wrote:
> Ensure the proper django settings are used by moving the variable to
> the environment assignment.
> Remove python file specifier as this works relative to the working
> directory, which can vary. The test file directory can instead be
> specified when executing the pytest command.
> Add annotations required to allow database access with pytest to the
> build tests.
> 
> Signed-off-by: Alexander Lussier-Cullen <alexander.lussier-cullen@savoirfairelinux.com>
> CC: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  bitbake/lib/toaster/pytest.ini                          | 5 +----
>  bitbake/lib/toaster/tests/builds/test_core_image_min.py | 2 ++
>  2 files changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/bitbake/lib/toaster/pytest.ini b/bitbake/lib/toaster/pytest.ini
> index f07076b7ea..071c65fcd5 100644
> --- a/bitbake/lib/toaster/pytest.ini
> +++ b/bitbake/lib/toaster/pytest.ini
> @@ -1,9 +1,5 @@
>  # -- FILE: pytest.ini (or tox.ini)
>  [pytest]
> -DJANGO_SETTINGS_MODULE = toastermain.settings_test
> -
> -python_files = db/test_*.py commands/test_*.py views/test_*.py browser/test_*.py functional/test_*.py
> -
>  # --create-db - force re creation of the test database
>  # https://pytest-django.readthedocs.io/en/latest/database.html#create-db-force-re-creation-of-the-test-database
>  
> @@ -17,3 +13,4 @@ addopts = --create-db --html="Toaster Tests Report.html" --self-contained-html
>  # https://pypi.org/project/pytest-env/
>  env =
>      TOASTER_BUILDSERVER=1
> +    DJANGO_SETTINGS_MODULE=toastermain.settings_test
> diff --git a/bitbake/lib/toaster/tests/builds/test_core_image_min.py b/bitbake/lib/toaster/tests/builds/test_core_image_min.py
> index 9cdaa15f98..ca388eabe7 100644
> --- a/bitbake/lib/toaster/tests/builds/test_core_image_min.py
> +++ b/bitbake/lib/toaster/tests/builds/test_core_image_min.py
> @@ -10,6 +10,7 @@
>  # Ionut Chisanovici, Paul Eggleton and Cristian Iorga
>  
>  import os
> +import pytest
>  
>  from django.db.models import Q
>  
> @@ -21,6 +22,7 @@ from orm.models import CustomImagePackage
>  from tests.builds.buildtest import BuildTest
>  
>  
> +@pytest.mark.django_db(True)
>  class BuildCoreImageMinimal(BuildTest):
>      """Build core-image-minimal and test the results"""
>  

This and the helper patch don't seem to work so well:

https://autobuilder.yoctoproject.org/typhoon/#/builders/161/builds/16/steps/11/logs/stdio

Cheers,

Richard
diff mbox series

Patch

diff --git a/bitbake/lib/toaster/pytest.ini b/bitbake/lib/toaster/pytest.ini
index f07076b7ea..071c65fcd5 100644
--- a/bitbake/lib/toaster/pytest.ini
+++ b/bitbake/lib/toaster/pytest.ini
@@ -1,9 +1,5 @@ 
 # -- FILE: pytest.ini (or tox.ini)
 [pytest]
-DJANGO_SETTINGS_MODULE = toastermain.settings_test
-
-python_files = db/test_*.py commands/test_*.py views/test_*.py browser/test_*.py functional/test_*.py
-
 # --create-db - force re creation of the test database
 # https://pytest-django.readthedocs.io/en/latest/database.html#create-db-force-re-creation-of-the-test-database
 
@@ -17,3 +13,4 @@  addopts = --create-db --html="Toaster Tests Report.html" --self-contained-html
 # https://pypi.org/project/pytest-env/
 env =
     TOASTER_BUILDSERVER=1
+    DJANGO_SETTINGS_MODULE=toastermain.settings_test
diff --git a/bitbake/lib/toaster/tests/builds/test_core_image_min.py b/bitbake/lib/toaster/tests/builds/test_core_image_min.py
index 9cdaa15f98..ca388eabe7 100644
--- a/bitbake/lib/toaster/tests/builds/test_core_image_min.py
+++ b/bitbake/lib/toaster/tests/builds/test_core_image_min.py
@@ -10,6 +10,7 @@ 
 # Ionut Chisanovici, Paul Eggleton and Cristian Iorga
 
 import os
+import pytest
 
 from django.db.models import Q
 
@@ -21,6 +22,7 @@  from orm.models import CustomImagePackage
 from tests.builds.buildtest import BuildTest
 
 
+@pytest.mark.django_db(True)
 class BuildCoreImageMinimal(BuildTest):
     """Build core-image-minimal and test the results"""