1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559
|
import unittest
from cpuinfo import *
import helpers
class MockDataSource:
bits = '64bit'
cpu_count = 2
is_windows = False
arch_string_raw = 'x86_64'
uname_string_raw = 'x86_64'
can_cpuid = False
@staticmethod
def has_proc_cpuinfo():
return True
@staticmethod
def has_dmesg():
return True
@staticmethod
def has_lscpu():
return True
@staticmethod
def cat_proc_cpuinfo():
returncode = 0
output = r'''
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Pentium(R) CPU G640 @ 2.80GHz
stepping : 7
cpu MHz : 2793.652
cache size : 3072 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt xsave hypervisor lahf_lm
bogomips : 5587.30
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Pentium(R) CPU G640 @ 2.80GHz
stepping : 7
cpu MHz : 2793.652
cache size : 3072 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt xsave hypervisor lahf_lm
bogomips : 5587.30
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
'''
return returncode, output
@staticmethod
def dmesg_a():
returncode = 0
output = r'''
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.16.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19)
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64 root=UUID=12618f16-cbe6-4b2b-9f80-b71195be06e7 ro quiet
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000dffeffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000dfff0000-0x00000000dfffffff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000011fffffff] usable
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] SMBIOS 2.5 present.
[ 0.000000] DMI: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
[ 0.000000] Hypervisor detected: KVM
[ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[ 0.000000] AGP: No AGP bridge found
[ 0.000000] e820: last_pfn = 0x120000 max_arch_pfn = 0x400000000
[ 0.000000] MTRR default type: uncachable
[ 0.000000] MTRR variable ranges disabled:
[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[ 0.000000] CPU MTRRs all blank - virtualized system.
[ 0.000000] e820: last_pfn = 0xdfff0 max_arch_pfn = 0x400000000
[ 0.000000] found SMP MP-table at [mem 0x0009fff0-0x0009ffff] mapped at [ffff88000009fff0]
[ 0.000000] Base memory trampoline at [ffff880000099000] 99000 size 24576
[ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[ 0.000000] [mem 0x00000000-0x000fffff] page 4k
[ 0.000000] BRK [0x01af4000, 0x01af4fff] PGTABLE
[ 0.000000] BRK [0x01af5000, 0x01af5fff] PGTABLE
[ 0.000000] BRK [0x01af6000, 0x01af6fff] PGTABLE
[ 0.000000] init_memory_mapping: [mem 0x11fe00000-0x11fffffff]
[ 0.000000] [mem 0x11fe00000-0x11fffffff] page 2M
[ 0.000000] BRK [0x01af7000, 0x01af7fff] PGTABLE
[ 0.000000] init_memory_mapping: [mem 0x11c000000-0x11fdfffff]
[ 0.000000] [mem 0x11c000000-0x11fdfffff] page 2M
[ 0.000000] init_memory_mapping: [mem 0x100000000-0x11bffffff]
[ 0.000000] [mem 0x100000000-0x11bffffff] page 2M
[ 0.000000] init_memory_mapping: [mem 0x00100000-0xdffeffff]
[ 0.000000] [mem 0x00100000-0x001fffff] page 4k
[ 0.000000] [mem 0x00200000-0xdfdfffff] page 2M
[ 0.000000] [mem 0xdfe00000-0xdffeffff] page 4k
[ 0.000000] RAMDISK: [mem 0x3634a000-0x3719cfff]
[ 0.000000] ACPI: Early table checksum verification disabled
[ 0.000000] ACPI: RSDP 0x00000000000E0000 000024 (v02 VBOX )
[ 0.000000] ACPI: XSDT 0x00000000DFFF0030 00003C (v01 VBOX VBOXXSDT 00000001 ASL 00000061)
[ 0.000000] ACPI: FACP 0x00000000DFFF00F0 0000F4 (v04 VBOX VBOXFACP 00000001 ASL 00000061)
[ 0.000000] ACPI: DSDT 0x00000000DFFF0470 00210F (v01 VBOX VBOXBIOS 00000002 INTL 20160108)
[ 0.000000] ACPI: FACS 0x00000000DFFF0200 000040
[ 0.000000] ACPI: FACS 0x00000000DFFF0200 000040
[ 0.000000] ACPI: APIC 0x00000000DFFF0240 00005C (v02 VBOX VBOXAPIC 00000001 ASL 00000061)
[ 0.000000] ACPI: SSDT 0x00000000DFFF02A0 0001CC (v01 VBOX VBOXCPUT 00000002 INTL 20160108)
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] No NUMA configuration found
[ 0.000000] Faking a node at [mem 0x0000000000000000-0x000000011fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x00000000-0x11fffffff]
[ 0.000000] NODE_DATA [mem 0x11fff7000-0x11fffbfff]
[ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
[ 0.000000] kvm-clock: cpu 0, msr 1:1ffef001, primary cpu clock
[ 0.000000] [ffffea0000000000-ffffea0003ffffff] PMD -> [ffff88011b600000-ffff88011effffff] on node 0
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x00001000-0x00ffffff]
[ 0.000000] DMA32 [mem 0x01000000-0xffffffff]
[ 0.000000] Normal [mem 0x100000000-0x11fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x00001000-0x0009efff]
[ 0.000000] node 0: [mem 0x00100000-0xdffeffff]
[ 0.000000] node 0: [mem 0x100000000-0x11fffffff]
[ 0.000000] On node 0 totalpages: 1048462
[ 0.000000] DMA zone: 56 pages used for memmap
[ 0.000000] DMA zone: 21 pages reserved
[ 0.000000] DMA zone: 3998 pages, LIFO batch:0
[ 0.000000] DMA32 zone: 12488 pages used for memmap
[ 0.000000] DMA32 zone: 913392 pages, LIFO batch:31
[ 0.000000] Normal zone: 1792 pages used for memmap
[ 0.000000] Normal zone: 131072 pages, LIFO batch:31
[ 0.000000] ACPI: PM-Timer IO Port: 0x4008
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[ 0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[ 0.000000] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[ 0.000000] ACPI: IRQ0 used by override.
[ 0.000000] ACPI: IRQ2 used by override.
[ 0.000000] ACPI: IRQ9 used by override.
[ 0.000000] Using ACPI (MADT) for SMP configuration information
[ 0.000000] smpboot: Allowing 2 CPUs, 0 hotplug CPUs
[ 0.000000] nr_irqs_gsi: 40
[ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[ 0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000effff]
[ 0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xdfff0000-0xdfffffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xe0000000-0xfebfffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfec00000-0xfec00fff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfec01000-0xfedfffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfee00000-0xfee00fff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfee01000-0xfffbffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfffc0000-0xffffffff]
[ 0.000000] e820: [mem 0xe0000000-0xfebfffff] available for PCI devices
[ 0.000000] Booting paravirtualized kernel on KVM
[ 0.000000] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:2 nr_node_ids:1
[ 0.000000] PERCPU: Embedded 27 pages/cpu @ffff88011fc00000 s80960 r8192 d21440 u1048576
[ 0.000000] pcpu-alloc: s80960 r8192 d21440 u1048576 alloc=1*2097152
[ 0.000000] pcpu-alloc: [0] 0 1
[ 0.000000] Built 1 zonelists in Node order, mobility grouping on. Total pages: 1034105
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64 root=UUID=12618f16-cbe6-4b2b-9f80-b71195be06e7 ro quiet
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] xsave: enabled xstate_bv 0x3, cntxt size 0x240
[ 0.000000] AGP: Checking aperture...
[ 0.000000] AGP: No AGP bridge found
[ 0.000000] Calgary: detecting Calgary via BIOS EBDA area
[ 0.000000] Calgary: Unable to locate Rio Grande table in EBDA - bailing!
[ 0.000000] Memory: 4041880K/4193848K available (5237K kernel code, 947K rwdata, 1836K rodata, 1204K init, 840K bss, 151968K reserved)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU dyntick-idle grace-period acceleration is enabled.
[ 0.000000] RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=2.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[ 0.000000] NR_IRQS:33024 nr_irqs:512 16
[ 0.000000] Console: colour VGA+ 80x25
[ 0.000000] console [tty0] enabled
[ 0.000000] tsc: Detected 2793.652 MHz processor
[ 9.015923] Calibrating delay loop (skipped) preset value.. 5587.30 BogoMIPS (lpj=11174608)
[ 9.015926] pid_max: default: 32768 minimum: 301
[ 9.015934] ACPI: Core revision 20140424
[ 9.017020] ACPI: All ACPI Tables successfully acquired
[ 9.017050] Security Framework initialized
[ 9.017058] AppArmor: AppArmor disabled by boot time parameter
[ 9.017059] Yama: disabled by default; enable with sysctl kernel.yama.*
[ 9.017855] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[ 9.019277] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[ 9.019613] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes)
[ 9.019619] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes)
[ 9.019883] Initializing cgroup subsys memory
[ 9.019888] Initializing cgroup subsys devices
[ 9.019895] Initializing cgroup subsys freezer
[ 9.019897] Initializing cgroup subsys net_cls
[ 9.019901] Initializing cgroup subsys blkio
[ 9.019904] Initializing cgroup subsys perf_event
[ 9.019906] Initializing cgroup subsys net_prio
[ 9.019987] CPU: Physical Processor ID: 0
[ 9.019988] CPU: Processor Core ID: 0
[ 9.020005] mce: CPU supports 0 MCE banks
[ 9.020039] Last level iTLB entries: 4KB 512, 2MB 8, 4MB 8
Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32, 1GB 0
tlb_flushall_shift: 6
[ 9.020376] Freeing SMP alternatives memory: 20K (ffffffff81a1b000 - ffffffff81a20000)
[ 9.024990] ftrace: allocating 21697 entries in 85 pages
[ 9.059874] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[ 9.059878] smpboot: CPU0: Intel(R) Pentium(R) CPU G640 @ 2.80GHz (fam: 06, model: 2a, stepping: 07)
[ 9.164299] Performance Events: unsupported p6 CPU model 42 no PMU driver, software events only.
[ 9.165780] NMI watchdog: disabled (cpu0): hardware events not enabled
[ 9.165895] x86: Booting SMP configuration:
[ 9.165897] .... node #0, CPUs: #1
[ 9.176166] kvm-clock: cpu 1, msr 1:1ffef041, secondary cpu clock
[ 9.177165] mce: CPU supports 0 MCE banks
[ 9.179301] x86: Booted up 1 node, 2 CPUs
[ 9.179305] smpboot: Total of 2 processors activated (11174.60 BogoMIPS)
[ 9.180688] devtmpfs: initialized
[ 9.187316] pinctrl core: initialized pinctrl subsystem
[ 9.187487] NET: Registered protocol family 16
[ 9.187619] cpuidle: using governor ladder
[ 9.187623] cpuidle: using governor menu
[ 9.187667] ACPI: bus type PCI registered
[ 9.187669] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[ 9.187894] PCI: Using configuration type 1 for base access
[ 9.204747] ACPI: Added _OSI(Module Device)
[ 9.204751] ACPI: Added _OSI(Processor Device)
[ 9.204752] ACPI: Added _OSI(3.0 _SCP Extensions)
[ 9.204753] ACPI: Added _OSI(Processor Aggregator Device)
[ 9.205356] ACPI: Executed 1 blocks of module-level executable AML code
[ 9.207882] ACPI: Interpreter enabled
[ 9.207888] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20140424/hwxface-580)
[ 9.207891] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20140424/hwxface-580)
[ 9.207894] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S3_] (20140424/hwxface-580)
[ 9.207897] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S4_] (20140424/hwxface-580)
[ 9.207902] ACPI: (supports S0 S5)
[ 9.207904] ACPI: Using IOAPIC for interrupt routing
[ 9.208077] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[ 9.211597] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[ 9.211603] acpi PNP0A03:00: _OSC: OS supports [ASPM ClockPM Segments MSI]
[ 9.211607] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
[ 9.211681] acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge.
[ 9.211887] PCI host bridge to bus 0000:00
[ 9.211890] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 9.211892] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7]
[ 9.211893] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff]
[ 9.211895] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
[ 9.211896] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xffdfffff]
[ 9.211930] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000
[ 9.212373] pci 0000:00:01.0: [8086:7000] type 00 class 0x060100
[ 9.212889] pci 0000:00:01.1: [8086:7111] type 00 class 0x01018a
[ 9.213393] pci 0000:00:01.1: reg 0x20: [io 0xd000-0xd00f]
[ 9.213530] pci 0000:00:01.1: legacy IDE quirk: reg 0x10: [io 0x01f0-0x01f7]
[ 9.213532] pci 0000:00:01.1: legacy IDE quirk: reg 0x14: [io 0x03f6]
[ 9.213533] pci 0000:00:01.1: legacy IDE quirk: reg 0x18: [io 0x0170-0x0177]
[ 9.213534] pci 0000:00:01.1: legacy IDE quirk: reg 0x1c: [io 0x0376]
[ 9.213732] pci 0000:00:02.0: [80ee:beef] type 00 class 0x030000
[ 9.216760] pci 0000:00:02.0: reg 0x10: [mem 0xe0000000-0xe0ffffff pref]
[ 9.239260] pci 0000:00:03.0: [8086:100e] type 00 class 0x020000
[ 9.242528] pci 0000:00:03.0: reg 0x10: [mem 0xf0000000-0xf001ffff]
[ 9.250446] pci 0000:00:03.0: reg 0x18: [io 0xd010-0xd017]
[ 9.267404] pci 0000:00:04.0: [80ee:cafe] type 00 class 0x088000
[ 9.270818] pci 0000:00:04.0: reg 0x10: [io 0xd020-0xd03f]
[ 9.276122] pci 0000:00:04.0: reg 0x14: [mem 0xf0400000-0xf07fffff]
[ 9.279813] pci 0000:00:04.0: reg 0x18: [mem 0xf0800000-0xf0803fff pref]
[ 9.293767] pci 0000:00:05.0: [8086:2415] type 00 class 0x040100
[ 9.293857] pci 0000:00:05.0: reg 0x10: [io 0xd100-0xd1ff]
[ 9.293917] pci 0000:00:05.0: reg 0x14: [io 0xd200-0xd23f]
[ 9.294374] pci 0000:00:06.0: [106b:003f] type 00 class 0x0c0310
[ 9.297803] pci 0000:00:06.0: reg 0x10: [mem 0xf0804000-0xf0804fff]
[ 9.317868] pci 0000:00:07.0: [8086:7113] type 00 class 0x068000
[ 9.318252] pci 0000:00:07.0: quirk: [io 0x4000-0x403f] claimed by PIIX4 ACPI
[ 9.318262] pci 0000:00:07.0: quirk: [io 0x4100-0x410f] claimed by PIIX4 SMB
[ 9.318538] pci 0000:00:0d.0: [8086:2829] type 00 class 0x010601
[ 9.321461] pci 0000:00:0d.0: reg 0x10: [io 0xd240-0xd247]
[ 9.328895] pci 0000:00:0d.0: reg 0x18: [io 0xd250-0xd257]
[ 9.336455] pci 0000:00:0d.0: reg 0x20: [io 0xd260-0xd26f]
[ 9.339258] pci 0000:00:0d.0: reg 0x24: [mem 0xf0806000-0xf0807fff]
[ 9.345202] ACPI: PCI Interrupt Link [LNKA] (IRQs 5 9 10 *11)
[ 9.345408] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 9 10 *11)
[ 9.345488] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 9 *10 11)
[ 9.345567] ACPI: PCI Interrupt Link [LNKD] (IRQs 5 *9 10 11)
[ 9.345694] ACPI: Enabled 2 GPEs in block 00 to 07
[ 9.346069] vgaarb: setting as boot device: PCI:0000:00:02.0
[ 9.346072] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[ 9.346074] vgaarb: loaded
[ 9.346075] vgaarb: bridge control possible 0000:00:02.0
[ 9.346163] PCI: Using ACPI for IRQ routing
[ 9.346165] PCI: pci_cache_line_size set to 64 bytes
[ 9.346311] e820: reserve RAM buffer [mem 0x0009fc00-0x0009ffff]
[ 9.346317] e820: reserve RAM buffer [mem 0xdfff0000-0xdfffffff]
[ 9.346558] Switched to clocksource kvm-clock
[ 9.353995] pnp: PnP ACPI init
[ 9.354008] ACPI: bus type PNP registered
[ 9.354101] pnp 00:00: Plug and Play ACPI device, IDs PNP0303 (active)
[ 9.354188] pnp 00:01: Plug and Play ACPI device, IDs PNP0f03 (active)
[ 9.354752] pnp: PnP ACPI: found 2 devices
[ 9.354753] ACPI: bus type PNP unregistered
[ 9.371389] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7]
[ 9.371393] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff]
[ 9.371395] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[ 9.371396] pci_bus 0000:00: resource 7 [mem 0xe0000000-0xffdfffff]
[ 9.371619] NET: Registered protocol family 2
[ 9.372196] TCP established hash table entries: 32768 (order: 6, 262144 bytes)
[ 9.372267] TCP bind hash table entries: 32768 (order: 7, 524288 bytes)
[ 9.372334] TCP: Hash tables configured (established 32768 bind 32768)
[ 9.372351] TCP: reno registered
[ 9.372357] UDP hash table entries: 2048 (order: 4, 65536 bytes)
[ 9.372372] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
[ 9.372507] NET: Registered protocol family 1
[ 9.372527] pci 0000:00:00.0: Limiting direct PCI/PCI transfers
[ 9.372559] pci 0000:00:01.0: Activating ISA DMA hang workarounds
[ 9.372585] pci 0000:00:02.0: Video device with shadowed ROM
[ 9.374015] PCI: CLS 0 bytes, default 64
[ 9.374087] Unpacking initramfs...
[ 9.647919] Freeing initrd memory: 14668K (ffff88003634a000 - ffff88003719d000)
[ 9.648004] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 9.648007] software IO TLB [mem 0xdbff0000-0xdfff0000] (64MB) mapped at [ffff8800dbff0000-ffff8800dffeffff]
[ 9.648272] platform rtc_cmos: registered platform RTC device (no PNP device found)
[ 9.648443] RAPL PMU detected, hw unit 2^-0 Joules, API unit is 2^-32 Joules, 3 fixed counters 10737418240 ms ovfl timer
[ 9.648548] microcode: CPU0 sig=0x206a7, pf=0x10, revision=0x0
[ 9.648562] microcode: CPU1 sig=0x206a7, pf=0x10, revision=0x0
[ 9.648612] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[ 9.649451] futex hash table entries: 512 (order: 3, 32768 bytes)
[ 9.649573] audit: initializing netlink subsys (disabled)
[ 9.649598] audit: type=2000 audit(1488395362.069:1): initialized
[ 9.650419] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[ 9.650441] zbud: loaded
[ 9.650973] VFS: Disk quotas dquot_6.5.2
[ 9.651008] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 9.651084] msgmni has been set to 7922
[ 9.651798] alg: No test for stdrng (krng)
[ 9.651846] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[ 9.651937] io scheduler noop registered
[ 9.651941] io scheduler deadline registered
[ 9.652016] io scheduler cfq registered (default)
[ 9.652115] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[ 9.652132] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[ 9.652154] intel_idle: does not run on family 6 model 42
[ 9.652172] GHES: HEST is not enabled!
[ 9.652242] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 9.652548] Linux agpgart interface v0.103
[ 9.652677] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at 0x60,0x64 irq 1,12
[ 9.653166] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 9.653171] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 9.653271] mousedev: PS/2 mouse device common for all mice
[ 9.653687] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
[ 9.653824] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
[ 9.653882] rtc_cmos rtc_cmos: alarms up to one day, 114 bytes nvram
[ 9.653896] ledtrig-cpu: registered to indicate activity on CPUs
[ 9.653961] AMD IOMMUv2 driver by Joerg Roedel <joerg.roedel@amd.com>
[ 9.653962] AMD IOMMUv2 functionality not available on this system
[ 9.654038] TCP: cubic registered
[ 9.654234] NET: Registered protocol family 10
[ 9.654554] mip6: Mobile IPv6
[ 9.654558] NET: Registered protocol family 17
[ 9.654564] mpls_gso: MPLS GSO support
[ 9.654770] registered taskstats version 1
[ 9.656357] rtc_cmos rtc_cmos: setting system clock to 2017-03-01 19:09:11 UTC (1488395351)
[ 9.656427] PM: Hibernation image not present or could not be loaded.
[ 9.663167] Freeing unused kernel memory: 1204K (ffffffff818ee000 - ffffffff81a1b000)
[ 9.663171] Write protecting the kernel read-only data: 8192k
[ 9.663645] Freeing unused kernel memory: 896K (ffff880001520000 - ffff880001600000)
[ 9.664120] Freeing unused kernel memory: 212K (ffff8800017cb000 - ffff880001800000)
[ 9.677467] systemd-udevd[60]: starting version 215
[ 9.677730] random: systemd-udevd urandom read with 2 bits of entropy available
[ 9.698416] ACPI: bus type USB registered
[ 9.698445] usbcore: registered new interface driv
'''
return returncode, output
@staticmethod
def lscpu():
returncode = 0
output = r'''
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 42
Model name: Intel(R) Pentium(R) CPU G640 @ 2.80GHz
Stepping: 7
CPU MHz: 2793.652
BogoMIPS: 5587.30
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0,1
'''
return returncode, output
class TestLinuxDebian_8_5_X86_64(unittest.TestCase):
def setUp(self):
helpers.backup_data_source(cpuinfo)
helpers.monkey_patch_data_source(cpuinfo, MockDataSource)
def tearDown(self):
helpers.restore_data_source(cpuinfo)
'''
Make sure calls return the expected number of fields.
'''
def test_returns(self):
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_registry()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_cpufreq_info()))
self.assertEqual(13, len(cpuinfo._get_cpu_info_from_lscpu()))
self.assertEqual(11, len(cpuinfo._get_cpu_info_from_proc_cpuinfo()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_sysctl()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_kstat()))
self.assertEqual(8, len(cpuinfo._get_cpu_info_from_dmesg()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_cat_var_run_dmesg_boot()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_ibm_pa_features()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_sysinfo()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_cpuid()))
self.assertEqual(21, len(cpuinfo._get_cpu_info_internal()))
def test_get_cpu_info_from_lscpu(self):
info = cpuinfo._get_cpu_info_from_lscpu()
self.assertEqual('GenuineIntel', info['vendor_id_raw'])
self.assertEqual('Intel(R) Pentium(R) CPU G640 @ 2.80GHz', info['brand_raw'])
self.assertEqual('2.7937 GHz', info['hz_advertised_friendly'])
self.assertEqual('2.7937 GHz', info['hz_actual_friendly'])
self.assertEqual((2793652000, 0), info['hz_advertised'])
self.assertEqual((2793652000, 0), info['hz_actual'])
self.assertEqual(7, info['stepping'])
self.assertEqual(42, info['model'])
self.assertEqual(6, info['family'])
self.assertEqual(32 * 1024, info['l1_instruction_cache_size'])
self.assertEqual(32 * 1024, info['l1_data_cache_size'])
self.assertEqual(256 * 1024, info['l2_cache_size'])
self.assertEqual(3072 * 1024, info['l3_cache_size'])
def test_get_cpu_info_from_dmesg(self):
info = cpuinfo._get_cpu_info_from_dmesg()
self.assertEqual('Intel(R) Pentium(R) CPU G640 @ 2.80GHz', info['brand_raw'])
self.assertEqual('2.8000 GHz', info['hz_advertised_friendly'])
self.assertEqual('2.8000 GHz', info['hz_actual_friendly'])
self.assertEqual((2800000000, 0), info['hz_advertised'])
self.assertEqual((2800000000, 0), info['hz_actual'])
self.assertEqual(7, info['stepping'])
self.assertEqual(42, info['model'])
self.assertEqual(6, info['family'])
def test_get_cpu_info_from_proc_cpuinfo(self):
info = cpuinfo._get_cpu_info_from_proc_cpuinfo()
self.assertEqual('GenuineIntel', info['vendor_id_raw'])
self.assertEqual('Intel(R) Pentium(R) CPU G640 @ 2.80GHz', info['brand_raw'])
self.assertEqual('2.8000 GHz', info['hz_advertised_friendly'])
self.assertEqual('2.7937 GHz', info['hz_actual_friendly'])
self.assertEqual((2800000000, 0), info['hz_advertised'])
self.assertEqual((2793652000, 0), info['hz_actual'])
self.assertEqual(3072 * 1024, info['l3_cache_size'])
self.assertEqual(7, info['stepping'])
self.assertEqual(42, info['model'])
self.assertEqual(6, info['family'])
self.assertEqual(
['apic', 'clflush', 'cmov', 'constant_tsc', 'cx16', 'cx8', 'de',
'fpu', 'fxsr', 'ht', 'hypervisor', 'lahf_lm', 'lm', 'mca', 'mce',
'mmx', 'msr', 'mtrr', 'nonstop_tsc', 'nopl', 'nx', 'pae', 'pat',
'pclmulqdq', 'pge', 'pni', 'popcnt', 'pse', 'pse36', 'rdtscp',
'rep_good', 'sep', 'sse', 'sse2', 'sse4_1', 'sse4_2', 'ssse3',
'syscall', 'tsc', 'vme', 'xsave', 'xtopology']
,
info['flags']
)
def test_all(self):
info = cpuinfo._get_cpu_info_internal()
self.assertEqual('GenuineIntel', info['vendor_id_raw'])
self.assertEqual('Intel(R) Pentium(R) CPU G640 @ 2.80GHz', info['brand_raw'])
self.assertEqual('2.8000 GHz', info['hz_advertised_friendly'])
self.assertEqual('2.7937 GHz', info['hz_actual_friendly'])
self.assertEqual((2800000000, 0), info['hz_advertised'])
self.assertEqual((2793652000, 0), info['hz_actual'])
self.assertEqual('X86_64', info['arch'])
self.assertEqual(64, info['bits'])
self.assertEqual(2, info['count'])
self.assertEqual('x86_64', info['arch_string_raw'])
self.assertEqual(32 * 1024, info['l1_instruction_cache_size'])
self.assertEqual(32 * 1024, info['l1_data_cache_size'])
self.assertEqual(256 * 1024, info['l2_cache_size'])
self.assertEqual(3072 * 1024, info['l3_cache_size'])
self.assertEqual(7, info['stepping'])
self.assertEqual(42, info['model'])
self.assertEqual(6, info['family'])
self.assertEqual(
['apic', 'clflush', 'cmov', 'constant_tsc', 'cx16', 'cx8', 'de',
'fpu', 'fxsr', 'ht', 'hypervisor', 'lahf_lm', 'lm', 'mca', 'mce',
'mmx', 'msr', 'mtrr', 'nonstop_tsc', 'nopl', 'nx', 'pae', 'pat',
'pclmulqdq', 'pge', 'pni', 'popcnt', 'pse', 'pse36', 'rdtscp',
'rep_good', 'sep', 'sse', 'sse2', 'sse4_1', 'sse4_2', 'ssse3',
'syscall', 'tsc', 'vme', 'xsave', 'xtopology']
,
info['flags']
)
|