summaryrefslogtreecommitdiffstats
path: root/python/mozbuild/mozbuild/test/backend/test_fastermake.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/mozbuild/mozbuild/test/backend/test_fastermake.py')
-rw-r--r--python/mozbuild/mozbuild/test/backend/test_fastermake.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/python/mozbuild/mozbuild/test/backend/test_fastermake.py b/python/mozbuild/mozbuild/test/backend/test_fastermake.py
new file mode 100644
index 0000000000..1c9670b091
--- /dev/null
+++ b/python/mozbuild/mozbuild/test/backend/test_fastermake.py
@@ -0,0 +1,42 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+import os
+
+import mozpack.path as mozpath
+from mozpack.copier import FileRegistry
+from mozpack.manifests import InstallManifest
+from mozunit import main
+
+from mozbuild.backend.fastermake import FasterMakeBackend
+from mozbuild.test.backend.common import BackendTester
+
+
+class TestFasterMakeBackend(BackendTester):
+ def test_basic(self):
+ """Ensure the FasterMakeBackend works without error."""
+ env = self._consume("stub0", FasterMakeBackend)
+ self.assertTrue(
+ os.path.exists(mozpath.join(env.topobjdir, "backend.FasterMakeBackend"))
+ )
+ self.assertTrue(
+ os.path.exists(mozpath.join(env.topobjdir, "backend.FasterMakeBackend.in"))
+ )
+
+ def test_final_target_files_wildcard(self):
+ """Ensure that wildcards in FINAL_TARGET_FILES work properly."""
+ env = self._consume("final-target-files-wildcard", FasterMakeBackend)
+ m = InstallManifest(
+ path=mozpath.join(env.topobjdir, "faster", "install_dist_bin")
+ )
+ self.assertEqual(len(m), 1)
+ reg = FileRegistry()
+ m.populate_registry(reg)
+ expected = [("foo/bar.xyz", "bar.xyz"), ("foo/foo.xyz", "foo.xyz")]
+ actual = [(path, mozpath.relpath(f.path, env.topsrcdir)) for (path, f) in reg]
+ self.assertEqual(expected, actual)
+
+
+if __name__ == "__main__":
+ main()