Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
# 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
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()