def test_dir_integrity_abspath(self): ''' Test absolute path updates in cfg object ''' gen_abs = os.path.join(self.test_dir, self.cfg.gen_dir) mut_abs = os.path.join(self.test_dir, self.cfg.mut_dir) comb_abs = os.path.join(self.test_dir, self.cfg.comb_dir) tmp_abs = os.path.join(self.test_dir, self.cfg.tmp_dir) #log_abs = os.path.join(self.test_dir, self.cfg.log_dir) inc_abs = os.path.join(self.test_dir, self.cfg.incidents_dir) sam_abs = os.path.join(self.test_dir, self.cfg.samples_dir) os.mkdir(os.path.join(self.test_dir, self.cfg.gen_dir)) os.mkdir(os.path.join(self.test_dir, self.cfg.mut_dir)) os.mkdir(os.path.join(self.test_dir, self.cfg.comb_dir)) ret = sanity.dir_integrity(self.cfg) self.assertEqual(self.cfg.gen_dir, gen_abs) self.assertEqual(self.cfg.mut_dir, mut_abs) self.assertEqual(self.cfg.comb_dir, comb_abs) self.assertEqual(self.cfg.tmp_dir, tmp_abs) #self.assertEqual(self.cfg.log_dir, log_abs) self.assertEqual(self.cfg.incidents_dir, inc_abs) self.assertEqual(self.cfg.samples_dir, sam_abs)
def test_dir_integrity_disable(self): ''' Test whether modes get disabled if no matching input dir found. ''' ret = sanity.dir_integrity(self.cfg) self.assertEqual(self.cfg.generation, False) self.assertEqual(self.cfg.mutation, False) self.assertEqual(self.cfg.combination, False)
def test_dir_integrity_writable_wd(self): ''' Test whether integrity fails if work_dir is not writable. ''' os.chmod(self.test_dir, 0555) ret = sanity.dir_integrity(self.cfg) os.chmod(self.test_dir, 0777) self.assertEqual(ret, False)
def test_dir_integrity_enable(self): ''' Test whether modes are enabled if there are input dirs. ''' os.mkdir(os.path.join(self.test_dir, self.cfg.gen_dir)) os.mkdir(os.path.join(self.test_dir, self.cfg.mut_dir)) os.mkdir(os.path.join(self.test_dir, self.cfg.comb_dir)) ret = sanity.dir_integrity(self.cfg) self.assertEqual(self.cfg.generation, True) self.assertEqual(self.cfg.mutation, True) self.assertEqual(self.cfg.combination, True)
def _change_perms(self, partial): ''' Create `partial` subdir in self.test_dir directory, drop permissions and call dir_integrity. ''' abs_path = os.path.join(self.test_dir, partial) os.mkdir(abs_path) os.chmod(abs_path, 0000) ret = sanity.dir_integrity(self.cfg) os.chmod(abs_path, 0777) return ret