Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
S
Stable Diffusion Webui
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
novelai-storage
Stable Diffusion Webui
Commits
93d6c020
Commit
93d6c020
authored
Nov 14, 2022
by
Vladimir Repin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tests separated for github-actions CI
parent
007f4f73
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
108 additions
and
25 deletions
+108
-25
.github/workflows/run_tests.yaml
.github/workflows/run_tests.yaml
+26
-0
launch.py
launch.py
+24
-12
test/advanced_features/__init__.py
test/advanced_features/__init__.py
+0
-0
test/advanced_features/extras_test.py
test/advanced_features/extras_test.py
+2
-2
test/advanced_features/txt2img_test.py
test/advanced_features/txt2img_test.py
+47
-0
test/basic_features/__init__.py
test/basic_features/__init__.py
+0
-0
test/basic_features/img2img_test.py
test/basic_features/img2img_test.py
+0
-4
test/basic_features/txt2img_test.py
test/basic_features/txt2img_test.py
+0
-4
test/basic_features/utils_test.py
test/basic_features/utils_test.py
+5
-1
test/server_poll.py
test/server_poll.py
+4
-2
No files found.
.github/workflows/run_tests.yaml
0 → 100644
View file @
93d6c020
name
:
Run tests on CPU with empty model
on
:
-
push
-
pull_request
jobs
:
test
:
runs-on
:
ubuntu-latest
steps
:
-
name
:
Checkout Code
uses
:
actions/checkout@v3
-
name
:
Set up Python
3.10
uses
:
actions/setup-python@v3
with
:
python-version
:
3.10.6
-
uses
:
actions/cache@v2
with
:
path
:
~/.cache/pip
key
:
${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys
:
|
${{ runner.os }}-pip-
-
name
:
Run tests
run
:
|
export COMMANDLINE_ARGS="--tests basic_features --no-half --disable-opt-split-attention --use-cpu all"
python launch.py
launch.py
View file @
93d6c020
...
...
@@ -17,6 +17,19 @@ def extract_arg(args, name):
return
[
x
for
x
in
args
if
x
!=
name
],
name
in
args
def
extract_opt
(
args
,
name
):
opt
=
None
is_present
=
False
if
name
in
args
:
is_present
=
True
idx
=
args
.
index
(
name
)
del
args
[
idx
]
if
idx
<
len
(
args
)
and
args
[
idx
][
0
]
!=
"-"
:
opt
=
args
[
idx
]
del
args
[
idx
]
return
args
,
is_present
,
opt
def
run
(
command
,
desc
=
None
,
errdesc
=
None
,
custom_env
=
None
):
if
desc
is
not
None
:
print
(
desc
)
...
...
@@ -151,12 +164,11 @@ 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'
)
sys
.
argv
,
run_tests
,
test_dir
=
extract_opt
(
sys
.
argv
,
'--tests'
)
xformers
=
'--xformers'
in
sys
.
argv
deepdanbooru
=
'--deepdanbooru'
in
sys
.
argv
ngrok
=
'--ngrok'
in
sys
.
argv
...
...
@@ -222,24 +234,24 @@ def prepare_enviroment():
exit
(
0
)
if
run_tests
:
tests
(
test_
argv
)
tests
(
test_
dir
)
exit
(
0
)
def
tests
(
argv
):
if
"--api"
not
in
argv
:
argv
.
append
(
"--api"
)
if
"--ckpt"
not
in
argv
:
argv
.
append
(
"--ckpt"
)
argv
.
append
(
"./test/test_files/empty.pt"
)
def
tests
(
test_dir
):
if
"--api"
not
in
sys
.
argv
:
sys
.
argv
.
append
(
"--api"
)
if
"--ckpt"
not
in
sys
.
argv
:
sys
.
argv
.
append
(
"--ckpt"
)
sys
.
argv
.
append
(
"./test/test_files/empty.pt"
)
print
(
f
"Launching Web UI in another process for testing with arguments: {' '.join(argv[1:])}"
)
print
(
f
"Launching Web UI in another process for testing with arguments: {' '.join(
sys.
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
)
proc
=
subprocess
.
Popen
([
sys
.
executable
,
*
sys
.
argv
],
stdout
=
stdout
,
stderr
=
stderr
)
import
test.server_poll
test
.
server_poll
.
run_tests
(
proc
)
test
.
server_poll
.
run_tests
(
proc
,
test_dir
)
print
(
f
"Stopping Web UI process with id {proc.pid}"
)
proc
.
kill
()
...
...
test/advanced_features/__init__.py
0 → 100644
View file @
93d6c020
test/extras_test.py
→
test/
advanced_features/
extras_test.py
View file @
93d6c020
...
...
@@ -11,8 +11,8 @@ class TestExtrasWorking(unittest.TestCase):
"codeformer_visibility"
:
0
,
"codeformer_weight"
:
0
,
"upscaling_resize"
:
2
,
"upscaling_resize_w"
:
512
,
"upscaling_resize_h"
:
512
,
"upscaling_resize_w"
:
128
,
"upscaling_resize_h"
:
128
,
"upscaling_crop"
:
True
,
"upscaler_1"
:
"None"
,
"upscaler_2"
:
"None"
,
...
...
test/advanced_features/txt2img_test.py
0 → 100644
View file @
93d6c020
import
unittest
import
requests
class
TestTxt2ImgWorking
(
unittest
.
TestCase
):
def
setUp
(
self
):
self
.
url_txt2img
=
"http://localhost:7860/sdapi/v1/txt2img"
self
.
simple_txt2img
=
{
"enable_hr"
:
False
,
"denoising_strength"
:
0
,
"firstphase_width"
:
0
,
"firstphase_height"
:
0
,
"prompt"
:
"example prompt"
,
"styles"
:
[],
"seed"
:
-
1
,
"subseed"
:
-
1
,
"subseed_strength"
:
0
,
"seed_resize_from_h"
:
-
1
,
"seed_resize_from_w"
:
-
1
,
"batch_size"
:
1
,
"n_iter"
:
1
,
"steps"
:
3
,
"cfg_scale"
:
7
,
"width"
:
64
,
"height"
:
64
,
"restore_faces"
:
False
,
"tiling"
:
False
,
"negative_prompt"
:
""
,
"eta"
:
0
,
"s_churn"
:
0
,
"s_tmax"
:
0
,
"s_tmin"
:
0
,
"s_noise"
:
1
,
"sampler_index"
:
"Euler a"
}
def
test_txt2img_with_restore_faces_performed
(
self
):
self
.
simple_txt2img
[
"restore_faces"
]
=
True
self
.
assertEqual
(
requests
.
post
(
self
.
url_txt2img
,
json
=
self
.
simple_txt2img
)
.
status_code
,
200
)
class
TestTxt2ImgCorrectness
(
unittest
.
TestCase
):
pass
if
__name__
==
"__main__"
:
unittest
.
main
()
test/basic_features/__init__.py
0 → 100644
View file @
93d6c020
test/img2img_test.py
→
test/
basic_features/
img2img_test.py
View file @
93d6c020
...
...
@@ -51,9 +51,5 @@ class TestImg2ImgWorking(unittest.TestCase):
self
.
assertEqual
(
requests
.
post
(
self
.
url_img2img
,
json
=
self
.
simple_img2img
)
.
status_code
,
200
)
class
TestImg2ImgCorrectness
(
unittest
.
TestCase
):
pass
if
__name__
==
"__main__"
:
unittest
.
main
()
test/txt2img_test.py
→
test/
basic_features/
txt2img_test.py
View file @
93d6c020
...
...
@@ -68,9 +68,5 @@ class TestTxt2ImgWorking(unittest.TestCase):
self
.
assertEqual
(
requests
.
post
(
self
.
url_txt2img
,
json
=
self
.
simple_txt2img
)
.
status_code
,
200
)
class
TestTxt2ImgCorrectness
(
unittest
.
TestCase
):
pass
if
__name__
==
"__main__"
:
unittest
.
main
()
test/utils_test.py
→
test/
basic_features/
utils_test.py
View file @
93d6c020
...
...
@@ -60,4 +60,8 @@ class UtilsTests(unittest.TestCase):
self
.
assertEqual
(
requests
.
get
(
self
.
url_artist_categories
)
.
status_code
,
200
)
def
test_artists
(
self
):
self
.
assertEqual
(
requests
.
get
(
self
.
url_artists
)
.
status_code
,
200
)
\ No newline at end of file
self
.
assertEqual
(
requests
.
get
(
self
.
url_artists
)
.
status_code
,
200
)
if
__name__
==
"__main__"
:
unittest
.
main
()
test/server_poll.py
View file @
93d6c020
...
...
@@ -3,7 +3,7 @@ import requests
import
time
def
run_tests
(
proc
):
def
run_tests
(
proc
,
test_dir
):
timeout_threshold
=
240
start_time
=
time
.
time
()
while
time
.
time
()
-
start_time
<
timeout_threshold
:
...
...
@@ -14,7 +14,9 @@ def run_tests(proc):
if
proc
.
poll
()
is
not
None
:
break
if
proc
.
poll
()
is
None
:
suite
=
unittest
.
TestLoader
()
.
discover
(
''
,
pattern
=
'*_test.py'
)
if
test_dir
is
None
:
test_dir
=
""
suite
=
unittest
.
TestLoader
()
.
discover
(
test_dir
,
pattern
=
"*_test.py"
,
top_level_dir
=
"test"
)
result
=
unittest
.
TextTestRunner
(
verbosity
=
2
)
.
run
(
suite
)
else
:
print
(
"Launch unsuccessful"
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment