def test_calculate_job_results(self): db_obj = FakeDBObj(self) rt = ResultTrace() pbs_list = { "account": ["account1", "account2"], "cores_per_node": [24, 48], "numnodes": [100, 200], "class": ["queue1", "queue2"], "wallclock_requested": [120, 368], "created": [1000, 2000], "start": [1100, 2200], "completion": [1500, 2700], "jobname": ["name1", "name2"] } rt._lists_submit = rt._transform_pbs_to_slurm(pbs_list) rt.calculate_job_results(True, db_obj, 1) self.assertEqual(db_obj._id_count, 12) self.assertEqual(db_obj._set_fields, [ "jobs_runtime_cdf", "jobs_runtime_stats", "jobs_waittime_cdf", "jobs_waittime_stats", "jobs_turnaround_cdf", "jobs_turnaround_stats", "jobs_requested_wc_cdf", "jobs_requested_wc_stats", "jobs_cpus_alloc_cdf", "jobs_cpus_alloc_stats", "jobs_slowdown_cdf", "jobs_slowdown_stats" ]) self.assertEqual(db_obj._hist_count, 6) self.assertEqual(db_obj._stats_count, 6)
def test_load_job_results(self): db_obj = self._db hist = Histogram() stat = NumericStats() self.addCleanup(self._del_table, "histograms") self.addCleanup(self._del_table, "numericStats") hist.create_table(db_obj) stat.create_table(db_obj) rt = ResultTrace() pbs_list = { "account": ["account1", "account2"], "cores_per_node": [24, 48], "numnodes": [100, 200], "class": ["queue1", "queue2"], "wallclock_requested": [120, 368], "created": [1000, 2000], "start": [1100, 2200], "completion": [1500, 2700], "jobname": ["name1", "name2"] } rt._lists_submit = rt._transform_pbs_to_slurm(pbs_list) rt.calculate_job_results(True, db_obj, 1) db_obj = self._db new_rt = ResultTrace() new_rt.load_job_results(db_obj, 1) for field in [ "jobs_runtime_cdf", "jobs_runtime_stats", "jobs_waittime_cdf", "jobs_waittime_stats", "jobs_turnaround_cdf", "jobs_turnaround_stats", "jobs_requested_wc_cdf", "jobs_requested_wc_stats", "jobs_cpus_alloc_cdf", "jobs_cpus_alloc_stats", "jobs_slowdown_cdf", "jobs_slowdown_stats" ]: self.assertNotEqual(rt.jobs_results[field], None)