Index: setuptools/tests/__init__.py
===================================================================
--- setuptools/tests/__init__.py	(revision 62509)
+++ setuptools/tests/__init__.py	(working copy)
@@ -337,16 +337,25 @@
         self.failUnless(isinstance(test_cmd, distutils.cmd.Command))
 
     def testLongOptSuiteWNoDefault(self):
-        ts1 = makeSetup(script_args=['test','--test-suite=foo.tests.suite'])
+        ts1 = makeSetup(script_args=['test','--test-suites=foo.tests.suite'])
         ts1 = ts1.get_command_obj('test')
         ts1.ensure_finalized()
-        self.assertEqual(ts1.test_suite, 'foo.tests.suite')
+        self.assertEqual(ts1.test_suites, 'foo.tests.suite')
 
+        ts1 = makeSetup(script_args=['test','--test-suites=foo.tests.suite,bar.tests.suite'])
+        ts1 = ts1.get_command_obj('test')
+        ts1.ensure_finalized()
+        self.assertEqual(ts1.test_suites, 'foo.tests.suite,bar.tests.suite')
+
     def testDefaultSuite(self):
         ts2 = makeSetup(test_suite='bar.tests.suite').get_command_obj('test')
         ts2.ensure_finalized()
-        self.assertEqual(ts2.test_suite, 'bar.tests.suite')
+        self.assertEqual(ts2.test_suites, 'bar.tests.suite')
 
+        ts2 = makeSetup(test_suite='foo.tests.suite,bar.tests.suite').get_command_obj('test')
+        ts2.ensure_finalized()
+        self.assertEqual(ts2.test_suites, 'foo.tests.suite,bar.tests.suite')
+
     def testDefaultWModuleOnCmdLine(self):
         ts3 = makeSetup(
             test_suite='bar.tests',
@@ -354,7 +363,7 @@
         ).get_command_obj('test')
         ts3.ensure_finalized()
         self.assertEqual(ts3.test_module, 'foo.tests')
-        self.assertEqual(ts3.test_suite,  'foo.tests.test_suite')
+        self.assertEqual(ts3.test_suites,  'foo.tests.test_suite')
 
     def testConflictingOptions(self):
         ts4 = makeSetup(
@@ -365,4 +374,4 @@
     def testNoSuite(self):
         ts5 = makeSetup().get_command_obj('test')
         ts5.ensure_finalized()
-        self.assertEqual(ts5.test_suite, None)
+        self.assertEqual(ts5.test_suites, None)
Index: setuptools/command/test.py
===================================================================
--- setuptools/command/test.py	(revision 62509)
+++ setuptools/command/test.py	(working copy)
@@ -47,29 +47,29 @@
 
     user_options = [
         ('test-module=','m', "Run 'test_suite' in specified module"),
-        ('test-suite=','s',
-            "Test suite to run (e.g. 'some_module.test_suite')"),
+        ('test-suites=','s',
+            "Test suites to run (e.g. 'some_module.test_suite,another_module.another_suite')"),
     ]
 
     def initialize_options(self):
-        self.test_suite = None
+        self.test_suites = None
         self.test_module = None
         self.test_loader = None
 
 
     def finalize_options(self):
 
-        if self.test_suite is None:
+        if self.test_suites is None:
             if self.test_module is None:
-                self.test_suite = self.distribution.test_suite
+                self.test_suites = self.distribution.test_suite
             else:
-                self.test_suite = self.test_module+".test_suite"
+                self.test_suites = self.test_module+".test_suite"
         elif self.test_module:
             raise DistutilsOptionError(
                 "You may specify a module or a suite, but not both"
             )
 
-        self.test_args = [self.test_suite]
+        self.test_args = self.test_suites and self.test_suites.split(',') or []
 
         if self.verbose:
             self.test_args.insert(0,'--verbose')
@@ -112,7 +112,7 @@
         if self.distribution.tests_require:
             self.distribution.fetch_build_eggs(self.distribution.tests_require)
 
-        if self.test_suite:
+        if self.test_suites:
             cmd = ' '.join(self.test_args)
             if self.dry_run:
                 self.announce('skipping "unittest %s" (dry run)' % cmd)
Index: setuptools.txt
===================================================================
--- setuptools.txt	(revision 62509)
+++ setuptools.txt	(working copy)
@@ -2266,8 +2266,8 @@
 command itself (e.g. ``setup.py test -q``).  There is one other option
 available:
 
-``--test-suite=NAME, -s NAME``
-    Specify the test suite (or module, class, or method) to be run
+``--test-suites=NAME[,NAME], -s NAME[,NAME]``
+    Specify the test suites (or module, class, or method) to be run
     (e.g. ``some_module.test_suite``).  The default for this option can be
     set by giving a ``test_suite`` argument to the ``setup()`` function, e.g.::
 
@@ -2277,7 +2277,7 @@
         )
 
     If you did not set a ``test_suite`` in your ``setup()`` call, and do not
-    provide a ``--test-suite`` option, an error will occur.
+    provide a ``--test-suites`` option, an error will occur.
 
 
 .. _upload:
