File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed
Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -213,6 +213,11 @@ def extract_core_list(self, line):
213213 cpu_list = line [colon + 1 :]
214214 core_list = []
215215 for core_range in cpu_list .split ("," ):
216+ # Skip it if the CPU list for the NUMA node is empty....
217+ core_range = core_range .strip ()
218+ if not core_range :
219+ logging .error ("Empty core range in line: %s" , line )
220+ continue
216221 # core_range should be of the form "a-b" or "a"
217222 range_list = core_range .split ("-" )
218223 if len (range_list ) > 1 :
Original file line number Diff line number Diff line change 2525
2626
2727class IPerfPerfomanceTestTests (unittest .TestCase ):
28+ def test_extract_core_list_single (self ):
29+ """Tests parsing a NUMA node CPUs list with a single CPU."""
30+ line = "NUMA node0 CPU(s): 0"
31+ core_list = network .IPerfPerformanceTest .extract_core_list (None , line )
32+ self .assertListEqual (core_list , [0 ])
33+
34+ def test_extract_core_list_range (self ):
35+ """Tests parsing a NUMA node CPUs list."""
36+ line = "NUMA node0 CPU(s): 0-2"
37+ core_list = network .IPerfPerformanceTest .extract_core_list (None , line )
38+ self .assertListEqual (core_list , [0 , 1 , 2 ])
39+
40+ def test_extract_core_list_empty (self ):
41+ """Tests that parsing an empty NUMA node CPUs does not crash."""
42+ line = "NUMA node0 CPU(s):"
43+ core_list = network .IPerfPerformanceTest .extract_core_list (None , line )
44+ self .assertListEqual (core_list , [])
2845
2946 def test_find_numa_reports_node (self ):
3047 with patch ("builtins.open" , mock_open (read_data = "1" )) as mo :
You can’t perform that action at this time.
0 commit comments