bitbake: toaster: fixed: Tests fail when executed one after the other out of sequence

As mentionned in earlier commit, pytest-django takes a conservative approach
to enabling database access. By default our tests will fail if they try to access
the database, Only if we explicitly request database access will this be allowed,
using pytest marks to tell pytest-django our test needs database access.

A side effect of pytest mark, is test_case method marked is execute out of
scope of its module class, which create an inconsistance sequence and make fails
followings tests.

The scope of the ordering is global per default, e.g. tests with lower ordinal
numbers are always executed before tests with higher numbers in the same test session,
regardless of the module and class they reside in. This can be changed by using
the --order-scope option from module pytest-order.

To fix that i added execution order to tests suite using pytest-order.

(Bitbake rev: 8bf32459ab6d8ce7632fca0a4ce0f3aecc7495c2)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alassane Yattara
2023-11-09 16:55:44 +01:00
committed by Richard Purdie
parent 5e46a34555
commit 8b957cf1fe
3 changed files with 6 additions and 1 deletions

View File

@@ -8,12 +8,14 @@
#
import re, time
import pytest
from django.urls import reverse
import pytest
from tests.functional.functional_helpers import SeleniumFunctionalTestCase
from orm.models import Project
from selenium.webdriver.common.by import By
@pytest.mark.order("last")
class FuntionalTestBasic(SeleniumFunctionalTestCase):
# testcase (1514)

View File

@@ -4,3 +4,4 @@ pytest-django==4.5.2
pytest-env==1.1.0
pytest-html==4.0.2
pytest-metadata==3.0.0
pytest-order==1.1.0

View File

@@ -9,6 +9,7 @@
"""Test cases for Toaster GUI and ReST."""
import pytest
from django.test import TestCase
from django.test.client import RequestFactory
from django.urls import reverse
@@ -33,6 +34,7 @@ PROJECT_NAME2 = "test project 2"
CLI_BUILDS_PROJECT_NAME = 'Command line builds'
@pytest.mark.order(1)
class ViewTests(TestCase):
"""Tests to verify view APIs."""