Commit Graph

1537 Commits

Author SHA1 Message Date
Alassane Yattara
105f5a8d0d bitbake: toaster/tests: Add UI TestCase for the edit column feature in image recipe
BUILD IMAGE RECIPES: toastergui/project/{id}/images/
Test the edit column feature in image recipe table on project page

(Bitbake rev: 005f8e4a875d280268e0369d26aaaa9e5a65fd68)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-23 12:06:06 +00:00
Alassane Yattara
3d2d290157 bitbake: toaster/tests: Add UI TestCase - Test project page section images
BUILD IMAGE RECIPES: toastergui/project/{id}/images/
Test project page section images
    - Check image recipes are displayed
    - Check search input
    - Check image recipe build button works
    - Check image recipe table features(show/hide column, pagination)

(Bitbake rev: 9aa0aad6812730d4ffaa9b3adfae041176274475)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-23 12:06:06 +00:00
Alassane Yattara
2eb70a30d9 bitbake: toaster/tests: Add UI TestCase - Test project page tab "New custom image"
Test project page tab "New custom image" when no custom image

(Bitbake rev: fd8fe1d3b25679032a43c1dd25a945318e573cef)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-23 12:06:06 +00:00
Alassane Yattara
a303b37bd6 bitbake: toaster/tests: Add UI TestCase - Test project page tab import layer
(Bitbake rev: 857e6fdefa655fa73460c9bb008dc08abb4c3107)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-23 12:06:06 +00:00
Alassane Yattara
bc9da9aa64 bitbake: toaster/tests: Add UI TestCase - Test project config tab
Check if project config tab right section contains five blocks:
    - Machine:
        - check 'Machine' is displayed
        - check can change Machine
    - Distro:
        - check 'Distro' is displayed
        - check can change Distro
    - Most built recipes:
        - check 'Most built recipes' is displayed
        - check can select a recipe and build it
    - Project release:
        - check 'Project release' is displayed
        - check project has right release displayed
    - Layers:
        - check can add a layer if exists
        - check at least three layers are displayed
            - openembedded-core
            - meta-poky
            - meta-yocto-bsp

(Bitbake rev: cbf0df0604e6cb37aa8c4433e9af3c321be80010)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-23 12:06:06 +00:00
Alassane Yattara
363f19e75a bitbake: toaster/tests: Add UI TestCase - Test project config tab navigation:
- Check if the menu is displayed and contains the right elements:
    - Configuration
    - COMPATIBLE METADATA
    - Custom images
    - Image recipes
    - Software recipes
    - Machines
    - Layers
    - Distro
    - EXTRA CONFIGURATION
    - Bitbake variables
    - Actions
    - Delete project

(Bitbake rev: a12fe481aac82e1feebdb56afb67ba77a8904995)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-23 12:06:06 +00:00
Alassane Yattara
fd740a6b6d bitbake: toaster/tests: Add UI TestCase - Test project page has right tabs displayed
Test project tabs:
  - "configuration" tab
  - "Builds" tab
  - "Import layers" tab
  - "New custom image" tab
  Check search box used to build recipes

(Bitbake rev: 13a55ebe630ad20e8ab4cdcb3dc6dcbf4fa7243a)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-23 12:06:06 +00:00
Alassane Yattara
f002040d77 bitbake: toaster/tests: Add UI TestCase - Test edit project name on project page
Test edit project name:
  - Click on "Edit" icon button
  - Change project name
  - Click on "Save" button
  - Check project name is changed

(Bitbake rev: 0bd0bbf8df2a1043d5c768a70e4c4fabd5195227)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-23 12:06:06 +00:00
Alassane Yattara
4ff7c528dd bitbake: toaster/tests: Add UI TestCase - Check project header contains right items
Check page header in project page:
  - AT LEFT -> Logo of Yocto project, displayed, clickable
  - "Toaster"+" Information icon", displayed, clickable
  - "Server Icon" + "All builds", displayed, clickable
  - "Directory Icon" + "All projects", displayed, clickable
  - "Book Icon" + "Documentation", displayed, clickable
  - AT RIGHT -> button "New project", displayed, clickable

