Merge pull request #289 from donfranio/master
extra tests for util.which
This commit is contained in:
commit
ab41a24ee2
1 changed files with 27 additions and 19 deletions
|
@ -1,12 +1,12 @@
|
||||||
# pylint: disable=C0103,C0111
|
# pylint: disable=C0103,C0111
|
||||||
|
|
||||||
import mock
|
|
||||||
import unittest
|
import unittest
|
||||||
import re
|
import re
|
||||||
|
|
||||||
import tests.mocks as mocks
|
import tests.mocks as mocks
|
||||||
|
|
||||||
from bumblebee.util import *
|
import bumblebee.util as bu
|
||||||
|
|
||||||
|
|
||||||
class TestUtil(unittest.TestCase):
|
class TestUtil(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
@ -18,28 +18,28 @@ class TestUtil(unittest.TestCase):
|
||||||
self.popen.cleanup()
|
self.popen.cleanup()
|
||||||
|
|
||||||
def test_bytefmt(self):
|
def test_bytefmt(self):
|
||||||
self.assertEquals(bytefmt(10), "10.00B")
|
self.assertEquals(bu.bytefmt(10), "10.00B")
|
||||||
self.assertEquals(bytefmt(15*1024), "15.00KiB")
|
self.assertEquals(bu.bytefmt(15 * 1024), "15.00KiB")
|
||||||
self.assertEquals(bytefmt(20*1024*1024), "20.00MiB")
|
self.assertEquals(bu.bytefmt(20 * 1024 * 1024), "20.00MiB")
|
||||||
self.assertEquals(bytefmt(22*1024*1024*1024), "22.00GiB")
|
self.assertEquals(bu.bytefmt(22 * 1024 * 1024 * 1024), "22.00GiB")
|
||||||
self.assertEquals(bytefmt(35*1024*1024*1024*1024), "35840.00GiB")
|
self.assertEquals(bu.bytefmt(35 * 1024 * 1024 * 1024 * 1024), "35840.00GiB")
|
||||||
|
|
||||||
def test_durationfmt(self):
|
def test_durationfmt(self):
|
||||||
self.assertEquals(durationfmt(00), "00:00")
|
self.assertEquals(bu.durationfmt(00), "00:00")
|
||||||
self.assertEquals(durationfmt(25), "00:25")
|
self.assertEquals(bu.durationfmt(25), "00:25")
|
||||||
self.assertEquals(durationfmt(60), "01:00")
|
self.assertEquals(bu.durationfmt(60), "01:00")
|
||||||
self.assertEquals(durationfmt(119), "01:59")
|
self.assertEquals(bu.durationfmt(119), "01:59")
|
||||||
self.assertEquals(durationfmt(3600), "01:00:00")
|
self.assertEquals(bu.durationfmt(3600), "01:00:00")
|
||||||
self.assertEquals(durationfmt(7265), "02:01:05")
|
self.assertEquals(bu.durationfmt(7265), "02:01:05")
|
||||||
|
|
||||||
def test_execute(self):
|
def test_execute(self):
|
||||||
execute(self.some_command_with_args)
|
bu.execute(self.some_command_with_args)
|
||||||
self.assertTrue(self.popen.mock.popen.called)
|
self.assertTrue(self.popen.mock.popen.called)
|
||||||
self.popen.mock.popen.assert_call(self.some_command_with_args)
|
self.popen.mock.popen.assert_call(self.some_command_with_args)
|
||||||
self.assertTrue(self.popen.mock.communicate.called)
|
self.assertTrue(self.popen.mock.communicate.called)
|
||||||
|
|
||||||
def test_execute_nowait(self):
|
def test_execute_nowait(self):
|
||||||
execute(self.some_command_with_args, False)
|
bu.execute(self.some_command_with_args, False)
|
||||||
self.assertTrue(self.popen.mock.popen.called)
|
self.assertTrue(self.popen.mock.popen.called)
|
||||||
self.popen.mock.popen.assert_call(self.some_command_with_args)
|
self.popen.mock.popen.assert_call(self.some_command_with_args)
|
||||||
self.assertFalse(self.popen.mock.communicate.called)
|
self.assertFalse(self.popen.mock.communicate.called)
|
||||||
|
@ -52,14 +52,22 @@ class TestUtil(unittest.TestCase):
|
||||||
self.popen.mock.returncode = 1
|
self.popen.mock.returncode = 1
|
||||||
|
|
||||||
with self.assertRaises(RuntimeError):
|
with self.assertRaises(RuntimeError):
|
||||||
execute(self.some_command_with_args)
|
bu.execute(self.some_command_with_args)
|
||||||
|
|
||||||
def test_which(self):
|
def test_which(self):
|
||||||
|
# test for a binary that has to be somewhere
|
||||||
|
print(bu.which("ls"))
|
||||||
|
self.assertTrue(re.search('/(ls)$', bu.which("ls")))
|
||||||
|
|
||||||
|
# test for a binary that is not necessarily there
|
||||||
program = "iwgetid"
|
program = "iwgetid"
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
which(program) is None or
|
bu.which(program) is None or
|
||||||
re.search('/(' + program + ')$', which(program))
|
re.search('/(' + program + ')$', bu.which(program))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# test if which also works with garbage input
|
||||||
|
self.assertTrue(bu.which("qwertygarbage") is None)
|
||||||
|
|
||||||
|
|
||||||
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
||||||
|
|
Loading…
Reference in a new issue