diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2016-12-04 18:28:25 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-12-04 18:28:25 +0200 |
commit | 14ca7d602c92b6f97fe32230cf694d4a51d8a524 (patch) | |
tree | 20d3c02f48ac5d80b94b3da5de3d62347fe867c0 /run_unittests.py | |
parent | 6aa24362cd4c9e08e274f524773bbfee92c0d9f4 (diff) | |
download | meson-14ca7d602c92b6f97fe32230cf694d4a51d8a524.zip meson-14ca7d602c92b6f97fe32230cf694d4a51d8a524.tar.gz meson-14ca7d602c92b6f97fe32230cf694d4a51d8a524.tar.bz2 |
Store subdir information for each node so we can remove files set in other subdirectories.
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() |