def test_shutdown_correctly(flask_prediction_server): def dummy_test(flask_prediction_server): pass dummy_test(flask_prediction_server) with pytest.raises(Exception): wait_flask_alive('localhost:4130', timeout=10)
def test_collect_wrong_status(flask_prediction_server): wait_flask_alive(flask_prediction_server) with pytest.raises(TimeoutError): wait_flask_collect(flask_prediction_server, timeout=10)
def test_send_flask_prediction(flask_prediction_server, fake_input_dir, tmp_output_dir): wait_flask_alive(flask_prediction_server) send_flask_prediction(flask_prediction_server, 0, fake_input_dir, tmp_output_dir)
def test_shutdown_request(flask_prediction_server): wait_flask_alive(flask_prediction_server) send_shutdown(flask_prediction_server) with pytest.raises(Exception): wait_flask_alive(flask_prediction_server, timeout=10)
def test_wait_flask_alive_timeout(): with pytest.raises(TimeoutError): wait_flask_alive('http://noserver', timeout=1)
def test_wait_flask_alive(flask_prediction_server): wait_flask_alive(flask_prediction_server, timeout=10)
def test_collect_ok(flask_dummy_server): wait_flask_alive(flask_dummy_server) wait_flask_collect(flask_dummy_server, timeout=10)
def test_wait_flask_alive_ok(flask_dummy_server): wait_flask_alive(flask_dummy_server, timeout=10)
parser.add_argument("--gpu_count", help="Default count of GPU", type=int, default=1) args = parser.parse_args() configs = get_configs(args) sys.path.append(configs.get('code_dir')) # Prepare folders if needed os.makedirs(configs['cache_dir'], exist_ok=True) os.makedirs(configs['model_dir'], exist_ok=True) os.makedirs(configs['output_dir'], exist_ok=True) if USE_FLASK: try: wait_flask_alive(timeout=0.1, check_interval=0.01) except: # Prepare model for prediction prepare_model(configs) # Launch server if use flask start_prediction_server_function(configs, gpu_count=args.gpu_count, port=4130) # Predict server_full_address = full_address('127.0.0.1', port=4130) try: predict(server_full_address, configs['eval_step'], configs['input_dir'], configs['output_dir'],