def test_get_last_trial_time_started_called_early(db, experiment_config): """Tests that get_last_trial_time_started raises an exception if called while there are still pending trials.""" experiment = experiment_config['experiment'] db_utils.add_all([ models.Experiment(name=experiment), ]) trial1 = models.Trial(experiment=experiment, benchmark=BENCHMARK, fuzzer=FUZZER) trial2 = models.Trial(experiment=experiment, benchmark=BENCHMARK, fuzzer=FUZZER) first_time = datetime.datetime.fromtimestamp(time.mktime(time.gmtime(0))) trial1.time_started = first_time trials = [trial1, trial2] db_utils.add_all(trials) with pytest.raises(AssertionError): scheduler.get_last_trial_time_started(experiment)
def test_get_last_trial_time_started(db, experiment_config): """Tests that get_last_trial_time_started returns the time_started of the last trial to be started.""" experiment = experiment_config['experiment'] db_utils.add_all([ models.Experiment(name=experiment), ]) trial1 = models.Trial(experiment=experiment, benchmark=BENCHMARK, fuzzer=FUZZER) trial2 = models.Trial(experiment=experiment, benchmark=BENCHMARK, fuzzer=FUZZER) first_time = datetime.datetime.fromtimestamp(time.mktime(time.gmtime(0))) trial1.time_started = first_time last_time_started = first_time + datetime.timedelta(days=1) trial2.time_started = last_time_started trials = [trial1, trial2] db_utils.add_all(trials) assert scheduler.get_last_trial_time_started( experiment) == last_time_started