sd-webui-controlnet/tests
Chenlei Hu 442398bb9f
Port SDForge's preprocessor structure (#2754)
* wip

* wip2

* wip3

* fix issues

* Add scribble xdog

* port legacy processors

* nit

* Add tests

* Fix modules test

* Add back normal_dsine

* Remove legacy code

* Remove code

* Add tests

* rename param

* Linter ignore

* fix is_image

* fix is_image

* nit

* nit

* Better assertion message

* Add back ip-adapter-auto

* Add test

* Fix various tag matching

* fix

* Add back preprocessor cache

* Add back sparse ctrl

* fix test failure

* Add log
2024-04-17 22:28:56 -04:00
..
annotator_tests/openpose_tests Add Animal Pose Preprocessor (RTMPose AP-10K) (#2293) 2023-12-23 15:55:21 -05:00
cn_script Port SDForge's preprocessor structure (#2754) 2024-04-17 22:28:56 -04:00
external_code_api 🔧 Support SDXL in tests (#2254) 2023-11-12 14:12:54 -05:00
images Add depth_anything (#2544) 2024-01-22 16:14:26 -05:00
web_api Port SDForge's preprocessor structure (#2754) 2024-04-17 22:28:56 -04:00
README.md 🔧 Support SDXL in tests (#2254) 2023-11-12 14:12:54 -05:00
conftest.py Migrate detect_test and improve coverage (#2715) 2024-03-30 15:33:57 -04:00
utils.py 🐛 Handle None controlnet model in version check (#2272) 2023-11-19 23:51:39 -05:00

README.md

Tests

There are 2 types of tests:

  • unittest: backend based tests that directly import A1111 shared modules
  • api test: test functionality through A1111 web API

Run tests locally

Make sure the current working directory is A1111 root.

Install test dependencies

pip install -r requirements-test.txt

Start test server

python -m coverage run
          --data-file=.coverage.server
          launch.py
          --skip-prepare-environment
          --skip-torch-cuda-test
          --test-server
          --do-not-download-clip
          --no-half
          --disable-opt-split-attention
          --use-cpu all
          --api-server-stop

Setting environment variables

Setting CONTROLNET_TEST_SD_VERSION for stable diffusion model family used during testing.

  • 1 for SD1.x
  • 2 for SD2.x
  • 3 for SDXL

Run test

python -m pytest -vv --junitxml=test/results.xml --cov ./extensions/sd-webui-controlnet --cov-report=xml --verify-base-url ./extensions/sd-webui-controlnet/tests

Check code coverage

Text report

python -m coverage report -i

HTML report

python -m coverage html -i