File: test_parse_cpu_string.py

package info (click to toggle)
python-cpuinfo 5.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 560 kB
  • sloc: python: 7,625; makefile: 9
file content (93 lines) | stat: -rw-r--r-- 3,864 bytes parent folder | download | duplicates (2)
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


import unittest
from cpuinfo import *
import helpers



class TestParseCPUString(unittest.TestCase):
	def test_parse_cpu_string(self):
		processor_brand, hz_actual, scale, vendor_id, stepping, model, family = \
		cpuinfo._parse_cpu_string("Intel(R) Pentium(R) CPU G640 @ 2.80GHz (fam: 06, model: 2a, stepping: 07)")
		self.assertEqual('Intel(R) Pentium(R) CPU G640 @ 2.80GHz', processor_brand)
		self.assertEqual('2.8', hz_actual)
		self.assertEqual(9, scale)
		self.assertEqual(None, vendor_id)
		self.assertEqual(7, stepping)
		self.assertEqual(42, model)
		self.assertEqual(6, family)

		processor_brand, hz_actual, scale, vendor_id, stepping, model, family = \
		cpuinfo._parse_cpu_string("Intel(R) Pentium(R) CPU G640 @ 2.80GHz (family: 0x6, model: 0x2a, stepping: 0x7)")
		self.assertEqual('Intel(R) Pentium(R) CPU G640 @ 2.80GHz', processor_brand)
		self.assertEqual('2.8', hz_actual)
		self.assertEqual(9, scale)
		self.assertEqual(None, vendor_id)
		self.assertEqual(7, stepping)
		self.assertEqual(42, model)
		self.assertEqual(6, family)

		processor_brand, hz_actual, scale, vendor_id, stepping, model, family = \
		cpuinfo._parse_cpu_string("Intel(R) Core(TM) i7 CPU         870  @ 2.93GHz")
		self.assertEqual("Intel(R) Core(TM) i7 CPU         870  @ 2.93GHz", processor_brand)
		self.assertEqual('2.93', hz_actual)
		self.assertEqual(9, scale)
		self.assertEqual(None, vendor_id)
		self.assertEqual(None, stepping)
		self.assertEqual(None, model)
		self.assertEqual(None, family)

		processor_brand, hz_actual, scale, vendor_id, stepping, model, family = \
		cpuinfo._parse_cpu_string("Intel(R) Pentium(R) CPU G640 @ 2.80GHz (2793.73-MHz K8-class CPU)")
		self.assertEqual("Intel(R) Pentium(R) CPU G640 @ 2.80GHz", processor_brand)
		self.assertEqual('2.8', hz_actual)
		self.assertEqual(9, scale)
		self.assertEqual(None, vendor_id)
		self.assertEqual(None, stepping)
		self.assertEqual(None, model)
		self.assertEqual(None, family)

		# NOTE: No @ symbol
		processor_brand, hz_actual, scale, vendor_id, stepping, model, family = \
		cpuinfo._parse_cpu_string("Intel(R) Pentium(R) D CPU 3.20GHz")
		self.assertEqual("Intel(R) Pentium(R) D CPU 3.20GHz", processor_brand)
		self.assertEqual('3.2', hz_actual)
		self.assertEqual(9, scale)
		self.assertEqual(None, vendor_id)
		self.assertEqual(None, stepping)
		self.assertEqual(None, model)
		self.assertEqual(None, family)

	def test_to_friendly_hz(self):
		scale, hz_brand = cpuinfo._get_hz_string_from_brand('Intel(R) Pentium(R) CPU G640 @ 2.80GHz')
		self.assertEqual(9, scale)
		self.assertEqual('2.8', hz_brand)
		self.assertEqual('2.8000 GHz', cpuinfo._to_friendly_hz(hz_brand, scale))

		scale, hz_brand = cpuinfo._get_hz_string_from_brand('Intel(R) Pentium(R) CPU @ 1.20MHz')
		self.assertEqual(6, scale)
		self.assertEqual('1.2', hz_brand)
		self.assertEqual('1.2000 MHz', cpuinfo._to_friendly_hz(hz_brand, scale))

		scale, hz_brand = cpuinfo._get_hz_string_from_brand('Intel(R) Pentium(R) D CPU 3.20GHz')
		self.assertEqual(9, scale)
		self.assertEqual('3.2', hz_brand)
		self.assertEqual('3.2000 GHz', cpuinfo._to_friendly_hz(hz_brand, scale))

	def test_to_raw_hz(self):
		scale, hz_brand = cpuinfo._get_hz_string_from_brand('Intel(R) Pentium(R) CPU G640 @ 2.80GHz')
		self.assertEqual(9, scale)
		self.assertEqual('2.8', hz_brand)
		self.assertEqual((2800000000, 0), cpuinfo._to_raw_hz(hz_brand, scale))

		scale, hz_brand = cpuinfo._get_hz_string_from_brand('Intel(R) Pentium(R) CPU @ 1.20MHz')
		self.assertEqual(6, scale)
		self.assertEqual('1.2', hz_brand)
		self.assertEqual((1200000, 0), cpuinfo._to_raw_hz(hz_brand, scale))

		# NOTE: No @ symbol
		scale, hz_brand = cpuinfo._get_hz_string_from_brand('Intel(R) Pentium(R) D CPU 3.20GHz')
		self.assertEqual(9, scale)
		self.assertEqual('3.2', hz_brand)
		self.assertEqual((3200000000, 0), cpuinfo._to_raw_hz(hz_brand, scale))