summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--firstaidkit.spec2
-rw-r--r--plugins/grub/grub.py2
-rw-r--r--testsuite/cli.py282
-rwxr-xr-xtestsuite/cli/outputs/firstaidkit_-a17
-rwxr-xr-xtestsuite/cli/outputs/firstaidkit_-a_-x_plugincli115
-rwxr-xr-xtestsuite/cli/outputs/firstaidkit_-a_fix19
-rwxr-xr-xtestsuite/cli/outputs/firstaidkit_-a_nonexistent11
-rwxr-xr-xtestsuite/cli/outputs/firstaidkit_-f_nonexistent8
-rwxr-xr-xtestsuite/cli/outputs/firstaidkit_-f_plugincli113
-rwxr-xr-xtestsuite/cli/outputs/firstaidkit_-f_plugincli1_fix15
-rwxr-xr-xtestsuite/cli/outputs/firstaidkit_-f_plugincli1_nonexistent10
11 files changed, 198 insertions, 196 deletions
diff --git a/firstaidkit.spec b/firstaidkit.spec
index 8ffe293..62d916f 100644
--- a/firstaidkit.spec
+++ b/firstaidkit.spec
@@ -124,7 +124,7 @@ This package contains the Gtk based FirstAidKit GUI
%prep
%setup -q
-#./test
+./test
%build
diff --git a/plugins/grub/grub.py b/plugins/grub/grub.py
index 01ee65c..7fe928c 100644
--- a/plugins/grub/grub.py
+++ b/plugins/grub/grub.py
@@ -231,7 +231,7 @@ class Grub(Plugin):
self.issue_grub_image.set(checked = True, happened = True, \
reporting = self._reporting, origin = self)
else:
- self.issue_grub_image.set(checking = False, happened = False, \
+ self.issue_grub_image.set(checked = False, happened = False, \
reporting = self._reporting, origin = self)
self._result = ReturnFailure
diff --git a/testsuite/cli.py b/testsuite/cli.py
index 94ae731..c68302a 100644
--- a/testsuite/cli.py
+++ b/testsuite/cli.py
@@ -16,99 +16,209 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-import unittest, subprocess, os, os.path, difflib, exceptions
-
-clioutputdir="testsuite/cli/outputs"
-class Cli(unittest.TestCase):
- def generateDiff(self, args, filename):
- fd = os.open(os.path.join(clioutputdir, filename+".current"), \
- os.O_WRONLY|os.O_CREAT)
- subprocess.Popen(args, stdout=fd).wait()
- os.close(fd)
-
- fda = open(os.path.join(clioutputdir, filename+".current"), "r")
- fdb = open(os.path.join(clioutputdir, filename), "r")
- linesa = fda.readlines()
- linesb = fdb.readlines()
- fda.close()
- fdb.close()
- return difflib.unified_diff(linesa, linesb)
-
-
+import unittest, subprocess, os, os.path, exceptions
+
+# List of messages that each plugin outputs when entering a task.
+# for Plugincli1
+enteringM1 = {
+ "init" :"INFO: Entering the init phase... (Plugincli1)",
+ "prepare" :"INFO: Entering the prepare phase... (Plugincli1)",
+ "backup" :"INFO: Entering the backup phase... (Plugincli1)",
+ "restore" :"INFO: Entering the restore phase... (Plugincli1)",
+ "diagnose" :"INFO: Entering the diagnose phase... (Plugincli1)",
+ "fix" :"INFO: Entering the fix phase... (Plugincli1)",
+ "clean" :"INFO: Entering the clean phase... (Plugincli1)"
+ }
+
+# List of messages that each plugin outputs when entering a task.
+# for Plugincli2
+enteringM2 = {
+ "init" :"INFO: Entering the init phase... (Plugincli2)",
+ "prepare" :"INFO: Entering the prepare phase... (Plugincli2)",
+ "backup" :"INFO: Entering the backup phase... (Plugincli2)",
+ "restore" :"INFO: Entering the restore phase... (Plugincli2)",
+ "diagnose" :"INFO: Entering the diagnose phase... (Plugincli2)",
+ "fix" :"INFO: Entering the fix phase... (Plugincli2)",
+ "clean" :"INFO: Entering the clean phase... (Plugincli2)"
+ }
+
+# List of messages that the Plugin System outputs.
+psM = {
+ "usingfix":"INFO: Using fix flow (Plugin System)"
+ }
+
+# List of messages that the Tasker outputs for Plugincli1
+taskerM1 = {
+ "flownoexist":"INFO: Plugin plugincli1 does not contain flow nonexistent (Task interpreter)"
+ }
+
+# List of messages that the Tasker outputs for Plugincli2
+taskerM2 = {
+ "flownoexist":"INFO: Plugin plugincli2 does not contain flow nonexistent (Task interpreter)"
+ }
+
+# FAK error message
+fakerror = {
+ "pluginnoexist":"FAK_ERROR: No plugin by the name of \"nonexistent\" was found."
+ }
+
+
+class FAKfirstaidkit__a(unittest.TestCase):
def setUp(self):
- # All the diff objects will be in this list.
- self.udiffs = {}
-
- # We generate all the needed cli call files from a dict.
- # The key is considered the filename.
- self.clicallfiles = {
- "firstaidkit_-a" : \
- ["./firstaidkit", "-P", "testsuite/cli/", "-a"],
- "firstaidkit_-a_fix" : \
- ["./firstaidkit", "-P", "testsuite/cli/", "-a", \
- "fix"],
- "firstaidkit_-a_nonexistent" : \
- ["./firstaidkit", "-P", "testsuite/cli/", "-a", \
- "nonexistent"],
- "firstaidkit_-a_-x_plugincli1" : \
- ["./firstaidkit", "-P", "testsuite/cli/", "-a", \
- "-x", "plugincli1"],
- "firstaidkit_-f_nonexistent" : \
- ["./firstaidkit", "-P", "testsuite/cli/", "-f", \
- "nonexistent"],
- "firstaidkit_-f_plugincli1" : \
- ["./firstaidkit", "-P", "testsuite/cli/", "-f", \
- "plugincli1"],
- "firstaidkit_-f_plugincli1_fix" : \
- ["./firstaidkit", "-P", "testsuite/cli/", "-f", \
- "plugincli1", "fix"],
- "firstaidkit_-f_plugincli1_nonexistent" : \
- ["./firstaidkit", "-P", "testsuite/cli/", "-f", \
- "plugincli1", "nonexistent"]
- }
-
- for (key, arg) in self.clicallfiles.iteritems():
- self.udiffs[key] = self.generateDiff(arg, key)
-
- def tearDown(self):
- for (key, arg) in self.clicallfiles.iteritems():
- os.remove(os.path.join(clioutputdir, key+".current"))
-
-class AutoExec(Cli):
- def testfirstaidkit__a(self):
- self.failUnlessRaises(exceptions.StopIteration, \
- self.udiffs["firstaidkit_-a"].next)
-
- def testfirstaidkit__a_fix(self):
- self.failUnlessRaises(exceptions.StopIteration, \
- self.udiffs["firstaidkit_-a_fix"].next)
-
- def testfirstaidkit__a_nonexistent(self):
- self.failUnlessRaises(exceptions.StopIteration, \
- self.udiffs["firstaidkit_-a_nonexistent"].next)
-
- def testfirstaidkit__a__x_plugincli1(self):
- self.failUnlessRaises(exceptions.StopIteration, \
- self.udiffs["firstaidkit_-a_-x_plugincli1"].next)
+ self.command = ["./firstaidkit", "-P", "testsuite/cli/", "-a"]
+ (out, err) = subprocess.Popen(self.command, stdout=subprocess.PIPE, \
+ stderr=subprocess.PIPE).communicate()
+ self.output = out
+ self.trueMes = [ "init", "prepare", "diagnose", "clean"]
+ self.falseMes = [ "fix", "backup", "restore"]
+
+ def testOutput(self):
+ for elem in self.trueMes:
+ self.assertTrue(enteringM1[elem] in self.output, \
+ "message: '%s' not preesnt in output" % \
+ enteringM1[elem])
+ self.assertTrue(enteringM2[elem] in self.output, \
+ "message: '%s' not preesnt in output" % \
+ enteringM2[elem])
+
+ for elem in self.falseMes:
+ self.assertFalse(enteringM1[elem] in self.output, \
+ "message:'%s' is present in output" % \
+ enteringM1[elem])
+ self.assertFalse(enteringM2[elem] in self.output, \
+ "message '%s' is presetn in output" % \
+ enteringM2[elem])
+
+class FAKfirstaidkit__a_fix(unittest.TestCase):
+ def setUp(self):
+ self.command = ["./firstaidkit", "-P", "testsuite/cli/", "-a", "fix"]
+ (out, err) = subprocess.Popen(self.command, stdout=subprocess.PIPE, \
+ stderr=subprocess.PIPE).communicate()
+ self.output = out
+ self.mess = ["fix", "backup"]
+
+ def testOutput(self):
+ for elem in self.mess:
+ self.assertTrue(enteringM1[elem] in self.output, \
+ "message: '%s' is not present in output" % \
+ enteringM1[elem])
+ self.assertFalse(enteringM2[elem] in self.output, \
+ "message: '%s' is present in output" % \
+ enteringM2[elem])
+
+ self.assertTrue(psM["usingfix"] in self.output, \
+ "Plugin System '%s' message not in output" % \
+ psM["usingfix"])
+
+
+class FAKfirstaidkit__a_nonexistent(unittest.TestCase):
+ def setUp(self):
+ self.command = ["./firstaidkit", "-P", "testsuite/cli/", "-a", \
+ "nonexistent"]
+ (out, err) = subprocess.Popen(self.command, stdout=subprocess.PIPE, \
+ stderr=subprocess.PIPE).communicate()
+ self.output = out
+
+ def testOutput(self):
+ self.assertTrue(taskerM1["flownoexist"] in self.output, \
+ "Tasker '%s' message not present in output for plugincli1" % \
+ taskerM1["flownoexist"])
+
+ self.assertTrue(taskerM2["flownoexist"] in self.output, \
+ "Tasker '%s' message not present in output for plugincli2" % \
+ taskerM1["flownoexist"])
+
+class FAKfirstaidkit__a__x_plugincli1(unittest.TestCase):
+ def setUp(self):
+ self.command = ["./firstaidkit", "-P", "testsuite/cli/", "-a", \
+ "-x", "plugincli1"]
+ (out, err) = subprocess.Popen(self.command, stdout=subprocess.PIPE, \
+ stderr=subprocess.PIPE).communicate()
+ self.output = out
+ def test1(self):
+ for (key, val) in enteringM1.iteritems():
+ self.assertFalse(val in self.output, \
+ "There was a message containing plugincli1 related "\
+ "messages")
-class FlowExec(Cli):
- def testfirstaidkit__f_nonexistent(self):
- self.failUnlessRaises(exceptions.StopIteration, \
- self.udiffs["firstaidkit_-f_nonexistent"].next)
+class FAKfirstaidkit__f_nonexistent(unittest.TestCase):
+ def setUp(self):
+ self.command = ["./firstaidkit", "-P", "testsuite/cli/", "-f", \
+ "nonexistent"]
+ (out, err) = subprocess.Popen(self.command, stdout=subprocess.PIPE, \
+ stderr=subprocess.PIPE).communicate()
+ self.output = out
- def testfirstaidkit__f_plugincli1(self):
- self.failUnlessRaises(exceptions.StopIteration, \
- self.udiffs["firstaidkit_-f_plugincli1"].next)
+ def test1(self):
+ self.assertTrue(fakerror["pluginnoexist"] in self.output, \
+ "FAK error 'nonexistent plugin' message not present in output")
- def testfirstaidkit__f_plugincli1_fix(self):
- self.failUnlessRaises(exceptions.StopIteration, \
- self.udiffs["firstaidkit_-f_plugincli1_fix"].next)
- def testfirstaidkit__f_plugincli1_nonexistent(self):
- self.failUnlessRaises(exceptions.StopIteration, \
- self.udiffs["firstaidkit_-f_plugincli1_nonexistent"].next)
+class FAKfirstaidkit__f_plugincli1(unittest.TestCase):
+ def setUp(self):
+ self.command = ["./firstaidkit", "-P", "testsuite/cli/", "-f", \
+ "plugincli1"]
+ (out, err) = subprocess.Popen(self.command, stdout=subprocess.PIPE, \
+ stderr=subprocess.PIPE).communicate()
+ self.output = out
+ self.trueMes = ["init", "prepare", "diagnose", "clean"]
+ self.falseMes = ["fix", "backup", "restore"]
+
+ def testOutput(self):
+ for elem in self.trueMes:
+ self.assertTrue(enteringM1[elem] in self.output, \
+ "message: '%s' is not present in output" % \
+ enteringM1[elem])
+
+ for elem in self.falseMes:
+ self.assertFalse(enteringM1[elem] in self.output, \
+ "message: '%s' is present in output" % \
+ enteringM1[elem])
+
+ # No plugincli2 messages should be present
+ for elem in enteringM2:
+ self.assertFalse(enteringM2[elem] in self.output, \
+ "message: '%s' is present in output" % \
+ enteringM2[elem])
+
+class FAKfirstaidkit__f_plugincli1_fix(unittest.TestCase):
+ def setUp(self):
+ self.command = ["./firstaidkit", "-P", "testsuite/cli/", "-f", \
+ "plugincli1", "fix"]
+ (out, err) = subprocess.Popen(self.command, stdout=subprocess.PIPE, \
+ stderr=subprocess.PIPE).communicate()
+ self.output = out
+ self.trueMes = ["init", "prepare", "diagnose", "clean", "fix", "backup"]
+ self.falseMes = ["restore"]
+
+ def testOutput(self):
+ for elem in self.trueMes:
+ self.assertTrue(enteringM1[elem] in self.output, \
+ "message: '%s' is not present in output" % \
+ enteringM1[elem])
+
+ for elem in self.falseMes:
+ self.assertFalse(enteringM1[elem] in self.output, \
+ "message: '%s' is present in output" % \
+ enteringM1[elem])
+
+ # No plugincli2 messages should be present
+ for elem in enteringM2:
+ self.assertFalse(enteringM2[elem] in self.output, \
+ "message: '%s' is present in output" % \
+ enteringM2[elem])
+
+class FAKfirstaidkit__f_plugincli1_nonexistent(unittest.TestCase):
+ def setUp(self):
+ self.command = ["./firstaidkit", "-P", "testsuite/cli/", "-f", \
+ "plugincli1", "nonexistent"]
+ (out, err) = subprocess.Popen(self.command, stdout=subprocess.PIPE, \
+ stderr=subprocess.PIPE).communicate()
+ self.output = out
+ def testOutput(self):
+ self.assertTrue(taskerM1["flownoexist"] in self.output)
diff --git a/testsuite/cli/outputs/firstaidkit_-a b/testsuite/cli/outputs/firstaidkit_-a
deleted file mode 100755
index 269ba93..0000000
--- a/testsuite/cli/outputs/firstaidkit_-a
+++ /dev/null
@@ -1,17 +0,0 @@
-Backup system initialized
-Starting the Threads
-Do the work!
-INFO: You are not running the firstaidkit as root. Some plugins may not be available. (Task interpreter)
-INFO: Entering the init phase... (Plugincli2)
-INFO: Entering the prepare phase... (Plugincli2)
-INFO: Entering the diagnose phase... (Plugincli2)
-INFO: Entering the clean phase... (Plugincli2)
-INFO: Entering the init phase... (Plugincli1)
-INFO: Entering the prepare phase... (Plugincli1)
-INFO: Entering the diagnose phase... (Plugincli1)
-INFO: Entering the clean phase... (Plugincli1)
---- Info section ---
---------------------
-Waiting for the Threads
-Backup closed
-Done.
diff --git a/testsuite/cli/outputs/firstaidkit_-a_-x_plugincli1 b/testsuite/cli/outputs/firstaidkit_-a_-x_plugincli1
deleted file mode 100755
index 1f7a8f3..0000000
--- a/testsuite/cli/outputs/firstaidkit_-a_-x_plugincli1
+++ /dev/null
@@ -1,15 +0,0 @@
-Excluding plugin plugincli1
-
-Backup system initialized
-Starting the Threads
-Do the work!
-INFO: You are not running the firstaidkit as root. Some plugins may not be available. (Task interpreter)
-INFO: Entering the init phase... (Plugincli2)
-INFO: Entering the prepare phase... (Plugincli2)
-INFO: Entering the diagnose phase... (Plugincli2)
-INFO: Entering the clean phase... (Plugincli2)
---- Info section ---
---------------------
-Waiting for the Threads
-Backup closed
-Done.
diff --git a/testsuite/cli/outputs/firstaidkit_-a_fix b/testsuite/cli/outputs/firstaidkit_-a_fix
deleted file mode 100755
index 9bb6e81..0000000
--- a/testsuite/cli/outputs/firstaidkit_-a_fix
+++ /dev/null
@@ -1,19 +0,0 @@
-Backup system initialized
-Starting the Threads
-Do the work!
-INFO: You are not running the firstaidkit as root. Some plugins may not be available. (Task interpreter)
-INFO: Entering the init phase... (Plugincli1)
-INFO: Entering the prepare phase... (Plugincli1)
-INFO: Entering the diagnose phase... (Plugincli1)
-INFO: Entering the backup phase... (Plugincli1)
-INFO: Entering the fix phase... (Plugincli1)
-INFO: Entering the clean phase... (Plugincli1)
-INFO: Entering the init phase... (Plugincli2)
-INFO: Entering the prepare phase... (Plugincli2)
-INFO: Entering the diagnose phase... (Plugincli2)
-INFO: Entering the clean phase... (Plugincli2)
---- Info section ---
---------------------
-Waiting for the Threads
-Backup closed
-Done.
diff --git a/testsuite/cli/outputs/firstaidkit_-a_nonexistent b/testsuite/cli/outputs/firstaidkit_-a_nonexistent
deleted file mode 100755
index 392b189..0000000
--- a/testsuite/cli/outputs/firstaidkit_-a_nonexistent
+++ /dev/null
@@ -1,11 +0,0 @@
-Backup system initialized
-Starting the Threads
-Do the work!
-INFO: You are not running the firstaidkit as root. Some plugins may not be available. (Task interpreter)
-INFO: Plugin plugincli2 does not contain flow nonexistent (Task interpreter)
-INFO: Plugin plugincli1 does not contain flow nonexistent (Task interpreter)
---- Info section ---
---------------------
-Waiting for the Threads
-Backup closed
-Done.
diff --git a/testsuite/cli/outputs/firstaidkit_-f_nonexistent b/testsuite/cli/outputs/firstaidkit_-f_nonexistent
deleted file mode 100755
index 6f1915e..0000000
--- a/testsuite/cli/outputs/firstaidkit_-f_nonexistent
+++ /dev/null
@@ -1,8 +0,0 @@
-Backup system initialized
-Starting the Threads
-Do the work!
-INFO: You are not running the firstaidkit as root. Some plugins may not be available. (Task interpreter)
-FAK_ERROR: No plugin by the name of "nonexistent" was found.
-Waiting for the Threads
-Done.
-Backup closed
diff --git a/testsuite/cli/outputs/firstaidkit_-f_plugincli1 b/testsuite/cli/outputs/firstaidkit_-f_plugincli1
deleted file mode 100755
index 4d6d507..0000000
--- a/testsuite/cli/outputs/firstaidkit_-f_plugincli1
+++ /dev/null
@@ -1,13 +0,0 @@
-Backup system initialized
-Starting the Threads
-Do the work!
-INFO: You are not running the firstaidkit as root. Some plugins may not be available. (Task interpreter)
-INFO: Entering the init phase... (Plugincli1)
-INFO: Entering the prepare phase... (Plugincli1)
-INFO: Entering the diagnose phase... (Plugincli1)
-INFO: Entering the clean phase... (Plugincli1)
---- Info section ---
---------------------
-Waiting for the Threads
-Backup closed
-Done.
diff --git a/testsuite/cli/outputs/firstaidkit_-f_plugincli1_fix b/testsuite/cli/outputs/firstaidkit_-f_plugincli1_fix
deleted file mode 100755
index 2acd0ee..0000000
--- a/testsuite/cli/outputs/firstaidkit_-f_plugincli1_fix
+++ /dev/null
@@ -1,15 +0,0 @@
-Backup system initialized
-Starting the Threads
-Do the work!
-INFO: You are not running the firstaidkit as root. Some plugins may not be available. (Task interpreter)
-INFO: Entering the init phase... (Plugincli1)
-INFO: Entering the prepare phase... (Plugincli1)
-INFO: Entering the diagnose phase... (Plugincli1)
-INFO: Entering the backup phase... (Plugincli1)
-INFO: Entering the fix phase... (Plugincli1)
-INFO: Entering the clean phase... (Plugincli1)
---- Info section ---
---------------------
-Waiting for the Threads
-Backup closed
-Done.
diff --git a/testsuite/cli/outputs/firstaidkit_-f_plugincli1_nonexistent b/testsuite/cli/outputs/firstaidkit_-f_plugincli1_nonexistent
deleted file mode 100755
index ae8b0dd..0000000
--- a/testsuite/cli/outputs/firstaidkit_-f_plugincli1_nonexistent
+++ /dev/null
@@ -1,10 +0,0 @@
-Backup system initialized
-Starting the Threads
-Do the work!
-INFO: You are not running the firstaidkit as root. Some plugins may not be available. (Task interpreter)
-INFO: Plugin plugincli1 does not contain flow nonexistent (Task interpreter)
---- Info section ---
---------------------
-Waiting for the Threads
-Backup closed
-Done.