1
0
mirror of https://github.com/gryf/coach.git synced 2026-03-05 00:15:50 +01:00

tests: added new checkpoint and functional tests (#265)

* added new tests
- test_preset_n_and_ew
- test_preset_n_and_ew_and_onnx

* code utils improvements (all utils)
* improve checkpoint_test
* new functionality for functional_test markers and presets lists
* removed special environment container
* add xfail to certain tests
This commit is contained in:
anabwan
2019-03-28 22:57:31 +02:00
committed by Scott Leishman
parent 310d31c227
commit 869bd421a3
6 changed files with 173 additions and 62 deletions

View File

@@ -143,3 +143,113 @@ def test_preset_seed(preset_args_for_seed, clres, start_time=time.time(),
assert False
close_processes()
@pytest.mark.functional_test
def test_preset_n_and_ew(preset_args, clres, start_time=time.time(),
time_limit=Def.TimeOuts.test_time_limit):
"""
Test command arguments - check evaluation worker with number of workers
"""
ew_flag = ['-ew']
n_flag = ['-n', Def.Flags.enw]
p_valid_params = p_utils.validation_params(preset_args)
run_cmd = [
'python3', 'rl_coach/coach.py',
'-p', '{}'.format(preset_args),
'-e', '{}'.format("ExpName_" + preset_args),
]
# add flags to run command
test_ew_flag = a_utils.add_one_flag_value(flag=ew_flag)
test_n_flag = a_utils.add_one_flag_value(flag=n_flag)
run_cmd.extend(test_ew_flag)
run_cmd.extend(test_n_flag)
print(str(run_cmd))
proc = subprocess.Popen(run_cmd, stdout=clres.stdout, stderr=clres.stdout)
try:
a_utils.validate_arg_result(flag=test_ew_flag,
p_valid_params=p_valid_params, clres=clres,
process=proc, start_time=start_time,
timeout=time_limit)
a_utils.validate_arg_result(flag=test_n_flag,
p_valid_params=p_valid_params, clres=clres,
process=proc, start_time=start_time,
timeout=time_limit)
except AssertionError:
# close process once get assert false
proc.kill()
assert False
proc.kill()
@pytest.mark.functional_test
@pytest.mark.xfail(reason="https://github.com/NervanaSystems/coach/issues/257")
def test_preset_n_and_ew_and_onnx(preset_args, clres, start_time=time.time(),
time_limit=Def.TimeOuts.test_time_limit):
"""
Test command arguments - check evaluation worker, number of workers and
onnx.
"""
ew_flag = ['-ew']
n_flag = ['-n', Def.Flags.enw]
onnx_flag = ['-onnx']
s_flag = ['-s', Def.Flags.css]
p_valid_params = p_utils.validation_params(preset_args)
run_cmd = [
'python3', 'rl_coach/coach.py',
'-p', '{}'.format(preset_args),
'-e', '{}'.format("ExpName_" + preset_args),
]
# add flags to run command
test_ew_flag = a_utils.add_one_flag_value(flag=ew_flag)
test_n_flag = a_utils.add_one_flag_value(flag=n_flag)
test_onnx_flag = a_utils.add_one_flag_value(flag=onnx_flag)
test_s_flag = a_utils.add_one_flag_value(flag=s_flag)
run_cmd.extend(test_ew_flag)
run_cmd.extend(test_n_flag)
run_cmd.extend(test_onnx_flag)
run_cmd.extend(test_s_flag)
print(str(run_cmd))
proc = subprocess.Popen(run_cmd, stdout=clres.stdout, stderr=clres.stdout)
try:
# Check csv files has been created
a_utils.validate_arg_result(flag=test_ew_flag,
p_valid_params=p_valid_params, clres=clres,
process=proc, start_time=start_time,
timeout=time_limit)
# Check csv files created same as the number of the workers
a_utils.validate_arg_result(flag=test_n_flag,
p_valid_params=p_valid_params, clres=clres,
process=proc, start_time=start_time,
timeout=time_limit)
# Check checkpoint files
a_utils.validate_arg_result(flag=test_s_flag,
p_valid_params=p_valid_params, clres=clres,
process=proc, start_time=start_time,
timeout=time_limit)
# TODO: add onnx check; issue found #257
except AssertionError:
# close process once get assert false
proc.kill()
assert False
proc.kill()