11 Commits

Author SHA1 Message Date
Joseph Nuthalapati
05815bc992
ci: Use compatible versions of Selenium and Splinter
This is a temporary fix until Splinter addresses the breaking changes in Selenium 4.3.0

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-04 19:26:40 -04:00
Sunil Mohan Adapa
c10b10aa31
container: Show executed commands when setting up/running tests
- This allows the user to understand the wrapper script and skip/adapt it when
necessary.

- Debug any issues with the script.

- Maintain consistency with the philosophy of the rest of the container script.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-04-30 12:11:38 -07:00
Joseph Nuthalapati
ca8c5bba4c
tests: functional: Get rid of dependency on xvfb
This removes the dependencies xvfb and pytest-xvfb.

--splinter-headless can be used as a substitute for running tests in
headless mode.

[sunil: Edit description as running run-tests starts plinth in container]
[sunil: Retain the xauth command]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-04-30 12:09:53 -07:00
Joseph Nuthalapati
34a22c3978
tests: functional: Add plugin for HTML reports
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-02-05 10:59:46 -08:00
Sunil Mohan Adapa
9faeedbf8f
tests: Drop installation of pytest-bdd
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-10-11 06:29:01 -04:00
Veiko Aasa
53a0a54f18 functional-tests: Fix installation errors in install.sh script
- On Debian 10, pin pytest-bdd version to 3.2.1, this is the latest
  version that supports pytest 3.10.1.
- Install wheel and pytest-xdist packages from the Debian repos.
- Add git as a dependency for functional tests.
- Fix regexp when getting Gecko version from the Github api, for some
  reason after colon, sometimes there is a space and sometimes not.

Tests performed on Debian stable, testing and unstable:
- Installing dependencies with the install.sh script succeeds.
- No regressions when running tests.

Signed-off-by: Veiko Aasa <veiko17@disroot.org>
2021-01-05 17:31:50 +01:00
Joseph Nuthalapati
5971ace116
functional-tests: splinter 0.14.0 is in PyPI
Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-08-21 11:08:32 -07:00
Joseph Nuthalapati
71cabff4d0
functional-tests: Use latest version of splinter
splinter 0.13.0 has a bug which is fixed in 0.14.0

See https://github.com/cobrateam/splinter/pull/749

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-07-25 20:58:11 -07:00
Joseph Nuthalapati
6dd7dcd2f8
functional-tests: Fix instructions for running functional tests
Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2020-07-22 12:21:45 +03:00
Joseph Nuthalapati
a4dab3cc36
tests: functional: Add pytest-xdist to install.sh
pytest-xdist is a dependency for parallel execution of functional tests.
2020-05-22 23:16:33 +05:30
Sunil Mohan Adapa
80d67c2054
tests: functional: Merge into main source hierarchy
- Add pytest hooks to ignore all functional tests if pytest_bdd is not
installed.

- Update pytest hooks to skip tests in file named 'test_functional.py' if
--include-functional argument is not provided.

- Move functional_tests/install.py into plinth/tests/functional and update
reference in Vagrantfile.

- Move scenario files into individual app folders. Rename them after the app
they are testing. Merge TODO items listed in todo.org into corresponding feature
files.

- Add test_functional.py in each app to build tests from the features file using
pytest_bdd.

- Move all step_definitions, support and data into plinth/tests/functional/.
Include all step_definitions from conftest.py. Update to relative imports
instead of absolute imports.

Tests performed:

- Run py.test-3 --collect-only shows all functional tests and lists 574 tests.
No errors show that name of feature files are correct. The number says that all
functional test features are included.

- Remove pytest_bdd (or modify the import name) and run py.test-3 --collect-only
skips collecting all functional tests and shows only 300+ tests.

- Run functional tests for a few apps with py.test-3 --include-functional -m
app. For storage, deluge.

- Run unit tests with py.test-3. Functional tests are listed by skipped.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2020-05-22 21:26:05 +05:30