summaryrefslogtreecommitdiff
path: root/psutil/tests/test_linux.py
diff options
context:
space:
mode:
authorDavid Brochart <david.brochart@gmail.com>2019-04-26 05:06:23 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2019-04-26 11:06:23 +0800
commitd6f268f6059fde4283276b0501ad145d85106313 (patch)
treee79cb6ad2425f7f59c89a65151a74e981924a920 /psutil/tests/test_linux.py
parente74f59b86bd3d98be915e42c8f470a52667280cc (diff)
downloadpsutil-d6f268f6059fde4283276b0501ad145d85106313.tar.gz
Fix cpu freq (#1496)
Diffstat (limited to 'psutil/tests/test_linux.py')
-rwxr-xr-xpsutil/tests/test_linux.py29
1 files changed, 23 insertions, 6 deletions
diff --git a/psutil/tests/test_linux.py b/psutil/tests/test_linux.py
index 4cdc9cbf..a4b79e4f 100755
--- a/psutil/tests/test_linux.py
+++ b/psutil/tests/test_linux.py
@@ -760,6 +760,8 @@ class TestSystemCPUFrequency(unittest.TestCase):
elif (name.endswith('/scaling_max_freq') and
name.startswith("/sys/devices/system/cpu/cpufreq/policy")):
return io.BytesIO(b"700000")
+ elif name == '/proc/cpuinfo':
+ return io.BytesIO(b"cpu MHz : 500")
else:
return orig_open(name, *args, **kwargs)
@@ -770,8 +772,12 @@ class TestSystemCPUFrequency(unittest.TestCase):
'os.path.exists', return_value=True):
freq = psutil.cpu_freq()
self.assertEqual(freq.current, 500.0)
- self.assertEqual(freq.min, 600.0)
- self.assertEqual(freq.max, 700.0)
+ # when /proc/cpuinfo is used min and max frequencies are not
+ # available and are set to 0.
+ if freq.min != 0.0:
+ self.assertEqual(freq.min, 600.0)
+ if freq.max != 0.0:
+ self.assertEqual(freq.max, 700.0)
@unittest.skipIf(not HAS_CPU_FREQ, "not supported")
def test_emulate_multi_cpu(self):
@@ -795,6 +801,9 @@ class TestSystemCPUFrequency(unittest.TestCase):
elif (n.endswith('/scaling_max_freq') and
n.startswith("/sys/devices/system/cpu/cpufreq/policy1")):
return io.BytesIO(b"600000")
+ elif name == '/proc/cpuinfo':
+ return io.BytesIO(b"cpu MHz : 100\n"
+ b"cpu MHz : 400")
else:
return orig_open(name, *args, **kwargs)
@@ -806,11 +815,15 @@ class TestSystemCPUFrequency(unittest.TestCase):
return_value=2):
freq = psutil.cpu_freq(percpu=True)
self.assertEqual(freq[0].current, 100.0)
- self.assertEqual(freq[0].min, 200.0)
- self.assertEqual(freq[0].max, 300.0)
+ if freq[0].min != 0.0:
+ self.assertEqual(freq[0].min, 200.0)
+ if freq[0].max != 0.0:
+ self.assertEqual(freq[0].max, 300.0)
self.assertEqual(freq[1].current, 400.0)
- self.assertEqual(freq[1].min, 500.0)
- self.assertEqual(freq[1].max, 600.0)
+ if freq[1].min != 0.0:
+ self.assertEqual(freq[1].min, 500.0)
+ if freq[1].max != 0.0:
+ self.assertEqual(freq[1].max, 600.0)
@unittest.skipIf(TRAVIS, "fails on Travis")
@unittest.skipIf(not HAS_CPU_FREQ, "not supported")
@@ -821,6 +834,8 @@ class TestSystemCPUFrequency(unittest.TestCase):
raise IOError(errno.ENOENT, "")
elif name.endswith('/cpuinfo_cur_freq'):
return io.BytesIO(b"200000")
+ elif name == '/proc/cpuinfo':
+ return io.BytesIO(b"cpu MHz : 200")
else:
return orig_open(name, *args, **kwargs)
@@ -841,6 +856,8 @@ class TestSystemCPUFrequency(unittest.TestCase):
raise IOError(errno.ENOENT, "")
elif name.endswith('/cpuinfo_cur_freq'):
raise IOError(errno.ENOENT, "")
+ elif name == '/proc/cpuinfo':
+ raise IOError(errno.ENOENT, "")
else:
return orig_open(name, *args, **kwargs)