def rootIsWatched(self, r): r = norm_absolute_path(r) watches = [ norm_absolute_path(root) for root in self.watchmanCommand("watch-list")["roots"] ] return r in watches
def rootIsWatched(self, r): r = norm_absolute_path(r) watches = [ norm_absolute_path(root) for root in self.watchmanCommand("watch-list")["roots"] ] return r in watches
def test_reUseNestedWatch(self): d = self.mkdtemp() abc = os.path.join(d, "a", "b", "c") os.makedirs(abc, 0o777) self.touchRelative(abc, ".watchmanconfig") res = self.watchmanCommand("watch-project", d) self.assertEqual(d, norm_absolute_path(res["watch"])) res = self.watchmanCommand("watch-project", abc) self.assertEqual(d, norm_absolute_path(res["watch"])) self.assertEqual("a/b/c", norm_relative_path(res["relative_path"]))
def runProjectTests(self, config, expect, touch_watchmanconfig=False): with WatchmanInstance.Instance(config=config) as inst: inst.start() client = self.getClient(inst) for touch, expect_watch, expect_rel, expect_pass in expect: # encode the test criteria in the dirname so that we can # figure out which test scenario failed more easily suffix = "-%s-%s-%s-%s" % (touch, expect_watch, expect_rel, expect_pass) suffix = suffix.replace("/", "Z") d = self.mkdtemp(suffix=suffix) dir_to_watch = os.path.join(d, "a", "b", "c") os.makedirs(dir_to_watch, 0o777) dir_to_watch = norm_absolute_path(dir_to_watch) self.touchRelative(d, touch) if touch_watchmanconfig: make_empty_watchmanconfig(d) if expect_watch: expect_watch = os.path.join(d, expect_watch) else: expect_watch = d if expect_pass: res = client.query("watch-project", dir_to_watch) self.assertEqual( norm_absolute_path(os.path.join(d, expect_watch)), norm_absolute_path(res["watch"]), ) if not expect_rel: self.assertEqual(None, res.get("relative_path")) else: self.assertEqual( norm_relative_path(expect_rel), norm_relative_path(res.get("relative_path")), ) else: with self.assertRaises(pywatchman.WatchmanError) as ctx: client.query("watch-project", dir_to_watch) self.assertIn( ( "None of the files listed in global config " + "root_files are present in path `" + dir_to_watch + "` or any of its parent directories. " + "root_files is defined by the" ), str(ctx.exception), )
def test_dot(self): root = self.mkdtemp() save_dir = os.getcwd() try: os.chdir(root) dot = "" if os.name == "nt" else "." if self.transport == "cli": res = self.watchmanCommand("watch", dot) self.assertEqual(root, norm_absolute_path(res["watch"])) else: with self.assertRaises(pywatchman.WatchmanError) as ctx: self.watchmanCommand("watch", dot) self.assertIn("must be absolute", str(ctx.exception)) finally: os.chdir(save_dir)
def test_dot(self): root = self.mkdtemp() save_dir = os.getcwd() try: os.chdir(root) dot = "" if os.name == "nt" else "." if self.transport == "cli": res = self.watchmanCommand("watch", dot) self.assertEqual(root, norm_absolute_path(res["watch"])) else: with self.assertRaises(pywatchman.WatchmanError) as ctx: self.watchmanCommand("watch", dot) self.assertIn("must be absolute", str(ctx.exception)) finally: os.chdir(save_dir)
def mkdtemp(self, **kwargs): return norm_absolute_path(tempfile.mkdtemp(dir=self.tempdir, **kwargs))
def mkdtemp(self, **kwargs): return norm_absolute_path(tempfile.mkdtemp(dir=self.tempdir, **kwargs))