Commit 59dfe084 authored by AUTOMATIC's avatar AUTOMATIC
Browse files

launch tests from launch.py with --tests commandline argument

parent 05a657dd
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -29,3 +29,5 @@ notification.mp3
/textual_inversion
.vscode
/extensions
/test/stdout.txt
/test/stderr.txt
+19 −0
Original line number Diff line number Diff line
@@ -128,10 +128,12 @@ def prepare_enviroment():
    blip_commit_hash = os.environ.get('BLIP_COMMIT_HASH', "48211a1594f1321b00f14c9f7a5b4813144b2fb9")

    sys.argv += shlex.split(commandline_args)
    test_argv = [x for x in sys.argv if x != '--tests']

    sys.argv, skip_torch_cuda_test = extract_arg(sys.argv, '--skip-torch-cuda-test')
    sys.argv, reinstall_xformers = extract_arg(sys.argv, '--reinstall-xformers')
    sys.argv, update_check = extract_arg(sys.argv, '--update-check')
    sys.argv, run_tests = extract_arg(sys.argv, '--tests')
    xformers = '--xformers' in sys.argv
    deepdanbooru = '--deepdanbooru' in sys.argv
    ngrok = '--ngrok' in sys.argv
@@ -194,6 +196,23 @@ def prepare_enviroment():
        print("Exiting because of --exit argument")
        exit(0)

    if run_tests:
        tests(test_argv)
        exit(0)


def tests(argv):
    print(f"Launching Web UI in another process for testing with arguments: {' '.join(argv[1:])}")

    with open('test/stdout.txt', "w", encoding="utf8") as stdout, open('test/stderr.txt', "w", encoding="utf8") as stderr:
        proc = subprocess.Popen([sys.executable, *argv], stdout=stdout, stderr=stderr)

    import test.server_poll
    test.server_poll.run_tests()

    print(f"Stopping Web UI process with id {proc.pid}")
    proc.kill()


def start_webui():
    print(f"Launching Web UI with arguments: {' '.join(sys.argv[1:])}")

run_tests.bat

deleted100644 → 0
+0 −15
Original line number Diff line number Diff line
@echo off
set ERROR_REPORTING=FALSE
set COMMANDLINE_ARGS= --api
echo Launching SDWebUI...
start "SDWebUITest" webui.bat

if not defined PYTHON (set PYTHON=python)
if not defined VENV_DIR (set VENV_DIR=venv)
set PYTHON="%~dp0%VENV_DIR%\Scripts\Python.exe"
%PYTHON% test/server_poll.py
for /f "tokens=2 delims=," %%a in ('tasklist /v /fo csv ^| findstr /i "SDWebUITest"') do set "$PID=%%a"

taskkill /PID %$PID% >nul 2>&1

pause
+3 −3
Original line number Diff line number Diff line
import unittest
import requests
from gradio.processing_utils import encode_pil_to_base64
from PIL import Image


class TestExtrasWorking(unittest.TestCase):
    def setUp(self):
@@ -22,8 +20,10 @@ class TestExtrasWorking(unittest.TestCase):
            "image": ""
            }


class TestExtrasCorrectness(unittest.TestCase):
    pass


if __name__ == "__main__":
    unittest.main()
+6 −6
Original line number Diff line number Diff line
@@ -3,13 +3,12 @@ import requests
from gradio.processing_utils import encode_pil_to_base64
from PIL import Image


class TestImg2ImgWorking(unittest.TestCase):
    def setUp(self):
        self.url_img2img = "http://localhost:7860/sdapi/v1/img2img"
        self.simple_img2img = {
            "init_images": [
                encode_pil_to_base64(Image.open(r"test/test_files/img2img_basic.png"))
                ],
            "init_images": [encode_pil_to_base64(Image.open(r"test/test_files/img2img_basic.png"))],
            "resize_mode": 0,
            "denoising_strength": 0.75,
            "mask": None,
@@ -19,9 +18,7 @@ class TestImg2ImgWorking(unittest.TestCase):
            "inpaint_full_res_padding": 0,
            "inpainting_mask_invert": 0,
            "prompt": "example prompt",
            "styles": [
                ""
                ],
            "styles": [],
            "seed": -1,
            "subseed": -1,
            "subseed_strength": 0,
@@ -45,6 +42,7 @@ class TestImg2ImgWorking(unittest.TestCase):
            "sampler_index": "Euler a",
            "include_init_images": False
            }

    def test_img2img_simple_performed(self):
        self.assertEqual(requests.post(self.url_img2img, json=self.simple_img2img).status_code, 200)

@@ -52,8 +50,10 @@ class TestImg2ImgWorking(unittest.TestCase):
        self.simple_img2img["mask"] = encode_pil_to_base64(Image.open(r"test/test_files/mask_basic.png"))
        self.assertEqual(requests.post(self.url_img2img, json=self.simple_img2img).status_code, 200)


class TestImg2ImgCorrectness(unittest.TestCase):
    pass


if __name__ == "__main__":
    unittest.main()
Loading