aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2019-03-04 12:58:35 +0100
committerJussi Pakkanen <jpakkane@gmail.com>2019-03-04 13:58:35 +0200
commit760d1bff9cf7db9886aedb02226e5a7105d5d454 (patch)
tree96ce685a101fdc479a77e19698f3244a8ff1d5ce /run_unittests.py
parent81f0eef2df495872af38a04a4fd792a2b9058c6e (diff)
downloadmeson-760d1bff9cf7db9886aedb02226e5a7105d5d454.zip
meson-760d1bff9cf7db9886aedb02226e5a7105d5d454.tar.gz
meson-760d1bff9cf7db9886aedb02226e5a7105d5d454.tar.bz2
rewriter: Sort source files (#5010)
* rewriter: Sort source files * rewriter: Natural sorting * rewriter: Fix flake8 * rewriter: Fixed sorting * rewriter: Make sorting key more readable * rewriter: Even simpler key
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py64
1 files changed, 55 insertions, 9 deletions
diff --git a/run_unittests.py b/run_unittests.py
index c1337a3..90a726b 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -5242,16 +5242,16 @@ class RewriterTests(BasePlatformTests):
out = self.extract_test_data(out)
expected = {
'target': {
- 'trivialprog0@exe': {'name': 'trivialprog0', 'sources': ['main.cpp', 'fileA.cpp', 'a1.cpp', 'a2.cpp', 'a6.cpp', 'fileB.cpp', 'fileC.cpp', 'a7.cpp']},
- 'trivialprog1@exe': {'name': 'trivialprog1', 'sources': ['main.cpp', 'fileA.cpp', 'a1.cpp', 'a2.cpp', 'a6.cpp']},
- 'trivialprog2@exe': {'name': 'trivialprog2', 'sources': ['fileB.cpp', 'fileC.cpp', 'a7.cpp']},
- 'trivialprog3@exe': {'name': 'trivialprog3', 'sources': ['main.cpp', 'fileA.cpp', 'a5.cpp']},
- 'trivialprog4@exe': {'name': 'trivialprog4', 'sources': ['main.cpp', 'a5.cpp', 'fileA.cpp']},
- 'trivialprog5@exe': {'name': 'trivialprog5', 'sources': ['main.cpp', 'a3.cpp', 'fileB.cpp', 'fileC.cpp', 'a7.cpp']},
+ 'trivialprog0@exe': {'name': 'trivialprog0', 'sources': ['a1.cpp', 'a2.cpp', 'a6.cpp', 'fileA.cpp', 'main.cpp', 'a7.cpp', 'fileB.cpp', 'fileC.cpp']},
+ 'trivialprog1@exe': {'name': 'trivialprog1', 'sources': ['a1.cpp', 'a2.cpp', 'a6.cpp', 'fileA.cpp', 'main.cpp']},
+ 'trivialprog2@exe': {'name': 'trivialprog2', 'sources': ['a7.cpp', 'fileB.cpp', 'fileC.cpp']},
+ 'trivialprog3@exe': {'name': 'trivialprog3', 'sources': ['a5.cpp', 'fileA.cpp', 'main.cpp']},
+ 'trivialprog4@exe': {'name': 'trivialprog4', 'sources': ['a5.cpp', 'main.cpp', 'fileA.cpp']},
+ 'trivialprog5@exe': {'name': 'trivialprog5', 'sources': ['a3.cpp', 'main.cpp', 'a7.cpp', 'fileB.cpp', 'fileC.cpp']},
'trivialprog6@exe': {'name': 'trivialprog6', 'sources': ['main.cpp', 'fileA.cpp', 'a4.cpp']},
- 'trivialprog7@exe': {'name': 'trivialprog7', 'sources': ['fileB.cpp', 'fileC.cpp', 'main.cpp', 'fileA.cpp', 'a1.cpp', 'a2.cpp', 'a6.cpp']},
- 'trivialprog8@exe': {'name': 'trivialprog8', 'sources': ['main.cpp', 'fileA.cpp', 'a1.cpp', 'a2.cpp', 'a6.cpp']},
- 'trivialprog9@exe': {'name': 'trivialprog9', 'sources': ['main.cpp', 'fileA.cpp', 'a1.cpp', 'a2.cpp', 'a6.cpp']},
+ 'trivialprog7@exe': {'name': 'trivialprog7', 'sources': ['fileB.cpp', 'fileC.cpp', 'a1.cpp', 'a2.cpp', 'a6.cpp', 'fileA.cpp', 'main.cpp']},
+ 'trivialprog8@exe': {'name': 'trivialprog8', 'sources': ['a1.cpp', 'a2.cpp', 'a6.cpp', 'fileA.cpp', 'main.cpp']},
+ 'trivialprog9@exe': {'name': 'trivialprog9', 'sources': ['a1.cpp', 'a2.cpp', 'a6.cpp', 'fileA.cpp', 'main.cpp']},
}
}
self.assertDictEqual(out, expected)
@@ -5355,6 +5355,52 @@ class RewriterTests(BasePlatformTests):
expected = {'name': 'something', 'sources': ['first.c', 'second.c']}
self.assertDictEqual(out['target']['94b671c@@something@exe'], expected)
+ def test_target_source_sorting(self):
+ self.prime('5 sorting')
+ add_json = json.dumps([{'type': 'target', 'target': 'exe1', 'operation': 'src_add', 'sources': ['a666.c']}])
+ inf_json = json.dumps([{'type': 'target', 'target': 'exe1', 'operation': 'info'}])
+ out = self.rewrite(self.builddir, add_json)
+ out = self.rewrite(self.builddir, inf_json)
+ out = self.extract_test_data(out)
+ expected = {
+ 'target': {
+ 'exe1@exe': {
+ 'name': 'exe1',
+ 'sources': [
+ 'aaa/a/a1.c',
+ 'aaa/b/b1.c',
+ 'aaa/b/b2.c',
+ 'aaa/f1.c',
+ 'aaa/f2.c',
+ 'aaa/f3.c',
+ 'bbb/a/b1.c',
+ 'bbb/b/b2.c',
+ 'bbb/c1/b5.c',
+ 'bbb/c2/b7.c',
+ 'bbb/c10/b6.c',
+ 'bbb/a4.c',
+ 'bbb/b3.c',
+ 'bbb/b4.c',
+ 'bbb/b5.c',
+ 'a1.c',
+ 'a2.c',
+ 'a3.c',
+ 'a10.c',
+ 'a20.c',
+ 'a30.c',
+ 'a100.c',
+ 'a101.c',
+ 'a110.c',
+ 'a210.c',
+ 'a666.c',
+ 'b1.c',
+ 'c2.c'
+ ]
+ }
+ }
+ }
+ self.assertDictEqual(out, expected)
+
def test_kwargs_info(self):
self.prime('3 kwargs')
out = self.rewrite(self.builddir, os.path.join(self.builddir, 'info.json'))