def test_default_toolchain(cd_to_tmpdir, record_messages): qibuild_action = QiBuildAction() qitoolchain_action = QiToolchainAction() qitoolchain_action("create", "bar") qitoolchain_action("create", "foo", "--default") record_messages.reset() qitoolchain_action("list") assert record_messages.find(" bar") assert record_messages.find("\* foo")
def test_running_from_install_dir_dep_in_toolchain(cd_to_tmpdir): """ Test Running From Install Dir Dep In Toolchain """ # create a foo toolchain containing the world package qibuild_action = QiBuildAction() qitoolchain_action = QiToolchainAction() create_foo_toolchain_with_world_package(qibuild_action, qitoolchain_action) # install and run hello, (checking that the world lib is # installed form the package of the toolchain) qibuild_action("configure", "-c", "foo", "hello") qibuild_action("make", "-c", "foo", "hello") prefix = cd_to_tmpdir.mkdir("prefix") qibuild_action("install", "-c", "foo", "hello", prefix.strpath) hello = qibuild.find.find_bin([prefix.strpath], "hello") qisys.command.call([hello])
def test_using_toolchain(cd_to_tmpdir): """ Test Using Toolchain """ qibuild_action = QiBuildAction() qitoolchain_action = QiToolchainAction() build_worktree = qibuild_action.build_worktree qibuild_action.add_test_project("world") qibuild_action.add_test_project("hello") world_package = qibuild_action("package", "world") qitoolchain_action("create", "foo") qibuild.config.add_build_config("foo", toolchain="foo") qitoolchain_action("add-package", "-c", "foo", world_package) build_worktree.worktree.remove_project("world", from_disk=True) # this should now fail (no world-config.cmake found) qibuild_action("configure", "hello", raises=True) # but this should pass: qibuild_action("configure", "-c", "foo", "hello")
def test_find_target_in_toolchain_package_cmake(cd_to_tmpdir, record_messages): """ Test Find Target In Toolchain Package CMake """ qibuild_action = QiBuildAction() qitoolchain_action = QiToolchainAction() build_worktree = qibuild_action.build_worktree qibuild_action.add_test_project("world") qibuild_action.add_test_project("hello") world_package = qibuild_action("package", "world") qitoolchain_action("create", "foo") qibuild.config.add_build_config("foo", toolchain="foo") qitoolchain_action("add-package", "-c", "foo", world_package) build_worktree.worktree.remove_project("world", from_disk=True) record_messages.reset() qibuild_action.chdir("hello") qibuild_action("configure", "-c", "foo") qibuild_action("find", "--cmake", "world", "-c", "foo") assert record_messages.find("WORLD_LIBRARIES")
def test_no_packages(cd_to_tmpdir): """ Test No Package """ # create a foo toolchain containing the world package qibuild_action = QiBuildAction() qitoolchain_action = QiToolchainAction() build_worktree = qibuild_action.build_worktree qibuild_action.add_test_project("world") qibuild_action.add_test_project("hello") world_package = qibuild_action("package", "world") qitoolchain_action("create", "foo") qibuild.config.add_build_config("foo", toolchain="foo") qitoolchain_action("add-package", "-c", "foo", world_package) build_worktree.worktree.remove_project("world", from_disk=True) qibuild_action("configure", "-c", "foo", "hello") qibuild_action("make", "-c", "foo", "hello") dest = cd_to_tmpdir.mkdir("dest") qibuild_action("install", "--config", "foo", "--no-packages", "hello", dest.strpath) assert not dest.join("lib", "libworld.so").check(file=True)
def test_find_target_in_toolchain_package(cd_to_tmpdir, record_messages): """ Test Find Target In Toolchain Package """ qibuild_action = QiBuildAction() qitoolchain_action = QiToolchainAction() qibuild_action.add_test_project("world") qibuild_action.add_test_project("hello") world_package = qibuild_action("package", "world") qitoolchain_action("create", "foo") qibuild.config.add_build_config("foo", toolchain="foo") qitoolchain_action("add-package", "-c", "foo", world_package) qibuild_action.chdir("hello") qibuild_action("configure", "-c", "foo") qibuild_action("make", "-c", "foo") record_messages.reset() qibuild_action("find", "world", "-c", "foo") assert record_messages.find(find.library_name("world")) record_messages.reset() qibuild_action("find", "hello", "-c", "foo") assert record_messages.find(find.binary_name("hello")) rc = qibuild_action("find", "libeggs", "-c", "foo", retcode=True) assert rc == 1
def test_running_from_install_dir_dep_in_toolchain(cd_to_tmpdir): # create a foo toolchain containing the world package qibuild_action = QiBuildAction() qitoolchain_action = QiToolchainAction() build_worktree = qibuild_action.build_worktree qibuild_action.add_test_project("world") qibuild_action.add_test_project("hello") world_package = qibuild_action("package", "world") qitoolchain_action("create", "foo") qitoolchain_action("add-package", "-c", "foo", world_package) build_worktree.worktree.remove_project("world", from_disk=True) # install and run hello, (checking that the world lib is # installed form the package of the toolchain) qibuild_action("configure", "-c", "foo", "hello") qibuild_action("make", "-c", "foo", "hello") prefix = cd_to_tmpdir.mkdir("prefix") qibuild_action("install", "-c", "foo", "hello", prefix.strpath) hello = qibuild.find.find_bin([prefix.strpath], "hello") qisys.command.call([hello])
def test_toolchain(tmpdir, monkeypatch, qimvn_action): """ Test packaging using a toolchain """ monkeypatch.chdir(tmpdir) qibuild_action = QiBuildAction() qitoolchain_action = QiToolchainAction() build_worktree = qibuild_action.build_worktree qibuild_action.add_test_project("world") qibuild_action.add_test_project("hello") world_package = qibuild_action("package", "world") qitoolchain_action("create", "foo") qitoolchain_action("add-package", "-c", "foo", world_package) qibuild_action.chdir("hello") qibuild_action("configure", "-c", "foo") qibuild_action("make", "-c", "foo") jarname = "test.jar" jarpath = jar.jar(jarname, ["hello", "world"], get_paths(config="foo")) assert jarpath assert os.path.exists(jarpath) assert os.path.exists(os.path.join("./", jarname))
def test_default(cd_to_tmpdir): qibuild_action = QiBuildAction() qitoolchain_action = QiToolchainAction() build_worktree = qibuild_action.build_worktree qitoolchain_action("create", "foo", "--default") assert build_worktree.default_config == "foo"