diff options
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-x | run_unittests.py | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/run_unittests.py b/run_unittests.py index 2a27926..f495c97 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -218,17 +218,22 @@ class RewriterTests(unittest.TestCase): def tearDown(self): shutil.rmtree(self.tmpdir) + def read_contents(self, fname): + with open(os.path.join(self.workdir, fname)) as f: + return f.read() + def check_effectively_same(self, mainfile, truth): - with open(os.path.join(self.workdir, mainfile)) as f: - mf = f.read() - with open(os.path.join(self.workdir, truth)) as f: - t = f.read() + mf = self.read_contents(mainfile) + t = self.read_contents(truth) # Rewriting is not guaranteed to do a perfect job of # maintaining whitespace. self.assertEqual(mf.replace(' ', ''), t.replace(' ', '')) + def prime(self, dirname): + shutil.copytree(os.path.join(self.test_dir, dirname), self.workdir) + def test_basic(self): - shutil.copytree(os.path.join(self.test_dir, '1 basic/'), self.workdir) + self.prime('1 basic') subprocess.check_output(self.rewrite_command + ['remove', '--target=trivialprog', '--filename=notthere.c', @@ -245,5 +250,17 @@ class RewriterTests(unittest.TestCase): '--sourcedir', self.workdir]) self.check_effectively_same('meson.build', 'removed.txt') + def test_subdir(self): + self.prime('2 subdirs') + top = self.read_contents('meson.build') + s2 = self.read_contents('sub2/meson.build') + subprocess.check_output(self.rewrite_command + ['remove', + '--target=something', + '--filename=second.c', + '--sourcedir', self.workdir]) + self.check_effectively_same('sub1/meson.build', 'sub1/after.txt') + self.assertEqual(top, self.read_contents('meson.build')) + self.assertEqual(s2, self.read_contents('sub2/meson.build')) + if __name__ == '__main__': unittest.main() |