コード例 #1
0
ファイル: runfiles_test.py プロジェクト: k1nkreet/bazel
    def testCreatesDirectoryBasedRunfiles(self):
        r = runfiles.Create({
            "RUNFILES_DIR": "runfiles/dir",
            "TEST_SRCDIR": "ignored when RUNFILES_DIR is set"
        })
        self.assertEqual(r.Rlocation("a/b"), "runfiles/dir/a/b")
        self.assertEqual(r.Rlocation("foo"), "runfiles/dir/foo")
        self.assertDictEqual(r.EnvVar(), {"RUNFILES_DIR": "runfiles/dir"})

        r = runfiles.Create({"TEST_SRCDIR": "test/srcdir"})
        self.assertEqual(r.Rlocation("a/b"), "test/srcdir/a/b")
        self.assertEqual(r.Rlocation("foo"), "test/srcdir/foo")
        self.assertDictEqual(r.EnvVar(), {"RUNFILES_DIR": "test/srcdir"})
コード例 #2
0
ファイル: runfiles_test.py プロジェクト: k1nkreet/bazel
 def testFailsToCreateAnyRunfilesBecauseEnvvarsAreNotDefined(self):
     with _MockFile(["a b"]) as mf:
         runfiles.Create({
             "RUNFILES_MANIFEST_FILE": mf.Path(),
             "RUNFILES_DIR": "whatever",
             "TEST_SRCDIR": "whatever"
         })
     runfiles.Create({
         "RUNFILES_DIR": "whatever",
         "TEST_SRCDIR": "whatever"
     })
     runfiles.Create({"TEST_SRCDIR": "whatever"})
     self.assertIsNone(runfiles.Create({"FOO": "bar"}))
コード例 #3
0
 def testCreatesDirectoryBasedRunfiles(self):
     r = runfiles.Create({
         "RUNFILES_DIR": "runfiles/dir",
         "TEST_SRCDIR": "always ignored",
     })
     self.assertEqual(r.Rlocation("a/b"), "runfiles/dir/a/b")
     self.assertEqual(r.Rlocation("foo"), "runfiles/dir/foo")
コード例 #4
0
 def testDirectoryBasedRunfilesEnvVars(self):
     r = runfiles.Create({
         "RUNFILES_DIR": "runfiles/dir",
         "TEST_SRCDIR": "always ignored",
     })
     self.assertDictEqual(r.EnvVars(), {
         "RUNFILES_DIR": "runfiles/dir",
         "JAVA_RUNFILES": "runfiles/dir",
     })
コード例 #5
0
 def testCreatesManifestBasedRunfiles(self):
   with _MockFile(contents=["a/b c/d"]) as mf:
     r = runfiles.Create({
         "RUNFILES_MANIFEST_FILE": mf.Path(),
         "RUNFILES_DIR": "ignored when RUNFILES_MANIFEST_FILE has a value",
         "TEST_SRCDIR": "always ignored",
     })
     self.assertEqual(r.Rlocation("a/b"), "c/d")
     self.assertIsNone(r.Rlocation("foo"))
コード例 #6
0
 def testRlocationArgumentValidation(self):
     r = runfiles.Create({"RUNFILES_DIR": "whatever"})
     self.assertRaises(ValueError, lambda: r.Rlocation(None))
     self.assertRaises(ValueError, lambda: r.Rlocation(""))
     self.assertRaises(TypeError, lambda: r.Rlocation(1))
     self.assertRaisesRegexp(ValueError, "contains uplevel",
                             lambda: r.Rlocation("foo/.."))
     self.assertRaisesRegexp(ValueError,
                             "is absolute without a drive letter",
                             lambda: r.Rlocation("\\foo"))
コード例 #7
0
    def testManifestBasedRunfilesEnvVars(self):
        with _MockFile(name="MANIFEST") as mf:
            r = runfiles.Create({
                "RUNFILES_MANIFEST_FILE": mf.Path(),
                "TEST_SRCDIR": "always ignored",
            })
            self.assertDictEqual(
                r.EnvVars(), {
                    "RUNFILES_MANIFEST_FILE": mf.Path(),
                    "RUNFILES_DIR": mf.Path()[:-len("/MANIFEST")],
                    "JAVA_RUNFILES": mf.Path()[:-len("/MANIFEST")],
                })

        with _MockFile(name="foo.runfiles_manifest") as mf:
            r = runfiles.Create({
                "RUNFILES_MANIFEST_FILE": mf.Path(),
                "TEST_SRCDIR": "always ignored",
            })
            self.assertDictEqual(
                r.EnvVars(), {
                    "RUNFILES_MANIFEST_FILE":
                    mf.Path(),
                    "RUNFILES_DIR":
                    (mf.Path()[:-len("foo.runfiles_manifest")] +
                     "foo.runfiles"),
                    "JAVA_RUNFILES":
                    (mf.Path()[:-len("foo.runfiles_manifest")] +
                     "foo.runfiles"),
                })

        with _MockFile(name="x_manifest") as mf:
            r = runfiles.Create({
                "RUNFILES_MANIFEST_FILE": mf.Path(),
                "TEST_SRCDIR": "always ignored",
            })
            self.assertDictEqual(
                r.EnvVars(), {
                    "RUNFILES_MANIFEST_FILE": mf.Path(),
                    "RUNFILES_DIR": "",
                    "JAVA_RUNFILES": "",
                })
コード例 #8
0
ファイル: runfiles_test.py プロジェクト: k1nkreet/bazel
 def testRlocationArgumentValidation(self):
     r = runfiles.Create({"RUNFILES_DIR": "whatever"})
     self.assertRaises(ValueError, lambda: r.Rlocation(None))
     self.assertRaises(ValueError, lambda: r.Rlocation(""))
     self.assertRaises(TypeError, lambda: r.Rlocation(1))
     self.assertRaisesRegexp(ValueError, "contains uplevel",
                             lambda: r.Rlocation("foo/.."))
     if RunfilesTest.IsWindows():
         self.assertRaisesRegexp(ValueError, "is absolute",
                                 lambda: r.Rlocation("\\foo"))
         self.assertRaisesRegexp(ValueError, "is absolute",
                                 lambda: r.Rlocation("c:/foo"))
         self.assertRaisesRegexp(ValueError, "is absolute",
                                 lambda: r.Rlocation("c:\\foo"))
     else:
         self.assertRaisesRegexp(ValueError, "is absolute",
                                 lambda: r.Rlocation("/foo"))
コード例 #9
0
ファイル: runfiles_test.py プロジェクト: k1nkreet/bazel
 def _Run():
     runfiles.Create({"RUNFILES_MANIFEST_FILE": "non-existing path"})