diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py
index 018bec6..ec860d1 100644
--- a/Lib/test/test_cmd_line.py
+++ b/Lib/test/test_cmd_line.py
@@ -15,8 +15,11 @@
         popen2._cleanup()
         return data
 
-    def exit_code(self, cmd_line):
-        return subprocess.call([sys.executable, cmd_line], stderr=subprocess.PIPE)
+    def exit_code(self, *args):
+        cmd_line = [sys.executable]
+        cmd_line.extend(args)
+        return subprocess.call(cmd_line, stdout=subprocess.PIPE,
+                                         stderr=subprocess.PIPE)
 
     def test_directories(self):
         self.assertNotEqual(self.exit_code('.'), 0)
@@ -50,6 +53,38 @@
         version = 'Python %d.%d' % sys.version_info[:2]
         self.assertTrue(self.start_python('-V').startswith(version))
 
+    def test_run_module(self):
+        # Test expected operation of the '-m' switch
+        # Switch needs an argument
+        self.assertNotEqual(self.exit_code('-m'), 0)
+        # Check we get an error for a nonexistent module
+        self.assertNotEqual(
+            self.exit_code('-m', 'fnord43520xyz'),
+            0)
+        # Check the runpy module also gives an error for
+        # a nonexistent module
+        self.assertNotEqual(
+            self.exit_code('-m', 'runpy', 'fnord43520xyz'),
+            0)
+        # All good if module is located and run successfully
+        self.assertEqual(
+            self.exit_code('-m', 'timeit', '-n', '1'),
+            0)
+
+    def test_run_code(self):
+        # Test expected operation of the '-c' switch
+        # Switch needs an argument
+        self.assertNotEqual(self.exit_code('-c'), 0)
+        # Check we get an error for an uncaught exception
+        self.assertNotEqual(
+            self.exit_code('-c', 'raise Exception'),
+            0)
+        # All good if execution is successful
+        self.assertEqual(
+            self.exit_code('-c', 'pass'),
+            0)
+
+
 def test_main():
     test.test_support.run_unittest(CmdLineTest)
 
