summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2016-01-26 10:58:03 +0100
committerGiampaolo Rodola <g.rodola@gmail.com>2016-01-26 10:58:03 +0100
commit5f02dd0c04576633bd0740c756bef3a64efe3ebc (patch)
tree70b324055e22f2a7524ea0a15b736ebe30f21757
parent9f6c61927379aa007d1239240f8225dd97442698 (diff)
parentb2456eedb469f673e6234410f8c95bf6320920a9 (diff)
downloadpsutil-5f02dd0c04576633bd0740c756bef3a64efe3ebc.tar.gz
Merge pull request #740 from fbenkstein/fix-win-net_if_stat
fix net_if_stats on Windows wip
-rw-r--r--psutil/_psutil_windows.c2
-rw-r--r--test/_windows.py11
2 files changed, 12 insertions, 1 deletions
diff --git a/psutil/_psutil_windows.c b/psutil/_psutil_windows.c
index 32f00b67..7ff1fcf3 100644
--- a/psutil/_psutil_windows.c
+++ b/psutil/_psutil_windows.c
@@ -3062,7 +3062,7 @@ psutil_net_if_stats(PyObject *self, PyObject *args) {
);
if (!py_ifc_info)
goto error;
- if (PyDict_SetItemString(py_retdict, py_nic_name, py_ifc_info))
+ if (PyDict_SetItem(py_retdict, py_nic_name, py_ifc_info))
goto error;
Py_DECREF(py_nic_name);
Py_DECREF(py_ifc_info);
diff --git a/test/_windows.py b/test/_windows.py
index f45af694..2dbc2a3b 100644
--- a/test/_windows.py
+++ b/test/_windows.py
@@ -311,6 +311,17 @@ class WindowsSpecificTestCase(unittest.TestCase):
self.assertRaises(psutil.NoSuchProcess,
p.send_signal, signal.CTRL_BREAK_EVENT)
+ @unittest.skipIf(wmi is None, "wmi module is not installed")
+ def test_net_if_stats(self):
+ ps_names = set(cext.net_if_stats())
+ wmi_adapters = wmi.WMI().Win32_NetworkAdapter()
+ wmi_names = set()
+ for wmi_adapter in wmi_adapters:
+ wmi_names.add(wmi_adapter.Name)
+ wmi_names.add(wmi_adapter.NetConnectionID)
+ self.assertTrue(ps_names & wmi_names,
+ "no common entries in %s, %s" % (ps_names, wmi_names))
+
@unittest.skipUnless(WINDOWS, "not a Windows system")
class TestDualProcessImplementation(unittest.TestCase):