diff --git a/pkgs/development/python-modules/glances/default.nix b/pkgs/development/python-modules/glances/default.nix index 3b0f61c36238..f25723e7ec72 100644 --- a/pkgs/development/python-modules/glances/default.nix +++ b/pkgs/development/python-modules/glances/default.nix @@ -16,8 +16,10 @@ buildPythonPackage rec { sha256 = "1jkjblfk4gbr00j7lny7ajiizzqnp0p1yhzfi14074gwk38z0q14"; }; + patches = lib.optional doCheck ./skip-failing-tests.patch; + # Requires access to /sys/class/power_supply - doCheck = false; + doCheck = true; buildInputs = [ unittest2 ]; propagatedBuildInputs = [ psutil setuptools bottle batinfo pysnmp hddtemp ]; diff --git a/pkgs/development/python-modules/glances/skip-failing-tests.patch b/pkgs/development/python-modules/glances/skip-failing-tests.patch new file mode 100644 index 000000000000..f47f1218aea5 --- /dev/null +++ b/pkgs/development/python-modules/glances/skip-failing-tests.patch @@ -0,0 +1,52 @@ +diff --git a/unitest.py b/unitest.py +--- a/unitest.py ++++ b/unitest.py +@@ -59,6 +59,7 @@ class TestGlances(unittest.TestCase): + """The function is called *every time* before test_*.""" + print('\n' + '=' * 78) + ++ @unittest.skip("Requires access to /etc/mtab") + def test_000_update(self): + """Update stats (mandatory step for all the stats). + +@@ -87,6 +88,7 @@ class TestGlances(unittest.TestCase): + for plugin in plugins_to_check: + self.assertTrue(plugin in plugins_list) + ++ @unittest.skip("Fails on NixOS") + def test_002_system(self): + """Check SYSTEM plugin.""" + stats_to_check = ['hostname', 'os_name'] +@@ -97,6 +99,7 @@ class TestGlances(unittest.TestCase): + self.assertTrue(stat in stats_grab, msg='Cannot find key: %s' % stat) + print('INFO: SYSTEM stats: %s' % stats_grab) + ++ @unittest.skip("Fails on NixOS") + def test_003_cpu(self): + """Check CPU plugin.""" + stats_to_check = ['system', 'user', 'idle'] +@@ -110,7 +113,7 @@ class TestGlances(unittest.TestCase): + self.assertLessEqual(stats_grab[stat], 100) + print('INFO: CPU stats: %s' % stats_grab) + +- @unittest.skipIf(WINDOWS, "Load average not available on Windows") ++ @unittest.skip("Fails on NixOS") + def test_004_load(self): + """Check LOAD plugin.""" + stats_to_check = ['cpucore', 'min1', 'min5', 'min15'] +@@ -123,6 +126,7 @@ class TestGlances(unittest.TestCase): + self.assertGreaterEqual(stats_grab[stat], 0) + print('INFO: LOAD stats: %s' % stats_grab) + ++ @unittest.skip("Fails on NixOS") + def test_005_mem(self): + """Check MEM plugin.""" + stats_to_check = ['available', 'used', 'free', 'total'] +@@ -135,6 +139,7 @@ class TestGlances(unittest.TestCase): + self.assertGreaterEqual(stats_grab[stat], 0) + print('INFO: MEM stats: %s' % stats_grab) + ++ @unittest.skip("Fails on NixOS") + def test_006_swap(self): + """Check MEMSWAP plugin.""" + stats_to_check = ['used', 'free', 'total']