From 5563f13273e41a375394ba9854643a2a7e50d92c Mon Sep 17 00:00:00 2001 From: Ivan Shcheklein Date: Sat, 9 Feb 2019 19:57:41 -0800 Subject: [PATCH] fix metrics tests on windows --- tests/test_metrics.py | 20 ++++++++++++++++++-- tests/test_run.py | 12 ++++-------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/tests/test_metrics.py b/tests/test_metrics.py index ce3d088f1..5ebf11e1e 100644 --- a/tests/test_metrics.py +++ b/tests/test_metrics.py @@ -378,10 +378,26 @@ class TestCachedMetrics(TestDvc): self.dvc.scm.checkout(branch) self.dvc.checkout(force=True) - content = json.dumps({"metrics": branch}) + print( + 'print(json.dumps({{"metrics": "{branch}"}})\n'.format( + branch=branch + ) + ) + + with open("code.py", "w+") as fobj: + fobj.write("import sys\n") + fobj.write("import os\n") + fobj.write("import json\n") + fobj.write( + 'print(json.dumps({{"metrics": "{branch}"}}))\n'.format( + branch=branch + ) + ) + stage = self.dvc.run( + deps=["code.py"], metrics=["metrics.json"], - cmd="echo '{content}' > metrics.json".format(content=content), + cmd="python code.py metrics.json > metrics.json", ) self.assertIsNotNone(stage) self.assertEqual(stage.relpath, "metrics.json.dvc") diff --git a/tests/test_run.py b/tests/test_run.py index 5e6355500..046f5158c 100644 --- a/tests/test_run.py +++ b/tests/test_run.py @@ -532,18 +532,14 @@ class TestCmdRunOverwrite(TestDvc): class TestCmdRunCliMetrics(TestDvc): def test_cached(self): - ret = main( - ["run", "-m", "metrics.txt", "echo -n 'test' > metrics.txt"] - ) + ret = main(["run", "-m", "metrics.txt", "echo 'test' > metrics.txt"]) self.assertEqual(ret, 0) - self.assertEqual(open("metrics.txt", "r").read(), "test") + self.assertEqual(open("metrics.txt", "r").read().rstrip(), "test") def test_not_cached(self): - ret = main( - ["run", "-M", "metrics.txt", "echo -n 'test' > metrics.txt"] - ) + ret = main(["run", "-M", "metrics.txt", "echo 'test' > metrics.txt"]) self.assertEqual(ret, 0) - self.assertEqual(open("metrics.txt", "r").read(), "test") + self.assertEqual(open("metrics.txt", "r").read().rstrip(), "test") class TestRunDeterministicBase(TestDvc):