Exemplo n.º 1
0
def test_bad_qibuild_config_with_qitest_json(args, qibuild_action, monkeypatch):
    qibuild_action.add_test_project("testme")
    qibuild_action("add-config", "foo")
    qibuild_action("configure", "--config", "foo", "testme")
    build_worktree = TestBuildWorkTree()
    build_worktree.set_active_config("foo")
    testme_proj = build_worktree.get_build_project("testme")
    testme_sdk = testme_proj.sdk_directory
    qitest_json = os.path.join(testme_sdk, "qitest.json")
    monkeypatch.chdir(testme_proj.path)
    args.qitest_jsons = [qitest_json]
    test_runners = qitest.parsers.get_test_runners(args)
Exemplo n.º 2
0
def test_pure_c_project(qibuild_action, tmpdir):
    """ Test Pure C Project """
    work = tmpdir.join("work")
    foo1 = work.mkdir("foo")
    foo1.join("CMakeLists.txt").write("""\ncmake_minimum_required(VERSION 3.0)\nproject(foo C)\n""")
    qibuild_action.chdir(foo1.strpath)
    qibuild_action("convert", "--go")
    qibuild_action.chdir(work.strpath)
    build_worktree = TestBuildWorkTree()
    worktree = build_worktree.worktree
    worktree.add_project("foo")
    assert build_worktree.get_build_project("foo")
Exemplo n.º 3
0
def test_bad_qibuild_config_with_qitest_json(args, qibuild_action,
                                             monkeypatch):
    qibuild_action.add_test_project("testme")
    qibuild_action("add-config", "foo")
    qibuild_action("configure", "--config", "foo", "testme")
    build_worktree = TestBuildWorkTree()
    build_worktree.set_active_config("foo")
    testme_proj = build_worktree.get_build_project("testme")
    testme_sdk = testme_proj.sdk_directory
    qitest_json = os.path.join(testme_sdk, "qitest.json")
    monkeypatch.chdir(testme_proj.path)
    args.qitest_jsons = [qitest_json]
    test_runners = qitest.parsers.get_test_runners(args)
Exemplo n.º 4
0
def test_pure_c_project(qibuild_action, tmpdir):
    """ Test Pure C Project """
    work = tmpdir.join("work")
    foo1 = work.mkdir("foo")
    foo1.join("CMakeLists.txt").write(
        """\ncmake_minimum_required(VERSION 3.0)\nproject(foo C)\n""")
    qibuild_action.chdir(foo1.strpath)
    qibuild_action("convert", "--go")
    qibuild_action.chdir(work.strpath)
    build_worktree = TestBuildWorkTree()
    worktree = build_worktree.worktree
    worktree.add_project("foo")
    assert build_worktree.get_build_project("foo")
Exemplo n.º 5
0
def test_new_syntax(build_worktree):
    world_proj = build_worktree.create_project("world")
    with open(world_proj.qiproject_xml, "w") as fp:
        fp.write("""
<project format="3">
  <version>0.42</version>
  <qibuild name="world" />
</project>
""")
    build_worktree = TestBuildWorkTree()
    world_proj = build_worktree.get_build_project("world")
    assert world_proj.name == "world"
    assert world_proj.version == "0.42"
Exemplo n.º 6
0
def test_using_fake_ctc(qibuild_action, fake_ctc):
    """ Test Using Fake Cross Toolchain """
    qibuild_action.add_test_project("footool")
    qibuild_action("configure", "footool", "--config", "fake-ctc")
    qibuild_action("make", "footool", "--config", "fake-ctc")
    build_worktree = TestBuildWorkTree()
    build_worktree.set_active_config("fake-ctc")
    footool_proj = build_worktree.get_build_project("footool")
    # assert that bin/footool exists but cannot be run:
    footool = qibuild.find.find_bin([footool_proj.sdk_directory], "footool",
                                    expect_one=True)
    assert os.path.exists(footool)
    with pytest.raises(Exception):
        qisys.command.call([footool])
Exemplo n.º 7
0
def test_using_fake_ctc(qibuild_action, fake_ctc):  # pylint: disable=unused-argument
    qibuild_action.add_test_project("footool")
    qibuild_action("configure", "footool", "--config", "fake-ctc")
    qibuild_action("make", "footool", "--config", "fake-ctc")
    build_worktree = TestBuildWorkTree()
    build_worktree.set_active_config("fake-ctc")
    footool_proj = build_worktree.get_build_project("footool")
    # assert that bin/footool exists but cannot be run:
    footool = qibuild.find.find_bin([footool_proj.sdk_directory], "footool",
                                    expect_one=True)
    assert os.path.exists(footool)
    # pylint: disable-msg=E1101
    with pytest.raises(Exception):
        qisys.command.call([footool])
