summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2017-05-02 04:40:42 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2017-05-02 04:40:42 +0200
commitad579702c39bbe5d3c1f6d1c0b3f3091399e8e49 (patch)
treedde013421bd2532c62b636c02d481682d53b70a0
parent861bb930f4fff1387bde28dd2222ea9b4bd01010 (diff)
downloadpsutil-ad579702c39bbe5d3c1f6d1c0b3f3091399e8e49.tar.gz
windows: fix battery tests
-rwxr-xr-xpsutil/tests/test_connections.py3
-rwxr-xr-xpsutil/tests/test_windows.py36
-rwxr-xr-xscripts/internal/winmake.py7
3 files changed, 28 insertions, 18 deletions
diff --git a/psutil/tests/test_connections.py b/psutil/tests/test_connections.py
index c47160c7..d0c5445a 100755
--- a/psutil/tests/test_connections.py
+++ b/psutil/tests/test_connections.py
@@ -74,8 +74,9 @@ class Base(object):
# so there may be more connections.
return smap[sock.fileno()]
else:
- self.assertEqual(smap[sock.fileno()].fd, sock.fileno())
self.assertEqual(len(cons), 1)
+ if cons[0].fd != -1:
+ self.assertEqual(smap[sock.fileno()].fd, sock.fileno())
return cons[0]
def check_socket(self, sock, conn=None):
diff --git a/psutil/tests/test_windows.py b/psutil/tests/test_windows.py
index 77647652..677df34d 100755
--- a/psutil/tests/test_windows.py
+++ b/psutil/tests/test_windows.py
@@ -33,7 +33,6 @@ from psutil._compat import callable
from psutil.tests import APPVEYOR
from psutil.tests import get_test_subprocess
from psutil.tests import HAS_BATTERY
-from psutil.tests import HAS_SENSORS_BATTERY
from psutil.tests import mock
from psutil.tests import reap_children
from psutil.tests import retry_before_failing
@@ -190,28 +189,31 @@ class TestSystemAPIs(unittest.TestCase):
@unittest.skipIf(not WINDOWS, "WINDOWS only")
class TestSensorsBattery(unittest.TestCase):
- @unittest.skipIf(not HAS_SENSORS_BATTERY, "not supported")
+ def test_has_battery(self):
+ if psutil.sensors_battery() is None:
+ w = wmi.WMI()
+ with self.assertRaises(IndexError):
+ w.query('select * from Win32_Battery')[0]
+
@unittest.skipIf(not HAS_BATTERY, "no battery")
def test_percent(self):
w = wmi.WMI()
+ battery_wmi = w.query('select * from Win32_Battery')[0]
battery_psutil = psutil.sensors_battery()
- if battery_psutil is None:
- with self.assertRaises(IndexError):
- w.query('select * from Win32_Battery')[0]
- else:
- battery_wmi = w.query('select * from Win32_Battery')[0]
- if battery_psutil is None:
- self.assertNot(battery_wmi.EstimatedChargeRemaining)
- return
+ self.assertAlmostEqual(
+ battery_psutil.percent, battery_wmi.EstimatedChargeRemaining,
+ delta=1)
- self.assertAlmostEqual(
- battery_psutil.percent, battery_wmi.EstimatedChargeRemaining,
- delta=1)
- self.assertEqual(
- battery_psutil.power_plugged, battery_wmi.BatteryStatus == 1)
-
- @unittest.skipIf(not HAS_SENSORS_BATTERY, "not supported")
@unittest.skipIf(not HAS_BATTERY, "no battery")
+ def test_power_plugged(self):
+ w = wmi.WMI()
+ battery_wmi = w.query('select * from Win32_Battery')[0]
+ battery_psutil = psutil.sensors_battery()
+ # Status codes:
+ # https://msdn.microsoft.com/en-us/library/aa394074(v=vs.85).aspx
+ self.assertEqual(battery_psutil.power_plugged,
+ battery_wmi.BatteryStatus == 2)
+
def test_battery_present(self):
if win32api.GetPwrCapabilities()['SystemBatteriesPresent']:
self.assertIsNotNone(psutil.sensors_battery())
diff --git a/scripts/internal/winmake.py b/scripts/internal/winmake.py
index c9139977..7b70404a 100755
--- a/scripts/internal/winmake.py
+++ b/scripts/internal/winmake.py
@@ -354,6 +354,13 @@ def test_unicode():
@cmd
+def test_connections():
+ """Run connections tests"""
+ install()
+ sh("%s -m unittest -v psutil.tests.test_connections" % PYTHON)
+
+
+@cmd
def test_contracts():
"""Run contracts tests"""
install()