(Bitbake rev: 5b2b8fe16e2adb45ca88165162c65c0f7f9a0755)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-23 12:06:06 +00:00
Alassane Yattara
26ac6923e2 bitbake: toaster/tests/create_new_project: Code cleanup
Fixed
- Select import,
- Remove trailing whitespace,
- Set excepted 2lines after imports

(Bitbake rev: f0c91629fad2e556cd429f561cc244aef4b7b066)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-23 12:06:06 +00:00
Alassane Yattara
ff3a48920a bitbake: toaster/tests: Add UI TestCase for visualize all projects show rows
Test the show rows feature in the projects table on the all projects page

(Bitbake rev: d899a3cf9e186f78780415195c734fdef359d08d)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-23 12:06:06 +00:00
Alassane Yattara
f1230edc55 bitbake: toaster/tests: Add UI TestCase for visualize all projects edit column
Test the edit column feature in the projects table on the all projects page

(Bitbake rev: 16e05122b7298c449bf6cec1bcae75c3fb5d87db)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-23 12:06:06 +00:00
Alassane Yattara
6c5dff75f5 bitbake: toaster/tests: Add UI TestCase for Visualize all projects
Test the search box in the all project table on the all projects page

(Bitbake rev: a2c0e65e90619268da916a235a97df890697d22f)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-23 12:06:06 +00:00
Alassane Yattara
cdecc1f605 bitbake: toaster/tests: Add UI TestCase for deleting project
Test delete project:
    - Check delete modal is visible
    - Check delete modal has right text
    - Confirm delete
    - Check project is deleted

