gradio/test
Abubakar Abid 024b44c553
Add support for lazy caching of examples, as well as add GRADIO_CACHE_EXAMPLES env variable (#7863)
* lazy cache

* lazy cache

* add changeset

* changes

* changes

* helpers

* revert

* changes

* changes

* bash scriipt

* internal

* changes

* check

* setup

* fix

* lint

* add changeset

* revert

* fix

* fix test

* add changeset

* partial fix

* flaky

* lint

* change test

* add changeset

* change default behavior, add env

* set env correctly

* fixes

* format

* don't block event loop

* changes:

* get space

* add to chat interface

* add flag for deferring caching

* fixes

* lazy sync

* format

* added support in chat_interface

* add documentation

* fix test

* add test

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
2024-03-29 23:14:33 +00:00
..
golden updated test images 2022-03-17 10:45:48 -07:00
test_files Rotate Images to Upright Position in preprocess (#6676) 2023-12-07 13:16:48 -05:00
tmp End-to-end UI tests with Selenium (#72) 2020-10-23 18:28:30 +04:00
__init__.py blocks-components-tests 2022-03-30 13:08:34 +03:00
conftest.py Control which files get moved to cache with gr.set_static_paths (#7618) 2024-03-07 15:39:07 -05:00
README.md fixed typo (#6896) 2023-12-29 08:17:57 -08:00
requirements.in Add support for diffuser pipelines in gr.Interface.from_pipeline(). (#7265) 2024-03-08 11:53:38 -08:00
requirements.txt downgrade contourpy (#7650) 2024-03-08 16:11:43 -08:00
test_analytics.py Update ruff to 0.1.13, enable more rules, fix issues (#7061) 2024-02-01 11:32:40 -08:00
test_api_info.py Add show_api parameter to events, and fix gr.load(). Also makes some minor improvements to the "view API" page when running on Spaces (#6846) 2023-12-22 11:59:02 -08:00
test_blocks.py Remove Ruff and Uvicorn in Wasm env (#7744) 2024-03-22 17:32:59 +09:00
test_buttons.py Allow mounted Gradio apps to work with external / arbitrary authentication providers (#7557) 2024-03-05 12:41:39 -08:00
test_chat_interface.py Add support for lazy caching of examples, as well as add GRADIO_CACHE_EXAMPLES env variable (#7863) 2024-03-29 23:14:33 +00:00
test_components.py Adds a placeholder argument to gr.Chatbot (#7849) 2024-03-27 12:13:17 -07:00
test_custom_component_compatibility.py Update ruff to 0.1.13, enable more rules, fix issues (#7061) 2024-02-01 11:32:40 -08:00
test_events.py Add concurrency_limit to ChatInterface, add IDE support for concurrency_limit (#6653) 2023-12-04 17:19:53 -05:00
test_external.py Adds support for kwargs and default arguments in the python client, and improves how parameter information is displayed in the "view API" page (#7732) 2024-03-21 17:18:13 -07:00
test_flagging.py Fix flagged files and ensure that flagging_mode="auto" saves output components as well (#7704) 2024-03-14 14:03:34 -07:00
test_gradio_component_cli.py Add --python-path, --pip-path, --gradio-path CLI arguments to let custom component developers control which executable is used (#7638) 2024-03-08 15:01:49 -08:00
test_helpers.py Add support for lazy caching of examples, as well as add GRADIO_CACHE_EXAMPLES env variable (#7863) 2024-03-29 23:14:33 +00:00
test_http_server.py Remove Ruff and Uvicorn in Wasm env (#7744) 2024-03-22 17:32:59 +09:00
test_interfaces.py Adds trigger_mode to gr.on. Use it to set trigger_model="always_last" for live interfaces. (#7794) 2024-03-22 16:00:52 -07:00
test_networking.py Remove Ruff and Uvicorn in Wasm env (#7744) 2024-03-22 17:32:59 +09:00
test_pipelines.py Add support for diffuser pipelines in gr.Interface.from_pipeline(). (#7265) 2024-03-08 11:53:38 -08:00
test_processing_utils.py Fix how files are processed in gr.ChatInterface (#7875) 2024-03-28 10:12:02 -07:00
test_queueing.py Python client properly handles hearbeat and log messages. Also handles responses longer than 65k (#6693) 2023-12-13 17:47:06 -05:00
test_reload.py Remove Ruff and Uvicorn in Wasm env (#7744) 2024-03-22 17:32:59 +09:00
test_routes.py Fix root url resolution from x_forwarded_host headers (#7787) 2024-03-22 15:08:40 -07:00
test_theme_sharing.py Allow mounted Gradio apps to work with external / arbitrary authentication providers (#7557) 2024-03-05 12:41:39 -08:00
test_tunneling.py Version 4 development branch (#5498) 2023-10-31 04:46:02 +00:00
test_utils.py Bugfix: .. in filename throwing error while loading in output. (#7795) 2024-03-25 19:27:42 +00:00

Backend Testing Guidelines

  • All the tests should test Backend functionalities. Frontend functionalities and e2e tests are done in Frontend.
  • Make use of pytest fixtures whenever it is possible. With fixtures, objects with high initialize durations are reused within tests, ex. a client session.
  • All testdata resides within _gradio/test_data and all test_files reside within test/test_files.
  • When doing network operations do not forget to make use of async to make tests faster.
  • Have clear class and function naming within the tests.
  • Short descriptions within test functions are great.
  • Library function docstrings is expected to contain an example, please add missing docstrings to the library while you are writing tests the related function.
  • Library docstring examples and descriptions are expected to align with tests, please fix divergent tests and library docstrings.