class Test3(U.TestCase): here = tu.absdir() bases = (here, tempfile.gettempdir()) asubs = [os.path.join(b, "test_sub") for b in bases] home = get_env_var("HOME") if home: home_junk = os.path.join(home, "test_junk") def _rmsubs(self): import shutil for sub in self.asubs: if os.path.isdir(sub): shutil.rmtree(sub) def setUp(self): self._rmsubs() if self.home and not os.path.isdir(self.home_junk): os.mkdir(self.home_junk) def tearDown(self): self._rmsubs() if self.home and os.path.isdir(self.home_junk): os.rmdir(self.home_junk) def test3a_subdir(self): for sub in self.asubs: self.assertFalse(os.path.isdir(sub), "init: no dir %r" % sub) b, d = os.path.dirname(sub), os.path.basename(sub) md = tu.make_subdir(d, b) self.assertTrue(os.path.isdir(sub), "made dir %r" % sub) self.assertEqual(md, sub, tu.msg(md, sub, "make_subdir returns path")) s2 = os.path.join(sub, "sub2") tu.make_subdir("sub2", sub) self.assertTrue(os.path.isdir(s2), "made dir %r" % s2) f = os.path.join(s2, "test_file") with open(f, "w") as fd: fd.write("testing..") self.assertTrue(os.path.isfile(f), "file %r exists" % f) tu.delete_tree(sub) self.assertFalse(os.path.isdir(sub), "delete_tree removes subdir %r" % sub) def test3b_delete_tree_constraint(self): if self.home: err = None try: tu.delete_tree(self.home_junk) except tu.TestError as e: err = e.value self.assertFalse( err is None, "deltree on %r raises TestError" % (self.home_junk)) else: self.fail("Skip deltree constraint test, no '$HOME' var")
def test2c_path_append_parent(self): here = tu.absdir(); par = os.path.dirname(here) was_there = par in sys.path if was_there: while par in sys.path: sys.path.remove(par) np = len(sys.path) for p in (None, __file__): self.assertFalse(par in sys.path, "par not in initial path") if not p: g = tu.path_append_parent() else: g = tu.path_append_parent(p) self.assertEqual(g,par, tu.msg(g,par, "path_append_parent return")) self.assertTrue(par in sys.path, "actually appends") sys.path.remove(par) l= len(sys.path) self.assertEqual(l, np, tu.msg(l, np,"numpaths")) if was_there: # restore entry state (but no multiples needed!) sys.path.append(par)
def test2c_path_append_parent(self): here = tu.absdir() par = os.path.dirname(here) was_there = par in sys.path if was_there: while par in sys.path: sys.path.remove(par) np = len(sys.path) for p in (None, __file__): self.assertFalse(par in sys.path, "par not in initial path") if not p: g = tu.path_append_parent() else: g = tu.path_append_parent(p) self.assertEqual(g, par, tu.msg(g, par, "path_append_parent return")) self.assertTrue(par in sys.path, "actually appends") sys.path.remove(par) l = len(sys.path) self.assertEqual(l, np, tu.msg(l, np, "numpaths")) if was_there: # restore entry state (but no multiples needed!) sys.path.append(par)
def test2b_absdir(self): here = tu.absdir() g = tu.absdir(__file__) self.assertEqual(g, here, tu.msg(g, here, "absdir"))
def test2b_absdir(self): here = tu.absdir(); g=tu.absdir(__file__) self.assertEqual(g, here, tu.msg(g, here, "absdir"))