(Bitbake rev: 669b270b6839dbf8f2daaa20ad809b309957edfd)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-16 16:52:19 +00:00
Richard Purdie
22960747ea bitbake: toaster/tox.ini: Add py 3.11 and 3.12
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>
2023-11-16 14:49:00 +00:00
Tim Orling
577ab316e4 bitbake: toaster: test_create_new_project typos, whitespace
* 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>
2023-11-14 23:39:53 +00:00
Tim Orling
285a6ba4ee bitbake: toaster: fix obsolete use of find_element_by_link_text
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>
2023-11-14 23:39:53 +00:00
Tim Orling
f868384ec6 bitbake: toaster: use docs for BitBake link on landing page
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>
2023-11-14 23:39:53 +00:00
Tim Orling
ca74df3a69 bitbake: toaster: drop deprecated USE_L10N from settings
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>
2023-11-14 23:39:53 +00:00
Alassane Yattara
221a7b752f bitbake: toaster/tests: Add UI TestCase to test "show rows" feature, change 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>
2023-11-14 23:38:13 +00:00
Alassane Yattara
b2db1c4e81 bitbake: toaster/tests: Add UI TestCase to test "edit column" feature 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>
2023-11-14 23:38:13 +00:00
Alassane Yattara
853deb8f75 bitbake: toaster/tests: Add UI TestCase to test filtering feature on '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>
2023-11-14 23:38:13 +00:00
Alassane Yattara
2d73d6148e bitbake: toaster/tests: Add UI TestCase to test the filtering feature on '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>
2023-11-14 23:38:13 +00:00
Alassane Yattara
3375714aa4 bitbake: toaster/tests: Add UI TestCase to test search box on all build page
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>
2023-11-14 23:38:13 +00:00
Alassane Yattara
0766f6cdc8 bitbake: toaster/tests: Add UI TestCase to test if 'no build' message is shown
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>
2023-11-14 23:38:13 +00:00
Alassane Yattara
a9befd527e bitbake: Toaster: Write UI TestCase import new project using
* 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>
2023-11-09 22:52:42 +00:00
Alassane Yattara
36871610c3 bitbake: Toaster: Test create new project without project name
(Bitbake rev: 2670bacd5b2865ed825d24c96ecd12940218b65e)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-09 22:52:42 +00:00
Alassane Yattara
b4e16b96e1 bitbake: Toaster: Write UI TestCase create new project
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>
2023-11-09 22:52:42 +00:00
Richard Purdie
278d1941a3 bitbake: Revert "toaster: Bug-fix webdriver No parameter named options"
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>
2023-11-09 22:52:42 +00:00
Alassane Yattara
2378e4bdfa bitbake: toaster: Bug-fix webdriver No parameter named options
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>
2023-11-09 17:06:59 +00:00
Alassane Yattara
707ffa79af bitbake: toaster: Test jumbotron links visible and clickable
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>
2023-11-09 17:03:24 +00:00
Alassane Yattara
6031006582 bitbake: toaster: Test documentation link in landing header is displayed
- 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>
2023-11-09 17:03:24 +00:00
Alassane Yattara
b1156a1a1b bitbake: toaster: Check info_sign is visible and clickable in landing page
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>
2023-11-09 17:03:24 +00:00
Alassane Yattara
0f12b4f389 bitbake: toaster: Added pytest.ini file
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>
2023-11-09 17:01:18 +00:00
Alassane Yattara
8b957cf1fe 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>
2023-11-09 17:01:18 +00:00
Alassane Yattara
5e46a34555 bitbake: toaster: Bug-fix django.db.utils.IntegrityError: Problem installing 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>
2023-11-09 17:01:18 +00:00
Alassane Yattara
dcb6a5cca6 bitbake: toaster: fixed pytest error: Database access not allowed, use the "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>
2023-11-09 17:01:18 +00:00
Alassane Yattara
20705f46af bitbake: toaster: Bug-fix pytest and Failed: Database access not allowed
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>
2023-11-09 17:01:18 +00:00
Alassane Yattara
f8ee2cb52e bitbake: toaster: Update orm.models to catch error ProcessLookupError
- 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>
2023-11-09 17:01:17 +00:00
Alassane Yattara
d34591ae7b bitbake: toaster: Add toaster-tests-requirements.txt to add pytest and some 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>
2023-11-09 16:59:37 +00:00
Marlon Rodriguez Garcia
6eb23b311d bitbake: toaster: replace deprecated tags ifequal and ifnotequal
Tags ifequal and ifnotequal are deprecated and were removed on version 3.1
https://django.readthedocs.io/en/stable/releases/3.1.html#deprecated-features-3-1

(Bitbake rev: d6dd2d091c18a888a237d986ae2bd6dae068be5a)

Signed-off-by: Marlon Rodriguez Garcia <marlon.rodriguez-garcia@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-11-08 18:59:02 +00:00
Marlon Rodriguez Garcia
6745d5eb7c bitbake: toaster: add tox.ini file to execute test suite
Updated tox file to fix enviroments variables.
to run tox use the following command:
tox -e env_name -c /path/to/file/tox.ini
See tox cli https://tox.wiki/en/latest/cli_interface.html
The variable env_name is linked to the python versions (py38, py39, py310).
If env_name option is not set,  the test suite will run for all indicated versions.

