diff --git a/dvc/progress.py b/dvc/progress.py index 2e8020fe7..e3fd74200 100644 --- a/dvc/progress.py +++ b/dvc/progress.py @@ -63,7 +63,6 @@ class Tqdm(tqdm): super(Tqdm, self).__init__( iterable=iterable, disable=disable, **kwargs ) - # self.set_lock(Lock()) def update_desc(self, desc, n=1, truncate=True): """ diff --git a/tests/func/test_checkout.py b/tests/func/test_checkout.py index 91bdeac1f..0bda6a5f7 100644 --- a/tests/func/test_checkout.py +++ b/tests/func/test_checkout.py @@ -401,120 +401,6 @@ class TestCheckoutSuggestGit(TestRepro): self.assertIsNone(exc.cause.cause) -class TestCheckoutShouldHaveSelfClearingProgressBar(TestDvc): - def setUp(self): - super(TestCheckoutShouldHaveSelfClearingProgressBar, self).setUp() - self._prepare_repo() - - def test(self): - encoding = sys.stderr.encoding - with self._caplog.at_level(logging.INFO, logger="dvc"), patch.object( - sys, "stderr" - ) as stderr_mock: - self.stderr_mock = logger.handlers[0].stream = stderr_mock - - if sys.version_info[:1] < (3,): - sys.stderr.encoding = encoding - - ret = main(["checkout"]) - self.assertEqual(0, ret) - - stdout_calls = self.stderr_mock.method_calls - write_calls = self.filter_out_non_write_calls(stdout_calls) - write_calls = self.filter_out_empty_write_calls(write_calls) - self.write_args = [w_c[1][0] for w_c in write_calls] - - pattern = re.compile(r"%\|\W+\| .*\[.*\]") - progress_bars = filter(pattern.search, self.write_args) - progress_bars = [arg for arg in progress_bars if "unpacked" not in arg] - update_bars = progress_bars[:-1] - finish_bar = progress_bars[-1] - - # at least the inital (blank) update_bar should be printed; - # but maybe no intermediate ones - self.assertLessEqual(1, len(update_bars)) - self.assertLessEqual(len(update_bars), 4) - - self.assertCaretReturnFollowsEach(update_bars) - self.assertNewLineFollows(finish_bar) - - # self.assertAnyEndsWith(update_bars, self.FOO) - # self.assertAnyEndsWith(update_bars, self.BAR) - # self.assertAnyEndsWith(update_bars, self.DATA) - # self.assertAnyEndsWith(update_bars, self.DATA_SUB) - # self.assertAnyStartsWith( - # [finish_bar], "\r" + Tqdm.truncate(self.DATA_SUB) - # ) - # self.assertTrue(finish_bar.endswith("Checkout finished!")) - - def filter_out_empty_write_calls(self, calls): - def is_not_empty_write(call): - assert call[0] == "write" - return call[1][0] != "" - - return list(filter(is_not_empty_write, calls)) - - def filter_out_non_write_calls(self, calls): - def is_write_call(call): - return call[0] == "write" - - return list(filter(is_write_call, calls)) - - def _prepare_repo(self): - storage = self.mkdtemp() - - ret = main(["remote", "add", "-d", "myremote", storage]) - self.assertEqual(0, ret) - - ret = main(["add", self.DATA_DIR]) - self.assertEqual(0, ret) - - ret = main(["add", self.FOO]) - self.assertEqual(0, ret) - - ret = main(["add", self.BAR]) - self.assertEqual(0, ret) - - ret = main(["push"]) - self.assertEqual(0, ret) - - shutil.rmtree(self.DATA_DIR) - os.unlink(self.FOO) - os.unlink(self.BAR) - - def assertCaretReturnFollowsEach(self, update_bars): - for update_bar in update_bars: - self.assertIn(update_bar, self.write_args) - - for index, arg in enumerate(self.write_args): - if arg == update_bar: - lines = 0 - for arg in self.write_args[index + 1 :]: - if arg == "\n": - lines += 1 - elif arg == "\x1b[A": - lines -= 1 - elif arg.startswith("\r") and "unpacked" in arg: - pass - else: - self.assertEqual(0, lines) - self.assertEqual("\r", arg[0]) - break - - def assertNewLineFollows(self, finish_bar): - self.assertIn(finish_bar, self.write_args) - - for index, arg in enumerate(self.write_args): - if arg == finish_bar: - self.assertEqual("\n", self.write_args[index + 1]) - - def assertAnyEndsWith(self, update_bars, name): - self.assertTrue(any(ub for ub in update_bars if ub.endswith(name))) - - def assertAnyStartsWith(self, update_bars, name): - self.assertTrue(any(ub for ub in update_bars if ub.startswith(name))) - - class TestCheckoutTargetRecursiveShouldNotRemoveOtherUsedFiles(TestDvc): def test(self): ret = main(["add", self.DATA_DIR, self.FOO, self.BAR])