34 lines
1.4 KiB
Python
34 lines
1.4 KiB
Python
import importlib.util
|
|
from pathlib import Path
|
|
import unittest
|
|
|
|
path = Path(__file__).resolve().parents[2] / 'quickshell/.config/quickshell/labfy-sway/systemmonitor/backend.py'
|
|
spec = importlib.util.spec_from_file_location('monitor_backend', path)
|
|
backend = importlib.util.module_from_spec(spec)
|
|
spec.loader.exec_module(backend)
|
|
|
|
|
|
class BackendTests(unittest.TestCase):
|
|
def test_cpu_excludes_guest_double_count(self):
|
|
data = 'cpu 10 2 3 20 1 4 5 6 7 8\ncpu0 1 2 3 4 5 6 7 8 9 10\n'
|
|
self.assertEqual(backend.cpu_ticks(data)['cpu'], [51, 21])
|
|
|
|
def test_mem_available_and_swap(self):
|
|
d = backend.meminfo('MemTotal: 100 kB\nMemFree: 2 kB\nMemAvailable: 40 kB\nCached: 20 kB\nSwapTotal: 10 kB\nSwapFree: 3 kB')
|
|
self.assertEqual(d['used'], 60 * 1024)
|
|
self.assertEqual(d['swapUsed'], 7 * 1024)
|
|
|
|
def test_psi_and_missing(self):
|
|
d = backend.psi('some avg10=1.25 avg60=2.50 avg300=3.75 total=9\nfull avg10=0.01 avg60=0.02 avg300=0.03 total=2')
|
|
self.assertEqual(d['some'], [1.25, 2.5, 3.75])
|
|
self.assertIsNone(backend.psi('')['full'])
|
|
|
|
def test_zram_and_frequency(self):
|
|
self.assertEqual(backend.zram('100 40 48 0 0')['ratio'], 2.5)
|
|
self.assertIsNone(backend.zram(''))
|
|
self.assertEqual(backend.gpu_frequency('0: 400Mhz\n1: 1200Mhz *'), 1200)
|
|
self.assertIsNone(backend.gpu_frequency(''))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|