def setUp(self): self.temp_dir = self.mkdtemp() self.local_path = os.path.join(self.temp_dir, "local") hostdir = cdist.str_hash(self.target_host[0]) base_root_path = os.path.join(self.local_path, hostdir) self.remote_base_path = os.path.join(self.temp_dir, "remote") os.makedirs(self.remote_base_path) self.local = local.Local( target_host=self.target_host, target_host_tags=self.target_host_tags, base_root_path=base_root_path, host_dir_name=hostdir, exec_path=test.cdist_exec_path, add_conf_dirs=[conf_dir], ) self.local.create_files_dirs() self.remote = remote.Remote(target_host=self.target_host, remote_exec=self.remote_exec, remote_copy=self.remote_copy, base_path=self.remote_base_path) self.remote.create_files_dirs() self.explorer = explorer.Explorer(self.target_host, self.local, self.remote)
def test_jobs_parameter(self): self.assertIsNone(self.explorer.jobs) expl = explorer.Explorer(self.target_host, self.local, self.remote, jobs=8) self.assertEqual(expl.jobs, 8)
def test_transfer_global_explorers_parallel(self): expl = explorer.Explorer(self.target_host, self.local, self.remote, jobs=multiprocessing.cpu_count()) self.assertIsNotNone(expl.jobs) expl.transfer_global_explorers() source = self.local.global_explorer_path destination = self.remote.global_explorer_path self.assertEqual(sorted(os.listdir(source)), sorted(os.listdir(destination)))
def test_run_parallel_jobs(self): expl = explorer.Explorer(self.target_host, self.local, self.remote, jobs=multiprocessing.cpu_count()) self.assertIsNotNone(expl.jobs) out_path = self.mkdtemp() expl.run_global_explorers(out_path) names = sorted(expl.list_global_explorer_names()) output = sorted(os.listdir(out_path)) self.assertEqual(names, output) shutil.rmtree(out_path)
def setUp(self): self.target_host = 'localhost' self.local_base_path = local_base_path self.out_path = self.mkdtemp() self.local = local.Local(self.target_host, self.local_base_path, self.out_path) self.local.create_directories() self.remote_base_path = self.mkdtemp() self.user = getpass.getuser() remote_exec = "ssh -o User=%s -q" % self.user remote_copy = "scp -o User=%s -q" % self.user self.remote = remote.Remote(self.target_host, self.remote_base_path, remote_exec, remote_copy) self.explorer = explorer.Explorer(self.target_host, self.local, self.remote) self.log = logging.getLogger(self.target_host)