From 7ecb9e87aeab1872ed62d64160ff88dc35615058 Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Wed, 19 Dec 2018 15:56:33 +0200 Subject: [PATCH] test: fix "overwrite" test on mac --- tests/test_run.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/test_run.py b/tests/test_run.py index 42d0308a0..c6dbfd75d 100644 --- a/tests/test_run.py +++ b/tests/test_run.py @@ -332,6 +332,13 @@ class TestRunUnprotectOutsHardlink(TestDvc): class TestCmdRunOverwrite(TestDvc): def test(self): + # NOTE: using sleep() is a workaround for filesystems + # with low mtime resolution. We have to use mtime since + # comparing mtime's is the only way to check that the stage + # file didn't change(size and inode in the first test down + # below don't change). + import time + ret = main(['run', '-d', self.FOO, '-d', self.CODE, @@ -342,6 +349,8 @@ class TestCmdRunOverwrite(TestDvc): stage_mtime = os.path.getmtime('out.dvc') + time.sleep(1) + ret = main(['run', '-d', self.FOO, '-d', self.CODE, @@ -354,6 +363,8 @@ class TestCmdRunOverwrite(TestDvc): self.assertEqual(stage_mtime, os.path.getmtime('out.dvc')) stage_mtime = os.path.getmtime('out.dvc') + time.sleep(1) + ret = main(['run', '-d', self.FOO, '-d', self.CODE, @@ -368,6 +379,8 @@ class TestCmdRunOverwrite(TestDvc): self.assertNotEqual(stage_mtime, os.path.getmtime('out.dvc')) stage_mtime = os.path.getmtime('out.dvc') + time.sleep(1) + ret = main(['run', '--overwrite-dvcfile', '-f', 'out.dvc',