diff --git a/oft b/oft
index 9d5df6a..a3756da 100755
--- a/oft
+++ b/oft
@@ -78,6 +78,8 @@
     "log_dir"            : None,
     "debug"              : "verbose",
     "profile"            : False,
+    "xunit"              : False,
+    "xunit_dir"          : "xunit",
 
     # Test behavior options
     "relax"              : False,
@@ -182,6 +184,8 @@
     group.add_option("-q", "--quiet", action="store_const", dest="debug",
                      const="warning", help="Shortcut for --debug=warning")
     group.add_option("--profile", action="store_true", help="Write Python profile to profile.out")
+    group.add_option("--xunit", action="store_true", help="Enable xUnit-formatted results")
+    group.add_option("--xunit-dir", help="Output directory for xUnit-formatted results")
     parser.add_option_group(group)
 
     group = optparse.OptionGroup(parser, "Test behavior options")
@@ -240,6 +244,20 @@
 
     oftest.open_logfile('main')
 
+def xunit_setup(config):
+    """
+    Set up xUnit output based on config
+    """
+
+    if not config["xunit"]:
+        return
+
+    if config["xunit"] != None:
+        if os.path.exists(config["xunit_dir"]):
+            import shutil
+            shutil.rmtree(config["xunit_dir"])
+        os.makedirs(config["xunit_dir"])
+
 def pcap_setup(config):
     """
     Set up dataplane packet capturing based on config
@@ -371,6 +389,7 @@
 oftest.config.update(new_config)
 
 logging_setup(config)
+xunit_setup(config)
 logging.info("++++++++ " + time.asctime() + " ++++++++")
 
 # Pick an OpenFlow protocol module based on the configured version
@@ -530,7 +549,15 @@
         oftest.dataplane_instance.port_add(ifname, of_port)
 
     logging.info("*** TEST RUN START: " + time.asctime())
-    result = unittest.TextTestRunner(verbosity=2).run(suite)
+    if config["xunit"]:
+        import xmlrunner  # fail-fast if module missing
+
+        runner = xmlrunner.XMLTestRunner(output=config["xunit_dir"],
+                                         outsuffix="",
+                                         verbosity=2)
+        result = runner.run(suite)
+    else:
+        result = unittest.TextTestRunner(verbosity=2).run(suite)
     oftest.open_logfile('main')
     if oftest.testutils.skipped_test_count > 0:
         ts = " tests"
