示例#1
0
 def test_11_cwd_pathlib(self):
     jobspec_path = pathlib.PosixPath(
         self.jobspec_dir) / "valid" / "basic_v1.yaml"
     jobspec = Jobspec.from_yaml_file(jobspec_path)
     cwd = pathlib.PosixPath("/tmp")
     jobspec.cwd = cwd
     self.assertEqual(jobspec.cwd, os.fspath(cwd))
示例#2
0
 def test_21_stdio(self):
     """Test getter/setter methods for stdio properties"""
     jobspec = Jobspec.from_yaml_stream(self.basic_jobspec)
     for stream in ("stderr", "stdout", "stdin"):
         self.assertEqual(getattr(jobspec, stream), None)
         for path in ("foo.txt", "bar.md", "foo.json"):
             setattr(jobspec, stream, path)
             self.assertEqual(getattr(jobspec, stream), path)
示例#3
0
 def test_07_count(self):
     jobspec_fname = os.path.join(self.jobspec_dir, "valid", "use_case_2.4.yaml")
     jobspec = Jobspec.from_yaml_file(jobspec_fname)
     count_dict = jobspec.resource_counts()
     self.assertEqual(count_dict["node"], 1)
     self.assertEqual(count_dict["slot"], 11)
     self.assertEqual(count_dict["core"], 16)
     self.assertEqual(count_dict["memory"], 64)
示例#4
0
 def test_06_iter(self):
     jobspec_fname = os.path.join(self.jobspec_dir, "valid",
                                  "use_case_2.4.yaml")
     jobspec = Jobspec.from_yaml_file(jobspec_fname)
     self.assertEqual(len(list(jobspec)), 7)
     self.assertEqual(
         len(list([x for x in jobspec if x["type"] == "core"])), 2)
     self.assertEqual(
         len(list([x for x in jobspec if x["type"] == "slot"])), 2)
示例#5
0
 def test_09_valid_duration(self):
     """Test setting Jobspec duration to various valid values"""
     jobspec = Jobspec.from_yaml_stream(self.basic_jobspec)
     for duration in (100, 100.5):
         delta = datetime.timedelta(seconds=duration)
         for x in [duration, delta, "{}s".format(duration)]:
             jobspec.duration = x
             # duration setter converts value to a float
             self.assertEqual(jobspec.duration, float(duration))
示例#6
0
 def test_10_invalid_duration(self):
     """Test setting Jobspec duration to various invalid values and types"""
     jobspec = Jobspec.from_yaml_stream(self.basic_jobspec)
     for duration in (-100, -100.5, datetime.timedelta(seconds=-5), "10h5m"):
         with self.assertRaises(ValueError):
             jobspec.duration = duration
     for duration in ([], {}):
         with self.assertRaises(TypeError):
             jobspec.duration = duration
示例#7
0
 def test_04_valid_construction(self):
     for jobspec_filepath in glob(
             os.path.join(self.jobspec_dir, "valid", "*.yaml")):
         Jobspec.from_yaml_file(jobspec_filepath)
示例#8
0
 def test_12_environment(self):
     jobspec = Jobspec.from_yaml_stream(self.basic_jobspec)
     new_env = {"HOME": "foo", "foo": "bar"}
     jobspec.environment = new_env
     self.assertEqual(jobspec.environment, new_env)
示例#9
0
 def test_08_jobspec_submit(self):
     jobspec = Jobspec.from_yaml_stream(self.basic_jobspec)
     jobid = job.submit(self.fh, jobspec)
     self.assertGreater(jobid, 0)