def directory_setup(testfile, perf_module, configs): """ Sets up the output directories. :param testfile: the main testfile used in run_test(); only used here for its file name :returns: dict with keys ["report_name", "report_dir", "logs_dir"] """ dir_info = {} utils.makedirs(runtime.get_reports_dir()) report_name = os.path.splitext(os.path.basename(testfile))[0] # getting the file name without extension date_time = time.strftime("_%Y%m%d_%H%M%S", time.localtime(runtime.get_init_time())) report_name += date_time dir_info["report_name"] = report_name results_dir = os.path.join(runtime.get_reports_dir(), report_name) utils.makedirs(results_dir) dir_info["results_dir"] = results_dir if "LOGS_DIRECTORY" in configs.mapping: logs_dir = configs.mapping.get("LOGS_DIRECTORY") else: logs_dir = perf_module.LOGS_DIRECTORY utils.makedirs(logs_dir) dir_info["logs_dir"] = logs_dir return dir_info
def test_directory_setup_makes_correct_directories(self): """ Tests that directory_setup makes the correct directories """ perf_module = utils.load_module(os.path.join(self.FILE_LOCATION, "samples/sample_perf.py")) dir_info = test_runner_helper.directory_setup( os.path.join(self.FILE_LOCATION, "samples/sample_input.py"), perf_module, configobj.Config("Master", {})) self.assertTrue(os.path.isdir(runtime.get_reports_dir())) self.assertTrue("sample_input" in dir_info["report_name"]) self.assertTrue(os.path.isdir(dir_info["results_dir"])) self.assertTrue(os.path.isdir(dir_info["logs_dir"])) shutil.rmtree(dir_info["results_dir"]) shutil.rmtree(dir_info["logs_dir"])