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
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)