aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py27
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()