@@ -28,6 +28,18 @@ public void LscpuParserParsesTheExpectedResultsFromIntelSystems_Scenario1()
28
28
Assert . AreEqual ( 1 , info . SocketCount ) ;
29
29
Assert . AreEqual ( 1 , info . NumaNodeCount ) ;
30
30
Assert . IsTrue ( info . IsHyperthreadingEnabled ) ;
31
+ Assert . AreEqual ( double . NaN , info . MaxFrequencyMHz ) ;
32
+ Assert . AreEqual ( double . NaN , info . MinFrequencyMHz ) ;
33
+ Assert . AreEqual ( 2793.438 , info . FrequencyMHz ) ;
34
+
35
+ Assert . AreEqual ( 7 , info . Flags . Count ) ;
36
+ Assert . AreEqual ( "x86_64" , info . Flags [ "Architecture" ] ) ;
37
+ Assert . AreEqual ( "32-bit, 64-bit" , info . Flags [ "CPU op-mode(s)" ] ) ;
38
+ Assert . AreEqual ( "46 bits physical, 48 bits virtual" , info . Flags [ "Address sizes" ] ) ;
39
+ Assert . AreEqual ( "Little Endian" , info . Flags [ "Byte Order" ] ) ;
40
+ Assert . AreEqual ( "0-3" , info . Flags [ "NUMA node0 CPU(s)" ] ) ;
41
+ Assert . AreEqual ( "0-3" , info . Flags [ "On-line CPU(s) list" ] ) ;
42
+ Assert . AreEqual ( "5586.87" , info . Flags [ "BogoMIPS" ] ) ;
31
43
32
44
IConvertible cacheMemory = 0 ;
33
45
Assert . IsNotEmpty ( info . Caches ) ;
@@ -55,6 +67,18 @@ public void LscpuParserParsesTheExpectedResultsFromIntelSystems_Scenario2()
55
67
Assert . AreEqual ( 1 , info . SocketCount ) ;
56
68
Assert . AreEqual ( 1 , info . NumaNodeCount ) ;
57
69
Assert . IsFalse ( info . IsHyperthreadingEnabled ) ;
70
+ Assert . AreEqual ( double . NaN , info . MaxFrequencyMHz ) ;
71
+ Assert . AreEqual ( double . NaN , info . MinFrequencyMHz ) ;
72
+ Assert . AreEqual ( 2793.438 , info . FrequencyMHz ) ;
73
+
74
+ Assert . AreEqual ( 7 , info . Flags . Count ) ;
75
+ Assert . AreEqual ( "x86_64" , info . Flags [ "Architecture" ] ) ;
76
+ Assert . AreEqual ( "32-bit, 64-bit" , info . Flags [ "CPU op-mode(s)" ] ) ;
77
+ Assert . AreEqual ( "46 bits physical, 48 bits virtual" , info . Flags [ "Address sizes" ] ) ;
78
+ Assert . AreEqual ( "Little Endian" , info . Flags [ "Byte Order" ] ) ;
79
+ Assert . AreEqual ( "0-3" , info . Flags [ "NUMA node0 CPU(s)" ] ) ;
80
+ Assert . AreEqual ( "0-3" , info . Flags [ "On-line CPU(s) list" ] ) ;
81
+ Assert . AreEqual ( "5586.87" , info . Flags [ "BogoMIPS" ] ) ;
58
82
59
83
IConvertible cacheMemory = 0 ;
60
84
Assert . IsNotEmpty ( info . Caches ) ;
@@ -82,6 +106,17 @@ public void LscpuParserParsesTheExpectedResultsFromAmpereSystems_Scenario1()
82
106
Assert . AreEqual ( 1 , info . SocketCount ) ;
83
107
Assert . AreEqual ( 1 , info . NumaNodeCount ) ;
84
108
Assert . IsFalse ( info . IsHyperthreadingEnabled ) ;
109
+ Assert . AreEqual ( double . NaN , info . MaxFrequencyMHz ) ;
110
+ Assert . AreEqual ( double . NaN , info . MinFrequencyMHz ) ;
111
+ Assert . AreEqual ( double . NaN , info . FrequencyMHz ) ;
112
+
113
+ Assert . AreEqual ( 6 , info . Flags . Count ) ;
114
+ Assert . AreEqual ( "aarch64" , info . Flags [ "Architecture" ] ) ;
115
+ Assert . AreEqual ( "32-bit, 64-bit" , info . Flags [ "CPU op-mode(s)" ] ) ;
116
+ Assert . AreEqual ( "Little Endian" , info . Flags [ "Byte Order" ] ) ;
117
+ Assert . AreEqual ( "0,1" , info . Flags [ "NUMA node0 CPU(s)" ] ) ;
118
+ Assert . AreEqual ( "0,1" , info . Flags [ "On-line CPU(s) list" ] ) ;
119
+ Assert . AreEqual ( "50" , info . Flags [ "BogoMIPS" ] ) ;
85
120
86
121
IConvertible cacheMemory = 0 ;
87
122
Assert . IsNotEmpty ( info . Caches ) ;
@@ -97,7 +132,7 @@ public void LscpuParserParsesTheExpectedResultsFromAmpereSystems_Scenario1()
97
132
[ Test ]
98
133
public void LscpuParserParsesTheExpectedResultsFromAWSSystems_Scenario3 ( )
99
134
{
100
- string results = File . ReadAllText ( Path . Combine ( MockFixture . ExamplesDirectory , "lscpu" , "lscpu_results3 .txt" ) ) ;
135
+ string results = File . ReadAllText ( Path . Combine ( MockFixture . ExamplesDirectory , "lscpu" , "lscpu_results_intel_3 .txt" ) ) ;
101
136
LscpuParser parser = new LscpuParser ( results ) ;
102
137
CpuInfo info = parser . Parse ( ) ;
103
138
@@ -109,6 +144,67 @@ public void LscpuParserParsesTheExpectedResultsFromAWSSystems_Scenario3()
109
144
Assert . AreEqual ( 1 , info . SocketCount ) ;
110
145
Assert . AreEqual ( 1 , info . NumaNodeCount ) ;
111
146
Assert . IsFalse ( info . IsHyperthreadingEnabled ) ;
147
+ Assert . AreEqual ( double . NaN , info . MaxFrequencyMHz ) ;
148
+ Assert . AreEqual ( double . NaN , info . MinFrequencyMHz ) ;
149
+ Assert . AreEqual ( double . NaN , info . FrequencyMHz ) ;
150
+
151
+ Assert . AreEqual ( 6 , info . Flags . Count ) ;
152
+ Assert . AreEqual ( "aarch64" , info . Flags [ "Architecture" ] ) ;
153
+ Assert . AreEqual ( "32-bit, 64-bit" , info . Flags [ "CPU op-mode(s)" ] ) ;
154
+ Assert . AreEqual ( "Little Endian" , info . Flags [ "Byte Order" ] ) ;
155
+ Assert . AreEqual ( "0,1" , info . Flags [ "NUMA node0 CPU(s)" ] ) ;
156
+ Assert . AreEqual ( "0,1" , info . Flags [ "On-line CPU(s) list" ] ) ;
157
+ Assert . AreEqual ( "2100" , info . Flags [ "BogoMIPS" ] ) ;
158
+
159
+ IConvertible cacheMemory = 0 ;
160
+ Assert . IsNotEmpty ( info . Caches ) ;
161
+
162
+ Assert . IsTrue ( info . Caches . Count ( ) == 5 ) ;
163
+ Assert . IsTrue ( info . Caches . Any ( cache => cache . Name == "L1" && cache . SizeInBytes == 262144 ) ) ;
164
+ Assert . IsTrue ( info . Caches . Any ( cache => cache . Name == "L1d" && cache . SizeInBytes == 131072 ) ) ;
165
+ Assert . IsTrue ( info . Caches . Any ( cache => cache . Name == "L1i" && cache . SizeInBytes == 131072 ) ) ;
166
+ Assert . IsTrue ( info . Caches . Any ( cache => cache . Name == "L2" && cache . SizeInBytes == 2097152 ) ) ;
167
+ Assert . IsTrue ( info . Caches . Any ( cache => cache . Name == "L3" && cache . SizeInBytes == 33554432 ) ) ;
168
+ }
169
+
170
+ [ Test ]
171
+ public void LscpuParserParsesTheExpectedResultsIntelLabSystems_Scenario4 ( )
172
+ {
173
+ string results = File . ReadAllText ( Path . Combine ( MockFixture . ExamplesDirectory , "lscpu" , "lscpu_results_intel_4.txt" ) ) ;
174
+ LscpuParser parser = new LscpuParser ( results ) ;
175
+ CpuInfo info = parser . Parse ( ) ;
176
+
177
+ Assert . IsNotNull ( info ) ;
178
+ Assert . AreEqual ( "Intel(R) Xeon(R) Platinum 8480C" , info . Name ) ;
179
+ Assert . AreEqual ( "Intel(R) Xeon(R) Platinum 8480C Family 6 Model 143 Stepping 8, GenuineIntel" , info . Description ) ;
180
+ Assert . AreEqual ( 28 , info . LogicalCoreCount ) ;
181
+ Assert . AreEqual ( 14 , info . PhysicalCoreCount ) ;
182
+ Assert . AreEqual ( 2 , info . SocketCount ) ;
183
+ Assert . AreEqual ( 2 , info . NumaNodeCount ) ;
184
+ Assert . IsTrue ( info . IsHyperthreadingEnabled ) ;
185
+ Assert . AreEqual ( 380 , info . MaxFrequencyMHz ) ;
186
+ Assert . AreEqual ( 80 , info . MinFrequencyMHz ) ;
187
+ Assert . AreEqual ( double . NaN , info . FrequencyMHz ) ;
188
+
189
+ Assert . AreEqual ( 8 , info . Flags . Count ) ;
190
+ Assert . AreEqual ( "x86_64" , info . Flags [ "Architecture" ] ) ;
191
+ Assert . AreEqual ( "32-bit, 64-bit" , info . Flags [ "CPU op-mode(s)" ] ) ;
192
+ Assert . AreEqual ( "46 bits physical, 57 bits virtual" , info . Flags [ "Address sizes" ] ) ;
193
+ Assert . AreEqual ( "Little Endian" , info . Flags [ "Byte Order" ] ) ;
194
+ Assert . AreEqual ( "0-5,18-23" , info . Flags [ "NUMA node0 CPU(s)" ] ) ;
195
+ Assert . AreEqual ( "6-17,24-27" , info . Flags [ "NUMA node1 CPU(s)" ] ) ;
196
+ Assert . AreEqual ( "0-27" , info . Flags [ "On-line CPU(s) list" ] ) ;
197
+ Assert . AreEqual ( "4000" , info . Flags [ "BogoMIPS" ] ) ;
198
+
199
+ IConvertible cacheMemory = 0 ;
200
+ Assert . IsNotEmpty ( info . Caches ) ;
201
+
202
+ Assert . IsTrue ( info . Caches . Count ( ) == 5 ) ;
203
+ Assert . IsTrue ( info . Caches . Any ( cache => cache . Name == "L1" && cache . SizeInBytes == 7130316 ) ) ;
204
+ Assert . IsTrue ( info . Caches . Any ( cache => cache . Name == "L1d" && cache . SizeInBytes == 4508876 ) ) ;
205
+ Assert . IsTrue ( info . Caches . Any ( cache => cache . Name == "L1i" && cache . SizeInBytes == 2621440 ) ) ;
206
+ Assert . IsTrue ( info . Caches . Any ( cache => cache . Name == "L2" && cache . SizeInBytes == 25165824 ) ) ;
207
+ Assert . IsTrue ( info . Caches . Any ( cache => cache . Name == "L3" && cache . SizeInBytes == 20971520 ) ) ;
112
208
}
113
209
}
114
210
}
0 commit comments