@@ -128,10 +128,12 @@ def prepare_enviroment():
128
128
blip_commit_hash = os .environ .get ('BLIP_COMMIT_HASH' , "48211a1594f1321b00f14c9f7a5b4813144b2fb9" )
129
129
130
130
sys .argv += shlex .split (commandline_args )
131
+ test_argv = [x for x in sys .argv if x != '--tests' ]
131
132
132
133
sys .argv , skip_torch_cuda_test = extract_arg (sys .argv , '--skip-torch-cuda-test' )
133
134
sys .argv , reinstall_xformers = extract_arg (sys .argv , '--reinstall-xformers' )
134
135
sys .argv , update_check = extract_arg (sys .argv , '--update-check' )
136
+ sys .argv , run_tests = extract_arg (sys .argv , '--tests' )
135
137
xformers = '--xformers' in sys .argv
136
138
deepdanbooru = '--deepdanbooru' in sys .argv
137
139
ngrok = '--ngrok' in sys .argv
@@ -194,6 +196,23 @@ def prepare_enviroment():
194
196
print ("Exiting because of --exit argument" )
195
197
exit (0 )
196
198
199
+ if run_tests :
200
+ tests (test_argv )
201
+ exit (0 )
202
+
203
+
204
+ def tests (argv ):
205
+ print (f"Launching Web UI in another process for testing with arguments: { ' ' .join (argv [1 :])} " )
206
+
207
+ with open ('test/stdout.txt' , "w" , encoding = "utf8" ) as stdout , open ('test/stderr.txt' , "w" , encoding = "utf8" ) as stderr :
208
+ proc = subprocess .Popen ([sys .executable , * argv ], stdout = stdout , stderr = stderr )
209
+
210
+ import test .server_poll
211
+ test .server_poll .run_tests ()
212
+
213
+ print (f"Stopping Web UI process with id { proc .pid } " )
214
+ proc .kill ()
215
+
197
216
198
217
def start_webui ():
199
218
print (f"Launching Web UI with arguments: { ' ' .join (sys .argv [1 :])} " )
0 commit comments