Add new RHEL7 logvol objects to master
[pykickstart.git] / tests / parser / include.py
blobefc14a80ea44b69b848b0a18af927dcbf747b439
1 import os
2 import unittest
3 import tempfile
4 from tests.baseclass import *
6 from pykickstart import constants
7 from pykickstart.errors import KickstartParseError
8 from pykickstart import version
10 class Base_Include(ParserTest):
11 def setUp(self):
12 ParserTest.setUp(self)
14 (handle, self._path) = tempfile.mkstemp(prefix="include-")
15 os.write(handle, self.includeKS)
16 os.close(handle)
18 def tearDown(self):
19 ParserTest.tearDown(self)
20 os.unlink(self._path)
22 class Include_Packages_TestCase(Base_Include):
23 ks = """
24 %%packages
25 %%include %s
26 -packageB
27 %%end
28 """
30 includeKS = """
31 packageA
32 """
34 def runTest(self):
35 self.parser.readKickstartFromString(self.ks % self._path)
37 self.assertEqual(len(self.handler.packages.packageList), 1)
38 self.assertEqual(len(self.handler.packages.excludedList), 1)
40 class Include_Commands_TestCase(Base_Include):
41 ks = """
42 rootpw 123456
43 %%include %s
44 text
45 """
47 includeKS = """
48 autopart
49 clearpart --all
50 zerombr
51 """
53 def runTest(self):
54 self.parser.readKickstartFromString(self.ks % self._path)
56 self.assertEqual(self.handler.rootpw.password, "123456")
57 self.assertEqual(self.handler.displaymode.displayMode, constants.DISPLAY_MODE_TEXT)
58 self.assertTrue(self.handler.autopart.autopart)
59 self.assertEqual(self.handler.clearpart.type, constants.CLEARPART_TYPE_ALL)
60 self.assertTrue(self.handler.zerombr.zerombr)
62 class Include_Whole_Script_TestCase(Base_Include):
63 ks = """
64 %%include %s
65 """
67 includeKS = """
68 %pre
69 ls /tmp
70 %end
71 """
73 def runTest(self):
74 self.parser.readKickstartFromString(self.ks % self._path)
75 self.assertEqual(len(self.handler.scripts), 1)
77 # Verify the script defaults.
78 script = self.handler.scripts[0]
79 self.assertEqual(script.interp, "/bin/sh")
80 self.assertFalse(script.inChroot)
81 self.assertEqual(script.lineno, 2)
82 self.assertFalse(script.errorOnFail)
83 self.assertEqual(script.type, constants.KS_SCRIPT_PRE)
85 # Also verify the body, which is the most important part.
86 self.assertEqual(script.script.rstrip(), "ls /tmp")
88 class Include_Post_TestCase(Base_Include):
89 ks = """
90 %%post
91 %%include %s
92 %%end
93 """
95 includeKS = """
96 ls /tmp
97 """
99 def runTest(self):
100 self.parser.readKickstartFromString(self.ks % self._path)
101 self.assertEqual(len(self.handler.scripts), 1)
103 # Verify the script defaults.
104 script = self.handler.scripts[0]
105 self.assertEqual(script.interp, "/bin/sh")
106 self.assertTrue(script.inChroot)
107 self.assertEqual(script.lineno, 2)
108 self.assertFalse(script.errorOnFail)
109 self.assertEqual(script.type, constants.KS_SCRIPT_POST)
111 # Also verify the body, which is the most important part.
112 self.assertEqual(script.script.rstrip(), "ls /tmp")
114 class Include_Pre_TestCase(Base_Include):
115 ks = """
116 %%pre
117 %%include %s
118 %%end
121 includeKS = """
122 ls /tmp
125 def runTest(self):
126 self.parser.readKickstartFromString(self.ks % self._path)
127 self.assertEqual(len(self.handler.scripts), 1)
129 # Verify the script defaults.
130 script = self.handler.scripts[0]
131 self.assertEqual(script.interp, "/bin/sh")
132 self.assertFalse(script.inChroot)
133 self.assertEqual(script.lineno, 2)
134 self.assertFalse(script.errorOnFail)
135 self.assertEqual(script.type, constants.KS_SCRIPT_PRE)
137 # Also verify the body, which is the most important part.
138 self.assertEqual(script.script.rstrip(), "ls /tmp")
140 if __name__ == "__main__":
141 unittest.main()