def test_net_with_connectors_too_few(): baseboard = get_baseboard(filedir + 'baseboard.txt') baseboard = get_connectors(filedir + 'connector.txt', baseboard) expect = { "type": "motherboard", "working": "yes", "brand": "ASUSTeK Computer INC.", "model": "P6T DELUXE V2", "sn": "723627130020069", "ps2-ports-n": 1, "usb-ports-n": 7, 'firewire-ports-n': 3, 'ide-ports-n': 1, 'sata-ports-n': 6, "mini-jack-ports-n": 7, 'ethernet-ports-1000m-n': 1, 'mac': '00:c0:11:fe:fe:22', 'sas-sata-ports-n': 2, 'notes': 'Unknown connector: None / Other (AUDIO / AUDIO)\n' 'BIOS reported 1 more ethernet port that was not found by the kernel' } output = get_net(filedir + 'net_too_few.txt', baseboard) assert expect == output
def test_net_without_connectors(): baseboard = get_baseboard(filedir + 'baseboard.txt') expect = { "type": "motherboard", "working": "yes", "brand": "ASUSTeK Computer INC.", "model": "P6T DELUXE V2", "sn": "723627130020069", 'ethernet-ports-1000m-n': 2, 'mac': '00:c0:11:fe:fe:11, 00:c0:11:fe:fe:22', } output = get_net(filedir + 'net.txt', baseboard) assert expect == output
def extract_data(directory: str, has_dedicated_gpu: bool, gpu_in_cpu: bool, cleanup: bool, interactive: bool) -> dict: mobo = get_baseboard(directory + "/baseboard.txt") cpu = read_lscpu(directory + "/lscpu.txt") gpu = read_lspci_and_glxinfo(has_dedicated_gpu, directory + "/lspci.txt", directory + "/glxinfo.txt", interactive) if not has_dedicated_gpu: entries = extract_integrated_gpu_from_standalone(gpu) if gpu_in_cpu: if isinstance(cpu, list): # Multiple processors updated_cpus = [] for one_cpu in cpu: one_cpu = {**one_cpu, **entries} updated_cpus.append(one_cpu) cpu = updated_cpus del updated_cpus else: cpu = {**cpu, **entries} else: mobo = {**mobo, **entries} gpu = [] mobo = get_connectors(directory + "/connector.txt", mobo, interactive) mobo = get_net(directory + "/net.txt", mobo, interactive) chassis = get_chassis(directory + "/chassis.txt") dimms = read_decode_dimms(directory + "/dimms.txt", interactive) if chassis["motherboard-form-factor"] == "proprietary-laptop": psu = {"type": "external-psu"} else: psu = {"type": "psu"} disks = read_smartctl(directory) result = [] empty_dict = {} for thing in (chassis, mobo, cpu, dimms, gpu, disks, psu): if thing.__len__() == 0: result.append(empty_dict) else: result.append(thing) if cleanup: result = do_cleanup(result, interactive) return result