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_using_toolchain(cd_to_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)
    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")
Esempio n. 3
0
def test_find_target_in_toolchain_package_cmake(cd_to_tmpdir, record_messages):
    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", 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")
Esempio n. 4
0
def test_no_packages(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")
    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)
Esempio n. 5
0
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")
Esempio n. 6
0
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)
Esempio n. 7
0
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", 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])
Esempio n. 8
0
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])
Esempio n. 9
0
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", 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))
Esempio n. 10
0
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])
Esempio n. 11
0
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")
Esempio n. 12
0
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
Esempio n. 13
0
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))
Esempio n. 14
0
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"