michael@0: #!/usr/bin/env python michael@0: michael@0: # Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. michael@0: # Use of this source code is governed by a BSD-style license that can be michael@0: # found in the LICENSE file. michael@0: michael@0: """Sun OS specific tests. These are implicitly run by test_psutil.py.""" michael@0: michael@0: import psutil michael@0: from test_psutil import * michael@0: michael@0: michael@0: class SunOSSpecificTestCase(unittest.TestCase): michael@0: michael@0: def test_swap_memory(self): michael@0: out = sh('swap -l -k') michael@0: lines = out.strip().split('\n')[1:] michael@0: if not lines: michael@0: raise ValueError('no swap device(s) configured') michael@0: total = free = 0 michael@0: for line in lines: michael@0: line = line.split() michael@0: t, f = line[-2:] michael@0: t = t.replace('K', '') michael@0: f = f.replace('K', '') michael@0: total += int(int(t) * 1024) michael@0: free += int(int(f) * 1024) michael@0: used = total - free michael@0: michael@0: psutil_swap = psutil.swap_memory() michael@0: self.assertEqual(psutil_swap.total, total) michael@0: self.assertEqual(psutil_swap.used, used) michael@0: self.assertEqual(psutil_swap.free, free) michael@0: michael@0: michael@0: def test_main(): michael@0: test_suite = unittest.TestSuite() michael@0: test_suite.addTest(unittest.makeSuite(SunOSSpecificTestCase)) michael@0: result = unittest.TextTestRunner(verbosity=2).run(test_suite) michael@0: return result.wasSuccessful() michael@0: michael@0: if __name__ == '__main__': michael@0: if not test_main(): michael@0: sys.exit(1)