Browse Source

autoninja.py: Add unit test for gn_lines with 100% coverage

Part of my bigger auto{ninja,siso} refactoring.

R=brucedawson@chromium.org, jwata@google.com, tikuta@chromium.org

Bug: b/293657720
Change-Id: I5c228ecf9910b0a8ce18afc816f213f08b941299
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4924715
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Junji Watanabe <jwata@google.com>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Auto-Submit: Philipp Wollermann <philwo@chromium.org>
Philipp Wollermann 1 year ago
parent
commit
aabd869daf
1 changed files with 9 additions and 13 deletions
  1. 9 13
      tests/autoninja_test.py

+ 9 - 13
tests/autoninja_test.py

@@ -75,26 +75,22 @@ class AutoninjaTest(trial_dir.TestCase):
         self.assertIn(os.path.join(autoninja.SCRIPT_DIR, 'ninja_reclient.py'),
                       args)
 
-    def test_autoninja_import(self):
+    def test_gn_lines(self):
         out_dir = os.path.join('out', 'dir')
         # Make sure nested import directives work. This is based on the
         # reclient test.
         write(os.path.join(out_dir, 'args.gn'), 'import("//out/common.gni")')
-        write(os.path.join('out', 'common.gni'), 'import("//out/common_2.gni")')
-        # The test will only pass if both imports work and
-        # 'use_remoteexec=true' is seen.
+        write(os.path.join('out', 'common.gni'), 'import("common_2.gni")')
         write(os.path.join('out', 'common_2.gni'), 'use_remoteexec=true')
-        write(os.path.join('buildtools', 'reclient_cfgs', 'reproxy.cfg'),
-              'RBE_v=2')
-        write(os.path.join('buildtools', 'reclient', 'version.txt'), '0.0')
 
-        args = autoninja.main(['autoninja.py', '-C', out_dir]).split()
+        lines = list(
+            autoninja._gn_lines(out_dir, os.path.join(out_dir, 'args.gn')))
 
-        self.assertIn('-j', args)
-        parallel_j = int(args[args.index('-j') + 1])
-        self.assertGreater(parallel_j, multiprocessing.cpu_count() * 2)
-        self.assertIn(os.path.join(autoninja.SCRIPT_DIR, 'ninja_reclient.py'),
-                      args)
+        # The test will only pass if both imports work and
+        # 'use_remoteexec=true' is seen.
+        self.assertListEqual(lines, [
+            'use_remoteexec=true',
+        ])
 
 
 if __name__ == '__main__':