def test_pool_class():
    c = config.build_config(FAKE_CONFIG)

    p = c.get_pool("exclusive")
    assert p.name == "exclusive"
    assert p.is_exclusive()
    assert len(p.get_sockets()) == 2
    assert "0" in p.get_sockets()
    assert "1" in p.get_sockets()
    assert p.get_socket("0").socket_id == "0"

    assert len(p.get_core_lists()) == 4
    assert len(p.get_core_lists("0")) == 3
    assert len(p.get_core_lists("1")) == 1

    assert p.get_core_list("0,9", "0").core_id == "0,9"
    assert p.get_core_list("1,10").core_id == "1,10"
    assert p.get_core_list("3,12").core_id == "3,12"

    p.update_clist("0,9", "1004")
    assert "1001" in p.sockets["0"].core_lists["0,9"].tasks
    assert "1004" in p.sockets["0"].core_lists["0,9"].tasks

    p.remove_task("0,9", "1004")
    assert "1001" in p.sockets["0"].core_lists["0,9"].tasks
    assert "1004" not in p.sockets["0"].core_lists["0,9"].tasks
 def configmap_mock(unused1, configmap, unused2):
     c = yaml.load(configmap.data["config"], Loader=yaml.FullLoader)
     conf = config.build_config(c)
     pools = conf.get_pools()
     assert len(pools) == 4
     assert "exclusive" in pools
     assert "shared" in pools
     assert "infra" in pools
     assert "exclusive-non-isolcpus" in pools
     exl_pool = conf.get_pool("exclusive")
     cl_exclusive = [cl.core_id for cl in exl_pool.get_core_lists()]
     sha_pool = conf.get_pool("shared")
     cl_shared = [cl.core_id for cl in sha_pool.get_core_lists()]
     inf_pool = conf.get_pool("infra")
     cl_infra = [cl.core_id for cl in inf_pool.get_core_lists()]
     exl_non_pool = conf.get_pool("exclusive-non-isolcpus")
     cl_excl_non = [cl.core_id for cl in exl_non_pool.get_core_lists()]
     assert exl_pool.is_exclusive()
     assert not sha_pool.is_exclusive()
     assert not inf_pool.is_exclusive()
     assert exl_non_pool.is_exclusive()
     assert "1,9" in cl_exclusive
     assert "2,10" in cl_shared
     assert "6,14,7,15" in cl_infra
     assert "0,8" in cl_excl_non
     assert "3,11" in cl_excl_non
     assert "4,12" in cl_excl_non
     assert "5,13" in cl_excl_non
def test_describe():
    c = MockConfig(config.build_config(FAKE_CONFIG))
    with patch('intel.config.Config', MagicMock(return_value=c)):
        f = io.StringIO()
        with redirect_stdout(f):
            describe.describe()
        out = f.getvalue()
        assert out == """{
def test_proc_info():
    clist_map = {
        "3,11": [""],
        "4,12": ["2001"],
        "5,13": ["2002"],
        "6,14,7,15": ["1000", "1001", "1002", "1003"],
        "0,8,1,9,2,10": ["3000", "3001", "3002"]
    }
    conf = MockConfig(config.build_config(config_before))
    c = reconfigure.build_proc_info(conf.c_data)
    p = c[0]

    assert len(p) == 5
    for proc_info in p:
        assert proc_info.pid == clist_map[proc_info.old_clist]
def test_build_proc_info1():
    conf = MockConfig(config.build_config(config_before))
    c = reconfigure.build_proc_info(conf.c_data)
    p = c[1]

    assert len(p.process_map) == 10
    assert p.process_map["2001"].old_clists == ["4,12"]
    assert p.process_map["2002"].old_clists == ["5,13"]
    assert p.process_map["1000"].old_clists == ["6,14,7,15"]
    assert p.process_map["1001"].old_clists == ["6,14,7,15"]
    assert p.process_map["1002"].old_clists == ["6,14,7,15"]
    assert p.process_map["1003"].old_clists == ["6,14,7,15"]
    assert p.process_map["3000"].old_clists == ["0,8,1,9,2,10"]
    assert p.process_map["3001"].old_clists == ["0,8,1,9,2,10"]
    assert p.process_map["3002"].old_clists == ["0,8,1,9,2,10"]
def test_socket_class():
    c = config.build_config(FAKE_CONFIG)

    s = c.get_pool("exclusive").get_socket("0")
    assert s.socket_id == "0"
    assert len(s.core_lists.keys()) == 3

    assert s.get_core_list("0,9").core_id == "0,9"
    assert len(s.get_core_lists()) == 3
    assert "0,9" in s.get_core_lists()
    assert "1,10" in s.get_core_lists()
    assert "2,11" in s.get_core_lists()

    s.add_core_list("fake-core")
    assert len(s.get_core_lists()) == 4
    assert "fake-core" in s.get_core_lists()
def test_core_list_class():
    c = config.build_config(FAKE_CONFIG)

    cl = c.get_pool("exclusive").get_core_list("0,9", "0")
    assert cl.core_id == "0,9"
    assert len(cl.tasks) == 1

    assert len(cl.get_tasks()) == 1
    assert "1001" in cl.get_tasks()

    cl.add_task("1005")
    assert len(cl.get_tasks()) == 2
    assert "1001" in cl.get_tasks()
    assert "1005" in cl.get_tasks()

    cl.remove_task("1005")
    assert len(cl.get_tasks()) == 1
    assert "1001" in cl.get_tasks()
    assert "1005" not in cl.get_tasks()
def test_config_class():
    c = config.build_config(FAKE_CONFIG)

    assert len(c.get_pools()) == 3
    assert "exclusive" in c.get_pools()
    assert "shared" in c.get_pools()
    assert "infra" in c.get_pools()

    assert c.get_pool("exclusive").name == "exclusive"
    assert c.get_pool("shared").name == "shared"
    assert c.get_pool("infra").name == "infra"
    assert c.get_pool("exclusive").exclusive
    assert not c.get_pool("shared").exclusive
    assert not c.get_pool("infra").exclusive

    c.add_pool(True, "fake-pool")
    assert "fake-pool" in c.get_pools()
    assert c.get_pool("fake-pool").name == "fake-pool"
    assert c.get_pool("fake-pool").exclusive
 def configmap_mock(unused1, configmap, unused2):
     c = yaml.load(configmap.data["config"], Loader=yaml.FullLoader)
     conf = config.build_config(c)
     pools = conf.get_pools()
     assert len(pools) == 3
     assert "exclusive" in pools
     assert "shared" in pools
     assert "infra" in pools
     exl_pool = conf.get_pool("exclusive")
     cl_exclusive = [cl.core_id for cl in exl_pool.get_core_lists()]
     sha_pool = conf.get_pool("shared")
     cl_shared = [cl.core_id for cl in sha_pool.get_core_lists()]
     inf_pool = conf.get_pool("infra")
     cl_infra = [cl.core_id for cl in inf_pool.get_core_lists()]
     assert exl_pool.is_exclusive()
     assert not sha_pool.is_exclusive()
     assert not inf_pool.is_exclusive()
     assert "0,4" in cl_exclusive
     assert "1,5" in cl_shared
     assert "2,6,3,7" in cl_infra
Beispiel #10
0
def return_config(conf):
    c = FAKE_CONFIG
    for item in conf:
        c[item["pool"]][item["socket"]][item["cl"]] = item["tasks"]
    return config.build_config(c)