def test_get_result_hash_from_prefix(tmpdir): results_dir = tmpdir.mkdir('results') machine_dir = results_dir.mkdir('cheetah') machine_json = join(os.path.dirname(__file__), 'example_results', 'cheetah', 'machine.json') shutil.copyfile(machine_json, join(str(machine_dir), 'machine.json')) for f in ['e5b6cdbc', 'e5bfoo12']: open( join(str(machine_dir), '{0}-py2.7-Cython-numpy1.8.json'.format(f)), 'a').close() # check unique, valid case full_commit = results.get_result_hash_from_prefix(str(results_dir), 'cheetah', 'e5b6') assert full_commit == 'e5b6cdbc' # check invalid hash case bad_commit = results.get_result_hash_from_prefix(str(results_dir), 'cheetah', 'foobar') assert bad_commit is None # check non-unique case with pytest.raises(util.UserError) as excinfo: results.get_result_hash_from_prefix(str(results_dir), 'cheetah', 'e') assert 'one of multiple commits' in str(excinfo.value)
def test_get_result_hash_from_prefix(tmpdir): results_dir = tmpdir.mkdir('results') machine_dir = results_dir.mkdir('machine') for f in ['e5b6cdbc', 'e5bfoo12']: open(join(str(machine_dir), '{0}-py2.7-Cython-numpy1.8.json'.format(f)), 'a').close() # check unique, valid case full_commit = results.get_result_hash_from_prefix(str(results_dir), 'machine', 'e5b6') assert full_commit == 'e5b6cdbc' # check invalid hash case bad_commit = results.get_result_hash_from_prefix(str(results_dir), 'machine', 'foobar') assert bad_commit is None # check non-unique case with pytest.raises(util.UserError) as excinfo: results.get_result_hash_from_prefix(str(results_dir), 'machine', 'e') assert 'one of multiple commits' in str(excinfo.value)