It was also modified the webdriver options for chrome to run selenium test in console because of the error detected in the previous test run
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Chrome failed to start: exited normally.
  (session not created: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

(Bitbake rev: 11dfd7c05642269b7a8bff2918667348d041ec79)

Signed-off-by: Marlon Rodriguez Garcia <marlon.rodriguez-garcia@savoirfairelinux.com>

Changes in v2
- Updated variable path BUILDDIR and EVENTREPLAY_DIR to use enviroment value
- Updated toaster-requirements.txt file path
- Removed flake8
- Added webdriver options to chrome

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-30 22:24:32 +00:00
Alassane Yattara
7e0cce4f6b bitbake: toaster: Write logs to BUILDDIR/toaster_logs
Fixes "2efb14648 toaster: Monitoring - implement Django logging system" when
running in a container.

When running in a container, the previous approach of using BASE_DIR
is not a writable path. Also, we really do not want to be writing logs into
the source tree, as the BASE_DIR was resolving to bitbake/lib/toaster/logs

Since Toaster is only ever running in an environment where oe-init-buildenv
or similar has been sourced, we should instead write the logs to BUILDDIR.

Using BUILDDIR to logs make path writable but django-log-viewer does'nt manage
to write logs using an absolute path as BUILDDIR, where the existing toaster_ui.log
was already being written.

Also drop the /logs/ directory, as it has not been created which also breaks
in a container environment

To handle the constraints linked to django-log-viewer and /logs/, we've updated
bitbake/bin/toaster to create a toaster_logs/ directory in BUILDDIR if it doesn't exist,
when toaster starts up.

Also manage to set BUILDDIR/toaster_logs/ as default location for toaster logs.

(Bitbake rev: efbd9d54f57be7a7a10f0b56e7e62c25974e99e6)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Tested-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-27 08:32:29 +01:00
Alassane Yattara
0a55156ca0 bitbake: Toaster: bug-fix on tests.views.test_views.py
- Update toastergui/fixtures/toastergui-unittest-data.xml to added tow distro
objects. Test fail because distro table was empty

(Bitbake rev: 0487970d0e762fad021bdfb53ccbd4c75098c7dd)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-23 11:46:36 +01:00
Alassane Yattara
01e68702fe bitbake: Toaster: bug-fix on tests/views/test_views.py
- Create a tmp file for base recipe, otherwise test fail it doesn't exist

(Bitbake rev: e865f6dc7c7c4f0b447806d525cd69e72c290800)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-23 11:46:36 +01:00
Alassane Yattara
2403af6533 bitbake: Toaster: bug-fix on custom image test cases
To test custom image creation, a file for base_recipe should exists otherwise test fail,
User we need to build a base image first, that will create a file for base_recipe, which take a while.

To avoid test dependencies between test and run build, i create a tmp file for base recipe.

Signed-off-by Alassane Yattara <alassane.yattara@savoirfairelinux.com>

(Bitbake rev: 99c24df73831a72f311090b3aebcf3cc4e86851a)

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-23 11:46:36 +01:00
Alassane Yattara
b879dc5d9a bitbake: Toaster: bug-fix on /toastermain/logs.py
- Update /toastermain/logs.py to fix:
AttributeError: 'NoneType' object has no attribute 'view_name'

Signed-off-by Alassane Yattara <alassane.yattara@savoirfairelinux.com>

(Bitbake rev: 307f40fc83a0e3d530bf934ef4aefd8e15cf27de)

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-23 11:46:36 +01:00
Alassane Yattara
e0e0a3f510 bitbake: Toaster: Fixed javascript issue on tests.browser.test_js_unit_tests
- Update /toastergui/static/js/projectpage.js to fix following
javascript issue that make fail test_js_unit_tests.
Uncaught TypeError: Cannot read properties of null (reading 'name')

Signed-off-by Alassane Yattara <alassane.yattara@savoirfairelinux.com>

(Bitbake rev: 87f5987e22b3d1c05b29a25ef354ecd63ac9e1df)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-17 11:41:33 +01:00
Alassane Yattara
50d88674b2 bitbake: Toaster: Bug-fix failure on tests.browser.test_layerdetails_page
Call wait_until_visible before send_keys to be sure inputs is visible otherwise
we get followings error: selenium.common.exceptions.WebDriverException -> Message: element not interactable
Signed-off-by Alassane Yattara <alassane.yattara@savoirfairelinux.com>

(Bitbake rev: 8d671e50036acb0e65c90a07f757e066c0463113)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-17 11:41:33 +01:00
Alassane Yattara
7774bab05f bitbake: toaster: bug-fix on tests.browser.test_most_recent_builds_states
Fixed errors that make test_most_recent_builds_states failed.
Signed-off-by Alassane Yattara <alassane.yattara@savoirfairelinux.com>

(Bitbake rev: d34d1f58bd30b998ffaef2e91f02a26ca06c2745)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-17 11:41:33 +01:00