Exemplo n.º 8
0
def test_using_fake_ctc(qibuild_action, fake_ctc):
    """ Test Using Fake Cross Toolchain """
    qibuild_action.add_test_project("footool")
    qibuild_action("configure", "footool", "--config", "fake-ctc")
    qibuild_action("make", "footool", "--config", "fake-ctc")
    build_worktree = TestBuildWorkTree()
    build_worktree.set_active_config("fake-ctc")
    footool_proj = build_worktree.get_build_project("footool")
    # assert that bin/footool exists but cannot be run:
    footool = qibuild.find.find_bin([footool_proj.sdk_directory],
                                    "footool",
                                    expect_one=True)
    assert os.path.exists(footool)
    with pytest.raises(Exception):
        qisys.command.call([footool])
Exemplo n.º 9
0
def test_staged_path_first_in_path_conf(qibuild_action, toolchains):
    """ Test Staged Path First In Path Conf """
    toolchains.create("foo")
    qibuild.config.add_build_config("foo", toolchain="foo")
    bar_package = toolchains.add_package("foo", "bar")
    qibuild_action.add_test_project("stagepath")
    qibuild_action("configure", "stagepath", "--config", "foo")
    build_worktree = TestBuildWorkTree()
    build_worktree.set_active_config("foo")
    stagepath_proj = build_worktree.get_build_project("stagepath")
    path_conf = read_path_conf(stagepath_proj)
    lines = path_conf.splitlines()
    assert lines == [
        stagepath_proj.path, stagepath_proj.sdk_directory, bar_package.path
    ]
Exemplo n.º 10
0
def test_staged_path_first_in_path_conf(qibuild_action, toolchains):
    """ Test Staged Path First In Path Conf """
    toolchains.create("foo")
    qibuild.config.add_build_config("foo", toolchain="foo")
    bar_package = toolchains.add_package("foo", "bar")
    qibuild_action.add_test_project("stagepath")
    qibuild_action("configure", "stagepath", "--config", "foo")
    build_worktree = TestBuildWorkTree()
    build_worktree.set_active_config("foo")
    stagepath_proj = build_worktree.get_build_project("stagepath")
    path_conf = read_path_conf(stagepath_proj)
    lines = path_conf.splitlines()
    assert lines == [
        stagepath_proj.path,
        stagepath_proj.sdk_directory,
        bar_package.path
    ]
Exemplo n.º 11
0
def test_path_conf_contains_toolchain_paths(qibuild_action, toolchains):
    toolchains.create("foo")
    qibuild.config.add_build_config("foo", toolchain="foo")
    toolchains.add_package("foo", "bar")
    foo_tc = qitoolchain.get_toolchain("foo")
    bar_path = foo_tc.get_package("bar").path
    qibuild_action.add_test_project("hello")
    qibuild_action.add_test_project("world")
    build_woktree = TestBuildWorkTree()
    build_woktree.build_config.set_active_config("foo")
    qibuild_action("configure", "hello", "--config", "foo")
    world_proj = build_woktree.get_build_project("world")
    hello_proj = build_woktree.get_build_project("hello")
    path_conf = os.path.join(hello_proj.sdk_directory, "share", "qi", "path.conf")
    with open(path_conf, "r") as fp:
        contents = fp.readlines()
    sdk_dirs = [x.strip() for x in contents]
    assert hello_proj.sdk_directory in sdk_dirs
    assert world_proj.sdk_directory in sdk_dirs
    assert bar_path in sdk_dirs
Exemplo n.º 12
0
def test_path_conf_contains_toolchain_paths(qibuild_action, toolchains):
    toolchains.create("foo")
    qibuild.config.add_build_config("foo", toolchain="foo")
    toolchains.add_package("foo", "bar")
    foo_tc = qitoolchain.get_toolchain("foo")
    bar_path = foo_tc.get_package("bar").path
    qibuild_action.add_test_project("hello")
    qibuild_action.add_test_project("world")
    build_woktree = TestBuildWorkTree()
    build_woktree.build_config.set_active_config("foo")
    qibuild_action("configure", "hello", "--config", "foo")
    world_proj = build_woktree.get_build_project("world")
    hello_proj = build_woktree.get_build_project("hello")
    path_conf = os.path.join(hello_proj.sdk_directory, "share", "qi", "path.conf")
    with open(path_conf, "r") as fp:
        contents = fp.readlines()
    sdk_dirs = [x.strip() for x in contents]
    assert hello_proj.sdk_directory in sdk_dirs
    assert world_proj.sdk_directory in sdk_dirs
    assert bar_path in sdk_dirs
Exemplo n.º 13
0
def test_add_build_project(git_server, qisrc_action):
    """ Test Add Build Project """
    git_server.add_qibuild_test_project("world")
    qisrc_action("init", git_server.manifest_url)
    build_worktree = TestBuildWorkTree()
    assert build_worktree.get_build_project("world")
Exemplo n.º 14
0
def test_add_build_project(git_server, qisrc_action):
    git_server.add_qibuild_test_project("world")
    qisrc_action("init", git_server.manifest_url)
    build_worktree = TestBuildWorkTree()
    assert build_worktree.get_build_project("world")