class TestProject(unittest.TestCase): def setUp(self): self.current_dir = os.getcwd() print(s.top_path_dict) self.project = Project('sub_folder') def tearDown(self): self.project.remove() def test_repr(self): self.assertEqual('[]', self.project.__repr__()) pr_down_one = self.project['..'] pr_down_two = self.project['../..'] pr_down_twice = self.project['..']['..'] self.assertEqual(pr_down_two.__repr__(), pr_down_twice.__repr__()) self.assertEqual( str( sorted([ directory for directory in os.listdir('.') if not os.path.isfile(os.path.join('.', directory)) ])), pr_down_one.__repr__()) self.assertEqual( str( sorted([ directory for directory in os.listdir('..') if not os.path.isfile(os.path.join('..', directory)) ])), pr_down_two.__repr__()) self.assertEqual(pr_down_two.__repr__(), pr_down_twice.__repr__())
def tearDownClass(cls): project = Project('testing_copyto') sub_project = project.open('sub_project_ex') sub_project.remove() sub_project = project.open('sub_project') sub_project.remove() s.close_connection() os.remove('copyto.db')
def __init__(self, working_directory, job_id, debug=False): self.working_directory = working_directory pr = Project(path=working_directory) self.job = pr.load(job_id) # setup logger self._logger = self.setup_logger(debug=debug)
def __init__(self, db, job_id=None, db_entry=None, user=None): if not db_entry: db_entry = db.get_item_by_id(job_id) if db_entry is None: raise ValueError("job ID {0} does not exist!".format(job_id)) job_name = db_entry["job"] h5_path = None sub_job = db_entry["subjob"] if sub_job is not None: if len(sub_job.strip()) > 0: h5_path = '/'.join(sub_job.split('/')[:-1]) hdf5_file = sub_job.split('/')[1] + '.h5' gp = GenericPath(root_path=db_entry["projectpath"], project_path=db_entry["project"]) hdf_project = ProjectHDFio(project=Project(path=gp, user=user), file_name=hdf5_file, h5_path=h5_path, mode="r") super(JobPath, self).__init__(hdf_project, job_name) self.__name__ = db_entry["hamilton"] self.__version__ = db_entry["hamversion"] if 'id' in db_entry: self._job_id = db_entry["id"] self._status = db_entry["status"] self._master_id = db_entry["masterid"] self._parent_id = db_entry["parentid"]
def _create_project_from_hdf5(self): """ Internal function to create a pyiron project pointing to the directory where the HDF5 file is located. Returns: Project: pyiron project object """ from pyiron_base.project import Project return Project(path=self.file_path)
def setUpClass(cls): cls.project = Project('testing_copyto')
def tearDownClass(cls): project = Project('jobs_testing') project.remove(enforce=True) s.close_connection() os.remove('testing_jobs.db')
def setUp(self): self.project = Project('jobs_testing')
def setUp(self): self.project = Project('test_genericjob')
class TestGenericJob(unittest.TestCase): def setUp(self): self.project = Project('test_genericjob') @classmethod def tearDownClass(cls): s.close_connection() os.remove('genericjob.db') def test_db_entry(self): ham = self.project.create_job('ScriptJob', "job_single_debug") db_entry = ham.db_entry() self.assertEqual(db_entry['project'], ham.project_hdf5.project_path) self.assertEqual(db_entry['hamilton'], 'Script') self.assertEqual(db_entry['hamversion'], ham.version) self.assertEqual(db_entry['status'], ham.status.string) self.assertEqual(db_entry['job'], ham.job_name) ham.save() ham.remove() def test_id(self): pass def test_parent_id(self): pass def test_master_id(self): pass def test_child_ids(self): pass def test_child_ids_running(self): pass def test_child_ids_finished(self): pass def test_index(self): pass def test_job_name(self): cwd = os.getcwd().replace('\\', '/') ham = self.project.create_job('ScriptJob', "job_single_debug") self.assertEqual('job_single_debug', ham.job_name) self.assertEqual('/job_single_debug', ham.project_hdf5.h5_path) self.assertEqual(cwd + '/test_genericjob/job_single_debug.h5', ham.project_hdf5.file_name) ham.job_name = 'job_single_move' ham.to_hdf() self.assertEqual('/job_single_move', ham.project_hdf5.h5_path) self.assertEqual(cwd + '/test_genericjob/job_single_move.h5', ham.project_hdf5.file_name) self.assertTrue(os.path.isfile(ham.project_hdf5.file_name)) ham.project_hdf5.remove_file() self.assertFalse(os.path.isfile(ham.project_hdf5.file_name)) ham = self.project.create_job('ScriptJob', "job_single_debug_2") ham.to_hdf() self.assertEqual('job_single_debug_2', ham.job_name) self.assertEqual('/job_single_debug_2', ham.project_hdf5.h5_path) self.assertEqual(cwd + '/test_genericjob/job_single_debug_2.h5', ham.project_hdf5.file_name) self.assertTrue(os.path.isfile(ham.project_hdf5.file_name)) ham.job_name = 'job_single_move_2' self.assertEqual('/job_single_move_2', ham.project_hdf5.h5_path) self.assertEqual(cwd + '/test_genericjob/job_single_move_2.h5', ham.project_hdf5.file_name) self.assertTrue(os.path.isfile(ham.project_hdf5.file_name)) ham.project_hdf5.remove_file() self.assertFalse( os.path.isfile(cwd + '/test_genericjob/job_single_debug_2.h5')) self.assertFalse(os.path.isfile(ham.project_hdf5.file_name)) def test_move(self): pr_a = self.project.open('project_a') pr_b = self.project.open('project_b') ham = pr_a.create_job('ScriptJob', "job_moving_easy") self.assertFalse(ham.project_hdf5.file_exists) self.assertEqual('test_genericjob/project_a/', ham.project_hdf5.project_path) self.assertFalse(ham.project_hdf5.file_exists) ham.move_to(pr_b) self.assertEqual('test_genericjob/project_b/', ham.project_hdf5.project_path) ham_2 = pr_a.create_job('ScriptJob', "job_moving_diff") ham_2.to_hdf() self.assertEqual('test_genericjob/project_a/', ham_2.project_hdf5.project_path) ham_2.move_to(pr_b) self.assertEqual('test_genericjob/project_b/', ham_2.project_hdf5.project_path) ham_2.project_hdf5.remove_file() pr_a.remove() pr_b.remove() # def test_sub_job_name(self): # pass def test_version(self): pass def test_structure(self): pass def test_executable(self): pass def test_project(self): pass def test_hdf5(self): pass def test_server(self): pass def test_status(self): pass def test_job_info_str(self): pass def test_write_input(self): pass def test_collect_output(self): pass def test_collect_logfiles(self): pass def test_run(self): pass def test_run_if_modal(self): pass def test_run_if_non_modal(self): pass def test_run_if_manually(self): pass def test_run_if_queue(self): pass def test_run_if_new(self): pass def test_run_if_appended(self): pass def test_run_if_created(self): pass def test_run_if_submitted(self): pass def test_run_if_running(self): pass def test_run_if_refresh(self): pass def test_run_if_collect(self): pass def test_run_if_suspended(self): pass def test_run_if_finished(self): pass def test_suspend(self): pass def test_remove(self): pass def test_inspect(self): pass def test_load(self): pass def test_save(self): pass def test_job_file_name(self): pass def test_clear_job(self): pass def test_rename(self): pass def test_rename_nested_job(self): pass def test_copy(self): pass def test_update_master(self): pass def test_to_from_hdf(self): pass def test_to_from_hdf_serial(self): pass def test_to_from_hdf_childshdf(self): pass def test_show_hdf(self): pass def test_get_pandas(self): pass def test_get_from_table(self): pass def test_get(self): pass def test_append(self): pass def test_pop(self): pass def test_iter_childs(self): pass def test__check_if_job_exists(self): pass def test__runtime(self): pass def test__create_working_directory(self): pass def test__write_run_wrapper(self): pass def test__type_to_hdf(self): pass def test__type_from_hdf(self): pass def test_childs_to_hdf(self): pass def test_childs_from_hdf(self): pass def test_open_hdf(self): pass def test__check_ham_state(self): pass
def tearDownClass(cls): project = Project('testing_childids') project.remove_jobs(recursive=True) project.remove() s.close_connection() os.remove('testing_childids.db')
def setUpClass(cls): cls.project = Project('testing_childids')
def setUp(self): self.current_dir = os.getcwd() print(s.top_path_dict) self.project = Project('sub_folder')