File Explorer

/var/lang/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

ninja_test.py2.5 KB · 78 lines
#!/usr/bin/env python3 # Copyright (c) 2012 Google Inc. All rights reserved.# Use of this source code is governed by a BSD-style license that can be# found in the LICENSE file. """Unit tests for the ninja.py file.""" import sysimport unittestfrom pathlib import Path from gyp.generator import ninjafrom gyp.MSVSVersion import SelectVisualStudioVersion  def _has_visual_studio():    """Check if Visual Studio can be detected by gyp's registry-based detection."""    if not sys.platform.startswith("win"):        return False    try:        SelectVisualStudioVersion("auto", allow_fallback=False)        return True    except ValueError:        return False  class TestPrefixesAndSuffixes(unittest.TestCase):    @unittest.skipUnless(        _has_visual_studio(),        "requires Windows with a Visual Studio installation detected via the registry",    )    def test_BinaryNamesWindows(self):        writer = ninja.NinjaWriter(            "foo", "wee", ".", ".", "build.ninja", ".", "build.ninja", "win"        )        spec = {"target_name": "wee"}        for key, ext in {            "executable": ".exe",            "shared_library": ".dll",            "static_library": ".lib",        }.items():            self.assertTrue(writer.ComputeOutputFileName(spec, key).endswith(ext))     def test_BinaryNamesLinux(self):        writer = ninja.NinjaWriter(            "foo", "wee", ".", ".", "build.ninja", ".", "build.ninja", "linux"        )        spec = {"target_name": "wee"}        self.assertTrue("." not in writer.ComputeOutputFileName(spec, "executable"))        self.assertTrue(            writer.ComputeOutputFileName(spec, "shared_library").startswith("lib")        )        self.assertTrue(            writer.ComputeOutputFileName(spec, "static_library").startswith("lib")        )        self.assertTrue(            writer.ComputeOutputFileName(spec, "shared_library").endswith(".so")        )        self.assertTrue(            writer.ComputeOutputFileName(spec, "static_library").endswith(".a")        )     def test_GenerateCompileDBWithNinja(self):        build_dir = (            Path(__file__).resolve().parent.parent.parent.parent / "data" / "ninja"        )        compile_db = ninja.GenerateCompileDBWithNinja(build_dir)        assert len(compile_db) == 1        assert compile_db[0]["directory"] == str(build_dir)        assert compile_db[0]["command"] == "cc my.in my.out"        assert compile_db[0]["file"] == "my.in"        assert compile_db[0]["output"] == "my.out"  if __name__ == "__main__":    unittest.main()