summaryrefslogtreecommitdiffstats
path: root/tests/storage/devicelibs/swap.py
blob: b99d1f67c2a5489ffee53523bba8c23a77b79cad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import baseclass
import unittest
import storage.devicelibs.swap as swap

class SwapTestCase(baseclass.DevicelibsTestCase):

    def testSwap(self):
        ##
        ## mkswap
        ##
        # pass
        self.assertEqual(swap.mkswap(self._LOOP_DEV0, "swap"), None)

        # fail
        self.assertRaises(swap.SwapError, swap.mkswap, "/not/existing/device")
        
        ##
        ## swapon
        ##
        # pass
        self.assertEqual(swap.swapon(self._LOOP_DEV0, 1), None)

        # fail
        self.assertRaises(swap.SwapError, swap.swapon, "/not/existing/device")
        # not a swap partition
        self.assertRaises(swap.SwapError, swap.swapon, self._LOOP_DEV1)
        
        # pass
        # make another swap
        self.assertEqual(swap.mkswap(self._LOOP_DEV1, "another-swap"), None)
        self.assertEqual(swap.swapon(self._LOOP_DEV1), None)

        ##
        ## swapstatus
        ##
        # pass
        self.assertEqual(swap.swapstatus(self._LOOP_DEV0), True)
        self.assertEqual(swap.swapstatus(self._LOOP_DEV1), True)
        
        # does not fail
        self.assertEqual(swap.swapstatus("/not/existing/device"), False)

        ##
        ## swapoff
        ##
        # pass
        self.assertEqual(swap.swapoff(self._LOOP_DEV1), None)

        # check status
        self.assertEqual(swap.swapstatus(self._LOOP_DEV0), True)
        self.assertEqual(swap.swapstatus(self._LOOP_DEV1), False)

        self.assertEqual(swap.swapoff(self._LOOP_DEV0), None)

        # fail
        self.assertRaises(swap.SwapError, swap.swapoff, "/not/existing/device")
        # already off
        self.assertRaises(swap.SwapError, swap.swapoff, self._LOOP_DEV0)


def suite():
    return unittest.TestLoader().loadTestsFromTestCase(SwapTestCase)


if __name__ == "__main__":
    unittest.main()