2 from tests
.baseclass
import *
4 from pykickstart
import constants
5 from pykickstart
.errors
import KickstartParseError
6 from pykickstart
import version
8 class Script_Includes_Percent_Sign(ParserTest
):
11 echo "# Added by kickstart
12 %wheel ALL=(ALL) ALL" >> /etc/sudoers
17 self
.parser
.readKickstartFromString(self
.ks
)
18 self
.assertEqual(lan(self
.handler
.scripts
), 1)
20 class Simple_Terminated_TestCase(ParserTest
):
28 self
.parser
.readKickstartFromString(self
.ks
)
29 self
.assertEqual(len(self
.handler
.scripts
), 1)
31 # Verify the script defaults.
32 script
= self
.handler
.scripts
[0]
33 self
.assertEqual(script
.interp
, "/bin/sh")
34 self
.assertTrue(script
.inChroot
)
35 self
.assertEqual(script
.lineno
, 2)
36 self
.assertFalse(script
.errorOnFail
)
37 self
.assertEqual(script
.type, constants
.KS_SCRIPT_POST
)
39 # Also verify the body, which is the most important part.
40 self
.assertEqual(script
.script
.rstrip(), "ls /tmp")
42 class Simple_Header_TestCase(ParserTest
):
44 %post --interpreter /usr/bin/python --erroronfail --log=/tmp/blah --nochroot
50 self
.parser
.readKickstartFromString(self
.ks
)
51 self
.assertEqual(len(self
.handler
.scripts
), 1)
53 # Verify the changes we made in the header.
54 script
= self
.handler
.scripts
[0]
55 self
.assertEqual(script
.interp
, "/usr/bin/python")
56 self
.assertFalse(script
.inChroot
)
57 self
.assertTrue(script
.errorOnFail
)
58 self
.assertEqual(script
.lineno
, 2)
59 self
.assertEqual(script
.type, constants
.KS_SCRIPT_POST
)
60 self
.assertEqual(script
.logfile
, "/tmp/blah")
62 # Also verify the body, which is the most important part.
63 self
.assertEqual(script
.script
.rstrip(), "ls /tmp")
65 class Multiple_Terminated_TestCase(ParserTest
):
77 self
.parser
.readKickstartFromString(self
.ks
)
78 self
.assertEqual(len(self
.handler
.scripts
), 2)
80 # Verify the script defaults.
81 script
= self
.handler
.scripts
[0]
82 self
.assertEqual(script
.interp
, "/bin/sh")
83 self
.assertTrue(script
.inChroot
)
84 self
.assertFalse(script
.errorOnFail
)
85 self
.assertEqual(script
.lineno
, 2)
86 self
.assertEqual(script
.type, constants
.KS_SCRIPT_POST
)
88 # Also verify the body, which is the most important part.
89 self
.assertEqual(script
.script
.rstrip(), "ls /tmp")
91 script
= self
.handler
.scripts
[1]
92 self
.assertEqual(script
.script
.rstrip(), "ls /var")
94 class Simple_Unterminated_TestCase(Simple_Terminated_TestCase
):
102 class Simple_Unterminated_Fails_TestCase(Simple_Unterminated_TestCase
):
106 self
.assertRaises(KickstartParseError
, self
.parser
.readKickstartFromString
, self
.ks
)
108 class Multiple_Unterminated_TestCase(Multiple_Terminated_TestCase
):
119 class Multiple_Unterminated_Fails_TestCase(Multiple_Unterminated_TestCase
):
123 self
.assertRaises(KickstartParseError
, self
.parser
.readKickstartFromString
, self
.ks
)
125 if __name__
== "__main__":