summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* bitbake: toaster/tox.ini: Add py 3.11 and 3.12Richard Purdie2023-11-161-1/+1
| | | | | | | | | Some of the autobuilder workers have python 3.11 or in the future 3.12. Add these to allow toaster tests to work on those platforms. (Bitbake rev: 04d5edd81f5e924370090d68fd4a254abaacbfe4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Refactor StaleSetSceneTasks event out of ↵Richard Purdie2023-11-161-18/+18
| | | | | | | | | | | | | | build_scenequeue_data The event at the end of the function doesn't really belong there, move it out so the function becomes cleaner. It also avoids having to pass a number of parameters around, another sign this is the correct thing to do. This continues refactoring started a while ago to improve and modularise the code. (Bitbake rev: f712b927a84e8b8deaa8c907e8f9bcdec681f2aa) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Move 'cantskip' into sqdataRichard Purdie2023-11-161-7/+7
| | | | | | | | | Conceptually, this belongs in sqdata so this is the next step in refactoring this code, continuing what was started a while ago. (Bitbake rev: 2cf267cb657cd1864db43955cc010abba7a64093) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: test_create_new_project typos, whitespaceTim Orling2023-11-141-5/+5
| | | | | | | | | | | | * Cleanup an extraneous # at the end of the hash bang line. * Cleanup some trailing whitespace errors. * Fix typo inf dunfull -> dunfell. (Bitbake rev: 3938b53f40960ff4a96a55fe5ef35b69737538a3) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix obsolete use of find_element_by_link_textTim Orling2023-11-141-9/+10
| | | | | | | | | | | | | | | | | | | The find_element_by_* commands were deprecated in 4.1.4 and have been removed in 4.3.0: https://github.com/SeleniumHQ/selenium/blob/selenium-4.3.0/py/CHANGES#L2 as they relied on the use of APIs only intended for internal use. The recommended method is to use find_elements(By.*) instead. https://www.selenium.dev/documentation/webdriver/elements/finders/#find-elements-from-element Also fix some trailing whitespace errors. (Bitbake rev: 745b555cce58414029b531d19c0dbb6768f036e3) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: use docs for BitBake link on landing pageTim Orling2023-11-142-2/+2
| | | | | | | | | | | | | | | | With the webpage refresh in November 2023, the old BitBake link https://www.yoctoproject.org/tools-resources/projects/bitbake on the landing page is no longer valid. Point the BitBake link in the landing page to https://docs.yoctoproject.org/bitbake.html Fix the test_landing_page.py test case to test for the new link. (Bitbake rev: 968c75852ec8be4f4b8204521c8eec18a7042cf5) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: asyncrpc: Add option to set log level when running as a processJoshua Watt2023-11-143-3/+6
| | | | | | | | | | | | | | | | When running an asyncrpc server as a subprocess, it is often desired to run it with a lower logging level since the normal logging of clients connecting and disconnecting is not desired. As such, add an option to set the logging level of the server when running as a subprocess and set the level to WARNING when starting a local hashserver or PRserver (Bitbake rev: 61dac7b99ad6d2a858f85d8ed1b5524d558be6c8) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: drop deprecated USE_L10N from settingsTim Orling2023-11-141-4/+0
| | | | | | | | | | | | Every build currently results in a warning because of the USE_L10N deprecation. https://docs.djangoproject.com/en/4.2/ref/settings/#use-l10n (Bitbake rev: 89df63d967dd3091fba7943f5fe5a98e2c3871e3) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: codegen: cleanup deprecated AST usagesChris Laplante2023-11-141-12/+0
| | | | | | | | | | | This code is just completely dead as of Python 3.8, like the comment says. (Bitbake rev: 92be21cde6fa40d6ba5768bd09dcc77b2efe3df8) Signed-off-by: Chris Laplante <chris.laplante@agilent.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests: Add UI TestCase to test "show rows" feature, change ↵Alassane Yattara2023-11-141-12/+52
| | | | | | | | | | | displaying rows in table Test the "show rows" feature in the builds table, on the all builds page (Bitbake rev: 04c1c46d117b98ee6ccc351323edaf90ac1436c5) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests: Add UI TestCase to test "edit column" feature ↵Alassane Yattara2023-11-141-0/+59
| | | | | | | | | | | show/hide column Test the "edit column" feature in the builds table on the all builds page (Bitbake rev: eb9f8ae240bb0b934da28474075a72a409e336ef) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests: Add UI TestCase to test filtering feature on ↵Alassane Yattara2023-11-141-2/+78
| | | | | | | | | | | 'completed_on' column Test the filtering on completed_on column in the builds table on the all builds page (Bitbake rev: bb459d5809ada703b551172c8dd3771565f80dec) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests: Add UI TestCase to test the filtering feature on ↵Alassane Yattara2023-11-141-0/+38
| | | | | | | | | | | 'failure tasks' column Test the filtering on failure tasks column in the builds table on the all builds page (Bitbake rev: 9e48818f08c71ae2529aa52166e3527850a6234f) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests: Add UI TestCase to test search box on all build pageAlassane Yattara2023-11-141-9/+34
| | | | | | | | | Test the search box in the builds table on the all builds page (Bitbake rev: 6ec40284e4fd173430cdc526716794b7da7d6523) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests: Add UI TestCase to test if 'no build' message is shownAlassane Yattara2023-11-141-0/+9
| | | | | | | | | In all builds page, check if 'no build' message is shown when there are no build. (Bitbake rev: 4aa2a4e464a9bd85e1e22c87d0d7b54a5a899745) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Toaster: Write UI TestCase import new project usingAlassane Yattara2023-11-091-0/+25
| | | | | | | | | | | | * Test import new project using: - Project Name: Any string - Project type: select (Import command line project) - Import existing project directory: Wrong Path (Bitbake rev: d9239f2d2235f2adb0322ecb2cedd507a00e1e90) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Toaster: Test create new project without project nameAlassane Yattara2023-11-091-0/+17
| | | | | | | (Bitbake rev: 2670bacd5b2865ed825d24c96ecd12940218b65e) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Toaster: Write UI TestCase create new projectAlassane Yattara2023-11-091-0/+134
| | | | | | | | | | | | Test create new project using: - Project Name: Any string - Release: Master/Kirkstone/Dunfell/Local - Merge Toaster settings: False/True (Bitbake rev: 8502ed9ce3e04e5e0f913a8af60828ac0cefa110) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Revert "toaster: Bug-fix webdriver No parameter named options"Richard Purdie2023-11-091-1/+1
| | | | | | | | | This reverts commit 99305c25fafa61064a1bb0849616e4627e3453d7. After discussion we found various versions of selenium don't work with this change. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: server: Add owner if user is logged inJoshua Watt2023-11-092-0/+12
| | | | | | | | | | If a user is authenticated with the server, report them as the owner of a report (Bitbake rev: a9fd4a45bb6e5ac9832835897f594f3bbf67e1aa) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: Allow self-service deletionJoshua Watt2023-11-092-3/+6
| | | | | | | | | | | Allows users to self-service deletion of their own user accounts (meaning, they can delete their own accounts without special permissions). (Bitbake rev: 2d4439948a5328a9768bca9eaec221eb82af3cb2) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: tests: Allow authentication for external server testsJoshua Watt2023-11-091-35/+74
| | | | | | | | | | | | If BB_TEST_HASHSERV_USERNAME and BB_TEST_HASHSERV_PASSWORD are provided for a server admin user, the authentication tests for the external hashserver will run. In addition, any users that get created will now be deleted when the test finishes. (Bitbake rev: 0e945d3dec02479df1157f48fd44223c2bfb34a3) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-hashclient: Output stats in JSON formatJoshua Watt2023-11-091-1/+2
| | | | | | | | | | Outputting the stats in JSON format makes more sense as it's easier for a downstream tool to parse if desired. (Bitbake rev: 3a18066e479ab06bdb08e258fc4aacad5e73222e) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: test: Add bitbake-hashclient testsJoshua Watt2023-11-091-23/+277
| | | | | | | | | | The bitbake-hashclient command-line tool now has a lot more features which should be tested, so add some tests for them. (Bitbake rev: 178cf99673d7ddf8e0bb63a5a43331a18f3286d5) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: Add database column query APIJoshua Watt2023-11-095-0/+35
| | | | | | | | | | | Adds an API to retrieve the columns that can be queried on from the database backend. This prevents front end applications from needing to hardcode the query columns (Bitbake rev: abfce2b68bdab02ea2e9a63fbb3b9e270428a0a6) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: Add db-usage APIJoshua Watt2023-11-095-0/+70
| | | | | | | | | | Adds an API to query the server for the usage of the database (e.g. how many rows are present in each table) (Bitbake rev: c9c1224447e147e0de92953bc85cea75670b898c) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: Add become-user APIJoshua Watt2023-11-093-5/+94
| | | | | | | | | | | | Adds API that allows a user admin to impersonate another user in the system. This makes it easier to write external services that have external authentication, since they can use a common user account to access the server, then impersonate the logged in user. (Bitbake rev: 71e2f5b52b686f34df364ae1f2fc058f45cd5e18) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: Add user permissionsJoshua Watt2023-11-096-45/+935
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for the hashserver to have per-user permissions. User management is done via a new "auth" RPC API where a client can authenticate itself with the server using a randomly generated token. The user can then be given permissions to read, report, manage the database, or manage other users. In addition to explicit user logins, the server supports anonymous users which is what all users start as before they make the "auth" RPC call. Anonymous users can be assigned a set of permissions by the server, making it unnecessary for users to authenticate to use the server. The set of Anonymous permissions defines the default behavior of the server, for example if set to "@read", Anonymous users are unable to report equivalent hashes with authenticating. Similarly, setting the Anonymous permissions to "@none" would require authentication for users to perform any action. User creation and management is entirely manual (although bitbake-hashclient is very useful as a front end). There are many different mechanisms that could be implemented to allow user self-registration (e.g. OAuth, LDAP, etc.), and implementing these is outside the scope of the server. Instead, it is recommended to implement a registration service that validates users against the necessary service, then adds them as a user in the hash equivalence server. (Bitbake rev: 69e5417413ee2414fffaa7dd38057573bac56e35) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: asyncrpc: client: Add disconnect APIJoshua Watt2023-11-091-1/+7
| | | | | | | | | | Adds an API to explicitly disconnect a client. This can be useful for testing the auto-reconnect behavior of clients (Bitbake rev: cb2fec7eaca20608faf4b8ff11ec8590ac7f2229) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: asyncrpc: client: Prevent double closing of loopJoshua Watt2023-11-091-4/+6
| | | | | | | | | | Invalidate the loop in the client close() call so that it is not closed twice (which is an error in the asyncio code) (Bitbake rev: ef22f8ee82c242383625f078baafb629e45dad7e) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: asyncrpc: Add InvokeErrorJoshua Watt2023-11-094-4/+22
| | | | | | | | | | | | | Adds support for Invocation Errors (that is, errors raised by the actual RPC call instead of at the protocol level) to propagate across the connection. If a server RPC call raises an InvokeError, it will be sent across the connection and then raised on the client side also. The connection is still terminated on this error. (Bitbake rev: 50ee68175e7cf20a32bfbb176db2c47d7859da04) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: Implement read-only version of "report" RPCJoshua Watt2023-11-092-3/+26
| | | | | | | | | | When the hash equivalence server is in read-only mode, it should still return a unihash for a given "report" call if there is one. (Bitbake rev: d0bbb98553f5f3451606bd5f089b36cfe4219dc2) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: Add SQLalchemy backendJoshua Watt2023-11-094-5/+350
| | | | | | | | | | | Adds an SQLAlchemy backend to the server. While this database backend is slower than the more direct sqlite backend, it easily supports just about any SQL server, which is useful for large scale deployments. (Bitbake rev: e0b73466dd7478c77c82f46879246c1b68b228c0) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: Abstract databaseJoshua Watt2023-11-093-401/+439
| | | | | | | | | | Abstracts the way the database backend is accessed by the hash equivalence server to make it possible to use other backends (Bitbake rev: 04b53deacf857488408bc82b9890b1e19874b5f1) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: asyncrpc: Prefix log messages with client infoJoshua Watt2023-11-092-8/+23
| | | | | | | | | | Adds a logging adaptor to the asyncrpc clients that prefixes log messages with the client remote address to aid in debugging (Bitbake rev: f4d64ce73c2449c008ff5d9b32376a2893ef7195) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: tests: Add external database testsJoshua Watt2023-11-091-10/+44
| | | | | | | | | | Adds support for running the hash equivalence test suite against an external hash equivalence implementation. (Bitbake rev: c1fbc3f68b94905d19ffcf4a6da5b27f0bf14599) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: asyncrpc: Add context manager APIJoshua Watt2023-11-092-3/+16
| | | | | | | | | | | | | | | | Adds context manager API for the asyncrcp client class which allow writing code that will automatically close the connection like so: with hashserv.create_client(address) as client: ... Rework the bitbake-hashclient tool and PR server to use this new API to fix warnings about unclosed event loops when exiting (Bitbake rev: d01d684a0f6398270fe35ed59b7d28f3fd9b7e41) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: Add websocket connection implementationJoshua Watt2023-11-096-2/+137
| | | | | | | | | | | | | | | Adds support to the hash equivalence client and server to communicate over websockets. Since websockets are message orientated instead of stream orientated, and new connection class is needed to handle them. Note that websocket support does require the 3rd party websockets python module be installed on the host, but it should not be required unless websockets are actually being used. (Bitbake rev: 56dd2fdbfb6350a9eef43a12aa529c8637887a7e) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: asyncrpc: Abstract socketsJoshua Watt2023-11-0910-353/+387
| | | | | | | | | | | | | Rewrites the asyncrpc client and server code to make it possible to have other transport backends that are not stream based (e.g. websockets which are message based). The connection handling classes are now shared between both the client and server to make it easier to implement new transport mechanisms (Bitbake rev: 2aaeae53696e4c2f13a169830c3b7089cbad6eca) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Bug-fix webdriver No parameter named optionsAlassane Yattara2023-11-091-1/+1
| | | | | | | | | Change options to chrome_options (Bitbake rev: 99305c25fafa61064a1bb0849616e4627e3453d7) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Test jumbotron links visible and clickableAlassane Yattara2023-11-091-1/+88
| | | | | | | | | | | | | | | | | Test that the followings link are visible and clickable: - OpenEmbedded - BitBake - Yocto Project - Read the Toaster manual - Contribute to Toaster - Fixed typo: using instead of usign line:97 - Remove whitespace (Bitbake rev: d4c35eaff3c152ee864a886aac8ad5476f7f29f7) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Test documentation link in landing header is displayedAlassane Yattara2023-11-091-0/+15
| | | | | | | | | | - check that the documentation link is visible - check browser open new tab toaster manual when clicking on the documentation link (Bitbake rev: befe970fcc7742cf266e03849be36c733bb09de6) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Check info_sign is visible and clickable in landing pageAlassane Yattara2023-11-092-1/+17
| | | | | | | | | | Check the information icon is visible and clickable Also if popup appearing when clicked and contain "Toaster version information" (Bitbake rev: 0508fd74ebd43359473a9718edf0d146002041ad) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Added pytest.ini fileAlassane Yattara2023-11-091-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main reason for using pytest is to be able to generate a positive test report using the pytest-html plugin. Integrating Pytest with Tox is a straightforward process, this can be done using tox.ini instead of pytest.ini used to configure pytest, that is another reason for using pytest. Tox is a tool that automates testing across different virtual environments, it can help ensure application will be tested against multiple Python versions and environments. https://github.com/pytest-dev/pytest/blob/main/tox.ini Generated reports create a historical record of test results over time. This can help track the progress of the application's stability and quality Documentation and Transparency: Test reports provide us a clear and detailed documentation of the test results. They show what tests were executed, which ones passed, and which ones failed. This transparency is critical for understanding the current state of the application and its test coverage. Communication: Test reports are an effective means of communication among community to understand the testing progress and results. Debugging, Troubleshooting Historical Tracking and Regression Testing: In case of test failures, a detailed test report can be invaluable for debugging. It provides information about the specific test case that failed, the input data used, and any error messages. (Bitbake rev: 6ba046b8d0d821e304c14b78ef6b00945e0ab453) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fixed: Tests fail when executed one after the other out of ↵Alassane Yattara2023-11-093-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* bitbake: toaster: Bug-fix django.db.utils.IntegrityError: Problem installing ↵Alassane Yattara2023-11-091-2/+2
| | | | | | | | | | | | | fixture toastergui-unittest-data.xml fixture contains a release objects with name="master" or an release with same name seem existing - Change release name and fix bitbakeversion instead of bitbake_version (Bitbake rev: 36b48905ea26e5173b5ab2369b90952bc13e9c0d) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fixed pytest error: Database access not allowed, use the ↵Alassane Yattara2023-11-091-0/+2
| | | | | | | | | | | | | | | | | | "django_db" Pytest failed on functional/test_functional_basic because database access not allowed - we should use "django_db" fixture to allowed db access Note: Pytest-django takes a conservative approach to enabling database access. By default your tests will fail if they try to access the database. Only if you explicitly request database access will this be allowed. https://pytest-django.readthedocs.io/en/latest/helpers.html#pytest-mark-django-db-request-database-access (Bitbake rev: 5f92a6b13cdea26b26ff939e9a3f746f7d0937b7) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Bug-fix pytest and Failed: Database access not allowedAlassane Yattara2023-11-091-6/+0
| | | | | | | | | | | | | | Remove load and create build environment from tests/functional/functional_helpers - Testcases in the FunctionalTestCase do not require a build process, - Also marked setUpClass or class with pytest django_db, db ... not working, as declared above of file functional_helpers.py, The database access process runs as an external process, separate from the test case process and outside the context of pytest. (Bitbake rev: 35c02c26541c05a8d147f41d0855e09d8fba1a83) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Update orm.models to catch error ProcessLookupErrorAlassane Yattara2023-11-091-3/+2
| | | | | | | | | - catch error ProcessLookupError and logs it (Bitbake rev: a61a5f47dc56daafa9089adaad388b3c0b59155d) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Add toaster-tests-requirements.txt to add pytest and some ↵Alassane Yattara2023-11-091-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | plugins The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries. - Pytest-html is a plugin for pytest that generates a HTML report for test results. - Pytest-django allows us to test Django project/applications with the pytest testing tool. - Pytest-env is a pytest plugin that enables us to set environment variables in a pytest.ini or pyproject.toml file - Pytest-metadata is a plugin for pytest that provides access to test session metadata, required by pytest-html plugin to provides metadata information in the HTML report like below: Python 3.10.12 Platform Linux-6.2.0-35-generic-x86_64-with-glibc2.35 Packages: - pytest: 7.4.2 - pluggy: 1.3.0 Plugins : - django: 4.5.2 - metadata: 3.0.0 - order: 1.1.0 - html: 4.0.2 - env: 1.1.0 To make difference between bitbake and toaster python requirements, a dedicated requirements file is created for toaster in root of toaster dir. (Bitbake rev: 804d17df22391b2d18a68d8cb05a04841d4e551b) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>