From ed6202ac86334dd336347bcf2453f2a7649d711c Mon Sep 17 00:00:00 2001 From: Barret Schloerke Date: Wed, 16 Aug 2023 12:27:26 -0400 Subject: [PATCH 1/2] Move `tests/*` to `tests/pytest/*` --- Makefile | 4 ++-- pytest.ini | 2 +- tests/__init__.py | 2 +- tests/pytest/__init__.py | 1 + tests/{ => pytest}/asyncio_prevent.py | 0 tests/{ => pytest}/mocktime.py | 0 tests/{ => pytest}/test_datastructures.py | 0 tests/{ => pytest}/test_e2e_regex_matching.py | 0 tests/{ => pytest}/test_markdown.py | 0 tests/{ => pytest}/test_modules.py | 0 tests/{ => pytest}/test_namespaces.py | 0 tests/{ => pytest}/test_navs.py | 0 tests/{ => pytest}/test_output_transformer.py | 0 tests/{ => pytest}/test_poll.py | 0 tests/{ => pytest}/test_reactives.py | 0 tests/{ => pytest}/test_shinysession.py | 0 tests/{ => pytest}/test_static.py | 0 tests/{ => pytest}/test_ui.py | 0 tests/{ => pytest}/test_ui_dependencies.py | 0 tests/{ => pytest}/test_utils.py | 0 tests/{ => pytest}/test_utils_async.py | 0 tests/{ => pytest}/test_x_sidebar.py | 0 22 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 tests/pytest/__init__.py rename tests/{ => pytest}/asyncio_prevent.py (100%) rename tests/{ => pytest}/mocktime.py (100%) rename tests/{ => pytest}/test_datastructures.py (100%) rename tests/{ => pytest}/test_e2e_regex_matching.py (100%) rename tests/{ => pytest}/test_markdown.py (100%) rename tests/{ => pytest}/test_modules.py (100%) rename tests/{ => pytest}/test_namespaces.py (100%) rename tests/{ => pytest}/test_navs.py (100%) rename tests/{ => pytest}/test_output_transformer.py (100%) rename tests/{ => pytest}/test_poll.py (100%) rename tests/{ => pytest}/test_reactives.py (100%) rename tests/{ => pytest}/test_shinysession.py (100%) rename tests/{ => pytest}/test_static.py (100%) rename tests/{ => pytest}/test_ui.py (100%) rename tests/{ => pytest}/test_ui_dependencies.py (100%) rename tests/{ => pytest}/test_utils.py (100%) rename tests/{ => pytest}/test_utils_async.py (100%) rename tests/{ => pytest}/test_x_sidebar.py (100%) diff --git a/Makefile b/Makefile index bdb9c31c0..4dae8e9ac 100644 --- a/Makefile +++ b/Makefile @@ -77,8 +77,8 @@ check: ## check code quality with black and isort isort --check-only --diff . test: ## run tests quickly with the default Python - python3 tests/asyncio_prevent.py - pytest tests + python3 tests/pytest/asyncio_prevent.py + pytest # Default `FILE` to `e2e` if not specified FILE:=e2e diff --git a/pytest.ini b/pytest.ini index b72857557..d9f04e617 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,6 +1,6 @@ [pytest] asyncio_mode=strict -testpaths=tests +testpaths=tests/pytest/ addopts = --strict-markers --durations=6 --durations-min=5.0 --browser webkit --browser firefox --browser chromium --numprocesses auto markers = examples: Suite of tests to validate that examples do not produce errors (deselect with '-m "not examples"') diff --git a/tests/__init__.py b/tests/__init__.py index f75450590..ab964c858 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1 +1 @@ -"""Unit test package for shiny.""" +"""Testing package for shiny. (Used by pytest)""" diff --git a/tests/pytest/__init__.py b/tests/pytest/__init__.py new file mode 100644 index 000000000..25c456422 --- /dev/null +++ b/tests/pytest/__init__.py @@ -0,0 +1 @@ +"""Pytest test module for shiny. (Used by pytest)""" diff --git a/tests/asyncio_prevent.py b/tests/pytest/asyncio_prevent.py similarity index 100% rename from tests/asyncio_prevent.py rename to tests/pytest/asyncio_prevent.py diff --git a/tests/mocktime.py b/tests/pytest/mocktime.py similarity index 100% rename from tests/mocktime.py rename to tests/pytest/mocktime.py diff --git a/tests/test_datastructures.py b/tests/pytest/test_datastructures.py similarity index 100% rename from tests/test_datastructures.py rename to tests/pytest/test_datastructures.py diff --git a/tests/test_e2e_regex_matching.py b/tests/pytest/test_e2e_regex_matching.py similarity index 100% rename from tests/test_e2e_regex_matching.py rename to tests/pytest/test_e2e_regex_matching.py diff --git a/tests/test_markdown.py b/tests/pytest/test_markdown.py similarity index 100% rename from tests/test_markdown.py rename to tests/pytest/test_markdown.py diff --git a/tests/test_modules.py b/tests/pytest/test_modules.py similarity index 100% rename from tests/test_modules.py rename to tests/pytest/test_modules.py diff --git a/tests/test_namespaces.py b/tests/pytest/test_namespaces.py similarity index 100% rename from tests/test_namespaces.py rename to tests/pytest/test_namespaces.py diff --git a/tests/test_navs.py b/tests/pytest/test_navs.py similarity index 100% rename from tests/test_navs.py rename to tests/pytest/test_navs.py diff --git a/tests/test_output_transformer.py b/tests/pytest/test_output_transformer.py similarity index 100% rename from tests/test_output_transformer.py rename to tests/pytest/test_output_transformer.py diff --git a/tests/test_poll.py b/tests/pytest/test_poll.py similarity index 100% rename from tests/test_poll.py rename to tests/pytest/test_poll.py diff --git a/tests/test_reactives.py b/tests/pytest/test_reactives.py similarity index 100% rename from tests/test_reactives.py rename to tests/pytest/test_reactives.py diff --git a/tests/test_shinysession.py b/tests/pytest/test_shinysession.py similarity index 100% rename from tests/test_shinysession.py rename to tests/pytest/test_shinysession.py diff --git a/tests/test_static.py b/tests/pytest/test_static.py similarity index 100% rename from tests/test_static.py rename to tests/pytest/test_static.py diff --git a/tests/test_ui.py b/tests/pytest/test_ui.py similarity index 100% rename from tests/test_ui.py rename to tests/pytest/test_ui.py diff --git a/tests/test_ui_dependencies.py b/tests/pytest/test_ui_dependencies.py similarity index 100% rename from tests/test_ui_dependencies.py rename to tests/pytest/test_ui_dependencies.py diff --git a/tests/test_utils.py b/tests/pytest/test_utils.py similarity index 100% rename from tests/test_utils.py rename to tests/pytest/test_utils.py diff --git a/tests/test_utils_async.py b/tests/pytest/test_utils_async.py similarity index 100% rename from tests/test_utils_async.py rename to tests/pytest/test_utils_async.py diff --git a/tests/test_x_sidebar.py b/tests/pytest/test_x_sidebar.py similarity index 100% rename from tests/test_x_sidebar.py rename to tests/pytest/test_x_sidebar.py From 0b6c36b14700ae564daf305e77b5246c582745ed Mon Sep 17 00:00:00 2001 From: Barret Schloerke Date: Wed, 16 Aug 2023 12:38:21 -0400 Subject: [PATCH 2/2] Move `e2e/*` to `tests/e2e/*` --- Makefile | 2 +- {e2e => tests/e2e}/README.md | 0 {e2e => tests/e2e}/async/app.py | 0 {e2e => tests/e2e}/async/test_async.py | 0 .../bugs/0648-update-slider-datetime-value/app.py | 0 .../test_update_slider_datetime_value.py | 0 {e2e => tests/e2e}/bugs/0666-sidebar/app.py | 0 {e2e => tests/e2e}/bugs/0666-sidebar/colors.py | 0 .../e2e}/bugs/0666-sidebar/test_sidebar_colors.py | 0 {e2e => tests/e2e}/conftest.py | 7 ++++--- {e2e => tests/e2e}/controls.py | 0 {e2e => tests/e2e}/cpuinfo/test_app.py | 0 .../data_frame/__snapshots__/test_data_frame.ambr | 0 {e2e => tests/e2e}/data_frame/test_data_frame.py | 0 {e2e => tests/e2e}/examples/test_examples.py | 11 ++++++----- {e2e => tests/e2e}/experimental/accordion/app.py | 0 .../e2e}/experimental/accordion/test_accordion.py | 0 {e2e => tests/e2e}/experimental/card/app.py | 0 {e2e => tests/e2e}/experimental/card/test_card.py | 0 {e2e => tests/e2e}/experimental/test_autoresize.py | 0 {e2e => tests/e2e}/experimental/test_sidebar.py | 0 {e2e => tests/e2e}/experimental/value_box/app.py | 0 .../e2e}/experimental/value_box/test_valuebox.py | 0 .../e2e}/inputs/input_radio_checkbox_group/app.py | 0 .../test_input_radio_checkbox_group_app.py | 0 {e2e => tests/e2e}/inputs/input_slider/app.py | 2 +- .../e2e}/inputs/input_slider/test_input_slider_app.py | 0 .../e2e}/inputs/test_input_action_button_link.py | 0 {e2e => tests/e2e}/inputs/test_input_checkbox.py | 0 .../e2e}/inputs/test_input_checkbox_group.py | 0 {e2e => tests/e2e}/inputs/test_input_date.py | 0 {e2e => tests/e2e}/inputs/test_input_date_range.py | 0 {e2e => tests/e2e}/inputs/test_input_file.py | 0 {e2e => tests/e2e}/inputs/test_input_numeric.py | 0 {e2e => tests/e2e}/inputs/test_input_password.py | 0 {e2e => tests/e2e}/inputs/test_input_radio_buttons.py | 0 {e2e => tests/e2e}/inputs/test_input_select.py | 0 {e2e => tests/e2e}/inputs/test_input_selectize.py | 0 {e2e => tests/e2e}/inputs/test_input_slider.py | 0 {e2e => tests/e2e}/inputs/test_input_switch.py | 0 {e2e => tests/e2e}/inputs/test_input_text.py | 0 {e2e => tests/e2e}/inputs/test_input_text_area.py | 0 {e2e => tests/e2e}/inputs/test_inputs_update.py | 0 {e2e => tests/e2e}/module-conditional/app.py | 0 .../module-conditional/test_module_conditional.py | 0 {e2e => tests/e2e}/outputs/test_output_image.py | 0 {e2e => tests/e2e}/outputs/test_output_plot.py | 0 {e2e => tests/e2e}/outputs/test_output_table.py | 0 {e2e => tests/e2e}/outputs/test_output_text.py | 0 {e2e => tests/e2e}/outputs/test_output_ui.py | 0 {e2e => tests/e2e}/server/output_transformer/app.py | 0 .../output_transformer/test_output_transformer.py | 0 tests/pytest/test_e2e_regex_matching.py | 2 +- 53 files changed, 13 insertions(+), 11 deletions(-) rename {e2e => tests/e2e}/README.md (100%) rename {e2e => tests/e2e}/async/app.py (100%) rename {e2e => tests/e2e}/async/test_async.py (100%) rename {e2e => tests/e2e}/bugs/0648-update-slider-datetime-value/app.py (100%) rename {e2e => tests/e2e}/bugs/0648-update-slider-datetime-value/test_update_slider_datetime_value.py (100%) rename {e2e => tests/e2e}/bugs/0666-sidebar/app.py (100%) rename {e2e => tests/e2e}/bugs/0666-sidebar/colors.py (100%) rename {e2e => tests/e2e}/bugs/0666-sidebar/test_sidebar_colors.py (100%) rename {e2e => tests/e2e}/conftest.py (96%) rename {e2e => tests/e2e}/controls.py (100%) rename {e2e => tests/e2e}/cpuinfo/test_app.py (100%) rename {e2e => tests/e2e}/data_frame/__snapshots__/test_data_frame.ambr (100%) rename {e2e => tests/e2e}/data_frame/test_data_frame.py (100%) rename {e2e => tests/e2e}/examples/test_examples.py (95%) rename {e2e => tests/e2e}/experimental/accordion/app.py (100%) rename {e2e => tests/e2e}/experimental/accordion/test_accordion.py (100%) rename {e2e => tests/e2e}/experimental/card/app.py (100%) rename {e2e => tests/e2e}/experimental/card/test_card.py (100%) rename {e2e => tests/e2e}/experimental/test_autoresize.py (100%) rename {e2e => tests/e2e}/experimental/test_sidebar.py (100%) rename {e2e => tests/e2e}/experimental/value_box/app.py (100%) rename {e2e => tests/e2e}/experimental/value_box/test_valuebox.py (100%) rename {e2e => tests/e2e}/inputs/input_radio_checkbox_group/app.py (100%) rename {e2e => tests/e2e}/inputs/input_radio_checkbox_group/test_input_radio_checkbox_group_app.py (100%) rename {e2e => tests/e2e}/inputs/input_slider/app.py (97%) rename {e2e => tests/e2e}/inputs/input_slider/test_input_slider_app.py (100%) rename {e2e => tests/e2e}/inputs/test_input_action_button_link.py (100%) rename {e2e => tests/e2e}/inputs/test_input_checkbox.py (100%) rename {e2e => tests/e2e}/inputs/test_input_checkbox_group.py (100%) rename {e2e => tests/e2e}/inputs/test_input_date.py (100%) rename {e2e => tests/e2e}/inputs/test_input_date_range.py (100%) rename {e2e => tests/e2e}/inputs/test_input_file.py (100%) rename {e2e => tests/e2e}/inputs/test_input_numeric.py (100%) rename {e2e => tests/e2e}/inputs/test_input_password.py (100%) rename {e2e => tests/e2e}/inputs/test_input_radio_buttons.py (100%) rename {e2e => tests/e2e}/inputs/test_input_select.py (100%) rename {e2e => tests/e2e}/inputs/test_input_selectize.py (100%) rename {e2e => tests/e2e}/inputs/test_input_slider.py (100%) rename {e2e => tests/e2e}/inputs/test_input_switch.py (100%) rename {e2e => tests/e2e}/inputs/test_input_text.py (100%) rename {e2e => tests/e2e}/inputs/test_input_text_area.py (100%) rename {e2e => tests/e2e}/inputs/test_inputs_update.py (100%) rename {e2e => tests/e2e}/module-conditional/app.py (100%) rename {e2e => tests/e2e}/module-conditional/test_module_conditional.py (100%) rename {e2e => tests/e2e}/outputs/test_output_image.py (100%) rename {e2e => tests/e2e}/outputs/test_output_plot.py (100%) rename {e2e => tests/e2e}/outputs/test_output_table.py (100%) rename {e2e => tests/e2e}/outputs/test_output_text.py (100%) rename {e2e => tests/e2e}/outputs/test_output_ui.py (100%) rename {e2e => tests/e2e}/server/output_transformer/app.py (100%) rename {e2e => tests/e2e}/server/output_transformer/test_output_transformer.py (100%) diff --git a/Makefile b/Makefile index 4dae8e9ac..504d2724e 100644 --- a/Makefile +++ b/Makefile @@ -81,7 +81,7 @@ test: ## run tests quickly with the default Python pytest # Default `FILE` to `e2e` if not specified -FILE:=e2e +FILE:=tests/e2e e2e: ## end-to-end tests with playwright playwright install --with-deps diff --git a/e2e/README.md b/tests/e2e/README.md similarity index 100% rename from e2e/README.md rename to tests/e2e/README.md diff --git a/e2e/async/app.py b/tests/e2e/async/app.py similarity index 100% rename from e2e/async/app.py rename to tests/e2e/async/app.py diff --git a/e2e/async/test_async.py b/tests/e2e/async/test_async.py similarity index 100% rename from e2e/async/test_async.py rename to tests/e2e/async/test_async.py diff --git a/e2e/bugs/0648-update-slider-datetime-value/app.py b/tests/e2e/bugs/0648-update-slider-datetime-value/app.py similarity index 100% rename from e2e/bugs/0648-update-slider-datetime-value/app.py rename to tests/e2e/bugs/0648-update-slider-datetime-value/app.py diff --git a/e2e/bugs/0648-update-slider-datetime-value/test_update_slider_datetime_value.py b/tests/e2e/bugs/0648-update-slider-datetime-value/test_update_slider_datetime_value.py similarity index 100% rename from e2e/bugs/0648-update-slider-datetime-value/test_update_slider_datetime_value.py rename to tests/e2e/bugs/0648-update-slider-datetime-value/test_update_slider_datetime_value.py diff --git a/e2e/bugs/0666-sidebar/app.py b/tests/e2e/bugs/0666-sidebar/app.py similarity index 100% rename from e2e/bugs/0666-sidebar/app.py rename to tests/e2e/bugs/0666-sidebar/app.py diff --git a/e2e/bugs/0666-sidebar/colors.py b/tests/e2e/bugs/0666-sidebar/colors.py similarity index 100% rename from e2e/bugs/0666-sidebar/colors.py rename to tests/e2e/bugs/0666-sidebar/colors.py diff --git a/e2e/bugs/0666-sidebar/test_sidebar_colors.py b/tests/e2e/bugs/0666-sidebar/test_sidebar_colors.py similarity index 100% rename from e2e/bugs/0666-sidebar/test_sidebar_colors.py rename to tests/e2e/bugs/0666-sidebar/test_sidebar_colors.py diff --git a/e2e/conftest.py b/tests/e2e/conftest.py similarity index 96% rename from e2e/conftest.py rename to tests/e2e/conftest.py index 5949f04f3..b8120ae9f 100644 --- a/e2e/conftest.py +++ b/tests/e2e/conftest.py @@ -29,6 +29,7 @@ ) here = PurePath(__file__).parent +here_root = here.parent.parent class OutputStream: @@ -192,20 +193,20 @@ def fixture_func(): def create_example_fixture(example_name: str, scope: str = "module"): """Used to create app fixtures from apps in py-shiny/examples""" - return create_app_fixture(here / "../examples" / example_name / "app.py", scope) + return create_app_fixture(here_root / "examples" / example_name / "app.py", scope) def create_doc_example_fixture(example_name: str, scope: str = "module"): """Used to create app fixtures from apps in py-shiny/shiny/api-examples""" return create_app_fixture( - here / "../shiny/api-examples" / example_name / "app.py", scope + here_root / "shiny/api-examples" / example_name / "app.py", scope ) def x_create_doc_example_fixture(example_name: str, scope: str = "module"): """Used to create app fixtures from apps in py-shiny/shiny/examples""" return create_app_fixture( - here / "../shiny/experimental/api-examples" / example_name / "app.py", scope + here_root / "shiny/experimental/api-examples" / example_name / "app.py", scope ) diff --git a/e2e/controls.py b/tests/e2e/controls.py similarity index 100% rename from e2e/controls.py rename to tests/e2e/controls.py diff --git a/e2e/cpuinfo/test_app.py b/tests/e2e/cpuinfo/test_app.py similarity index 100% rename from e2e/cpuinfo/test_app.py rename to tests/e2e/cpuinfo/test_app.py diff --git a/e2e/data_frame/__snapshots__/test_data_frame.ambr b/tests/e2e/data_frame/__snapshots__/test_data_frame.ambr similarity index 100% rename from e2e/data_frame/__snapshots__/test_data_frame.ambr rename to tests/e2e/data_frame/__snapshots__/test_data_frame.ambr diff --git a/e2e/data_frame/test_data_frame.py b/tests/e2e/data_frame/test_data_frame.py similarity index 100% rename from e2e/data_frame/test_data_frame.py rename to tests/e2e/data_frame/test_data_frame.py diff --git a/e2e/examples/test_examples.py b/tests/e2e/examples/test_examples.py similarity index 95% rename from e2e/examples/test_examples.py rename to tests/e2e/examples/test_examples.py index cd512bf0c..bc7d51cd3 100644 --- a/e2e/examples/test_examples.py +++ b/tests/e2e/examples/test_examples.py @@ -6,11 +6,12 @@ from conftest import run_shiny_app from playwright.sync_api import ConsoleMessage, Page -here = PurePath(__file__).parent +here_tests_e2e_examples = PurePath(__file__).parent +here_root = here_tests_e2e_examples.parent.parent.parent def get_apps(path: str) -> typing.List[str]: - full_path = here / path + full_path = here_root / path app_paths: typing.List[str] = [] for folder in os.listdir(full_path): folder_path = os.path.join(full_path, folder) @@ -23,8 +24,8 @@ def get_apps(path: str) -> typing.List[str]: example_apps: typing.List[str] = [ - *get_apps("../../examples"), - *get_apps("../../shiny/api-examples"), + *get_apps("examples"), + *get_apps("shiny/api-examples"), ] app_idle_wait = {"duration": 300, "timeout": 5 * 1000} @@ -107,7 +108,7 @@ def wait_for_idle_app( @pytest.mark.parametrize("ex_app_path", example_apps) @pytest.mark.flaky(reruns=3, reruns_delay=1) def test_examples(page: Page, ex_app_path: str) -> None: - app = run_shiny_app(here / ex_app_path, wait_for_start=True) + app = run_shiny_app(here_root / ex_app_path, wait_for_start=True) console_errors: typing.List[str] = [] diff --git a/e2e/experimental/accordion/app.py b/tests/e2e/experimental/accordion/app.py similarity index 100% rename from e2e/experimental/accordion/app.py rename to tests/e2e/experimental/accordion/app.py diff --git a/e2e/experimental/accordion/test_accordion.py b/tests/e2e/experimental/accordion/test_accordion.py similarity index 100% rename from e2e/experimental/accordion/test_accordion.py rename to tests/e2e/experimental/accordion/test_accordion.py diff --git a/e2e/experimental/card/app.py b/tests/e2e/experimental/card/app.py similarity index 100% rename from e2e/experimental/card/app.py rename to tests/e2e/experimental/card/app.py diff --git a/e2e/experimental/card/test_card.py b/tests/e2e/experimental/card/test_card.py similarity index 100% rename from e2e/experimental/card/test_card.py rename to tests/e2e/experimental/card/test_card.py diff --git a/e2e/experimental/test_autoresize.py b/tests/e2e/experimental/test_autoresize.py similarity index 100% rename from e2e/experimental/test_autoresize.py rename to tests/e2e/experimental/test_autoresize.py diff --git a/e2e/experimental/test_sidebar.py b/tests/e2e/experimental/test_sidebar.py similarity index 100% rename from e2e/experimental/test_sidebar.py rename to tests/e2e/experimental/test_sidebar.py diff --git a/e2e/experimental/value_box/app.py b/tests/e2e/experimental/value_box/app.py similarity index 100% rename from e2e/experimental/value_box/app.py rename to tests/e2e/experimental/value_box/app.py diff --git a/e2e/experimental/value_box/test_valuebox.py b/tests/e2e/experimental/value_box/test_valuebox.py similarity index 100% rename from e2e/experimental/value_box/test_valuebox.py rename to tests/e2e/experimental/value_box/test_valuebox.py diff --git a/e2e/inputs/input_radio_checkbox_group/app.py b/tests/e2e/inputs/input_radio_checkbox_group/app.py similarity index 100% rename from e2e/inputs/input_radio_checkbox_group/app.py rename to tests/e2e/inputs/input_radio_checkbox_group/app.py diff --git a/e2e/inputs/input_radio_checkbox_group/test_input_radio_checkbox_group_app.py b/tests/e2e/inputs/input_radio_checkbox_group/test_input_radio_checkbox_group_app.py similarity index 100% rename from e2e/inputs/input_radio_checkbox_group/test_input_radio_checkbox_group_app.py rename to tests/e2e/inputs/input_radio_checkbox_group/test_input_radio_checkbox_group_app.py diff --git a/e2e/inputs/input_slider/app.py b/tests/e2e/inputs/input_slider/app.py similarity index 97% rename from e2e/inputs/input_slider/app.py rename to tests/e2e/inputs/input_slider/app.py index 5f3626604..949746f89 100644 --- a/e2e/inputs/input_slider/app.py +++ b/tests/e2e/inputs/input_slider/app.py @@ -1,7 +1,7 @@ from __future__ import annotations -from e2e.controls import typing from shiny import App, Inputs, Outputs, Session, render, ui +from tests.e2e.controls import typing slider_nums: list[int] = [] diff --git a/e2e/inputs/input_slider/test_input_slider_app.py b/tests/e2e/inputs/input_slider/test_input_slider_app.py similarity index 100% rename from e2e/inputs/input_slider/test_input_slider_app.py rename to tests/e2e/inputs/input_slider/test_input_slider_app.py diff --git a/e2e/inputs/test_input_action_button_link.py b/tests/e2e/inputs/test_input_action_button_link.py similarity index 100% rename from e2e/inputs/test_input_action_button_link.py rename to tests/e2e/inputs/test_input_action_button_link.py diff --git a/e2e/inputs/test_input_checkbox.py b/tests/e2e/inputs/test_input_checkbox.py similarity index 100% rename from e2e/inputs/test_input_checkbox.py rename to tests/e2e/inputs/test_input_checkbox.py diff --git a/e2e/inputs/test_input_checkbox_group.py b/tests/e2e/inputs/test_input_checkbox_group.py similarity index 100% rename from e2e/inputs/test_input_checkbox_group.py rename to tests/e2e/inputs/test_input_checkbox_group.py diff --git a/e2e/inputs/test_input_date.py b/tests/e2e/inputs/test_input_date.py similarity index 100% rename from e2e/inputs/test_input_date.py rename to tests/e2e/inputs/test_input_date.py diff --git a/e2e/inputs/test_input_date_range.py b/tests/e2e/inputs/test_input_date_range.py similarity index 100% rename from e2e/inputs/test_input_date_range.py rename to tests/e2e/inputs/test_input_date_range.py diff --git a/e2e/inputs/test_input_file.py b/tests/e2e/inputs/test_input_file.py similarity index 100% rename from e2e/inputs/test_input_file.py rename to tests/e2e/inputs/test_input_file.py diff --git a/e2e/inputs/test_input_numeric.py b/tests/e2e/inputs/test_input_numeric.py similarity index 100% rename from e2e/inputs/test_input_numeric.py rename to tests/e2e/inputs/test_input_numeric.py diff --git a/e2e/inputs/test_input_password.py b/tests/e2e/inputs/test_input_password.py similarity index 100% rename from e2e/inputs/test_input_password.py rename to tests/e2e/inputs/test_input_password.py diff --git a/e2e/inputs/test_input_radio_buttons.py b/tests/e2e/inputs/test_input_radio_buttons.py similarity index 100% rename from e2e/inputs/test_input_radio_buttons.py rename to tests/e2e/inputs/test_input_radio_buttons.py diff --git a/e2e/inputs/test_input_select.py b/tests/e2e/inputs/test_input_select.py similarity index 100% rename from e2e/inputs/test_input_select.py rename to tests/e2e/inputs/test_input_select.py diff --git a/e2e/inputs/test_input_selectize.py b/tests/e2e/inputs/test_input_selectize.py similarity index 100% rename from e2e/inputs/test_input_selectize.py rename to tests/e2e/inputs/test_input_selectize.py diff --git a/e2e/inputs/test_input_slider.py b/tests/e2e/inputs/test_input_slider.py similarity index 100% rename from e2e/inputs/test_input_slider.py rename to tests/e2e/inputs/test_input_slider.py diff --git a/e2e/inputs/test_input_switch.py b/tests/e2e/inputs/test_input_switch.py similarity index 100% rename from e2e/inputs/test_input_switch.py rename to tests/e2e/inputs/test_input_switch.py diff --git a/e2e/inputs/test_input_text.py b/tests/e2e/inputs/test_input_text.py similarity index 100% rename from e2e/inputs/test_input_text.py rename to tests/e2e/inputs/test_input_text.py diff --git a/e2e/inputs/test_input_text_area.py b/tests/e2e/inputs/test_input_text_area.py similarity index 100% rename from e2e/inputs/test_input_text_area.py rename to tests/e2e/inputs/test_input_text_area.py diff --git a/e2e/inputs/test_inputs_update.py b/tests/e2e/inputs/test_inputs_update.py similarity index 100% rename from e2e/inputs/test_inputs_update.py rename to tests/e2e/inputs/test_inputs_update.py diff --git a/e2e/module-conditional/app.py b/tests/e2e/module-conditional/app.py similarity index 100% rename from e2e/module-conditional/app.py rename to tests/e2e/module-conditional/app.py diff --git a/e2e/module-conditional/test_module_conditional.py b/tests/e2e/module-conditional/test_module_conditional.py similarity index 100% rename from e2e/module-conditional/test_module_conditional.py rename to tests/e2e/module-conditional/test_module_conditional.py diff --git a/e2e/outputs/test_output_image.py b/tests/e2e/outputs/test_output_image.py similarity index 100% rename from e2e/outputs/test_output_image.py rename to tests/e2e/outputs/test_output_image.py diff --git a/e2e/outputs/test_output_plot.py b/tests/e2e/outputs/test_output_plot.py similarity index 100% rename from e2e/outputs/test_output_plot.py rename to tests/e2e/outputs/test_output_plot.py diff --git a/e2e/outputs/test_output_table.py b/tests/e2e/outputs/test_output_table.py similarity index 100% rename from e2e/outputs/test_output_table.py rename to tests/e2e/outputs/test_output_table.py diff --git a/e2e/outputs/test_output_text.py b/tests/e2e/outputs/test_output_text.py similarity index 100% rename from e2e/outputs/test_output_text.py rename to tests/e2e/outputs/test_output_text.py diff --git a/e2e/outputs/test_output_ui.py b/tests/e2e/outputs/test_output_ui.py similarity index 100% rename from e2e/outputs/test_output_ui.py rename to tests/e2e/outputs/test_output_ui.py diff --git a/e2e/server/output_transformer/app.py b/tests/e2e/server/output_transformer/app.py similarity index 100% rename from e2e/server/output_transformer/app.py rename to tests/e2e/server/output_transformer/app.py diff --git a/e2e/server/output_transformer/test_output_transformer.py b/tests/e2e/server/output_transformer/test_output_transformer.py similarity index 100% rename from e2e/server/output_transformer/test_output_transformer.py rename to tests/e2e/server/output_transformer/test_output_transformer.py diff --git a/tests/pytest/test_e2e_regex_matching.py b/tests/pytest/test_e2e_regex_matching.py index 2c1b04b29..ab82ada73 100644 --- a/tests/pytest/test_e2e_regex_matching.py +++ b/tests/pytest/test_e2e_regex_matching.py @@ -1,6 +1,6 @@ import re -from e2e.controls import _attr_match_str, _style_match_str, _xpath_match_str +from tests.e2e.controls import _attr_match_str, _style_match_str, _xpath_match_str def test_style_match_str() -> None: