diff --git a/test_broadcast/test_broadcast.py b/test_broadcast/test_broadcast.py
new file mode 100644
index 0000000..da34c29
--- /dev/null
+++ b/test_broadcast/test_broadcast.py
@@ -0,0 +1,34 @@
+#!/usr/bin/python2
+# -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+#
+# Copyright (C) 2014 University of Arizona
+# Author: Yi Huang <ltr120@email.arizona.edu>
+# See COPYING for copyright and distribution information.
+#
+
+import os
+import unittest
+import subprocess
+
+class test_broadcast(unittest.TestCase):
+    """Test case for broadcast scenario"""
+
+    def setUp(self):
+        print "\nTesting Broadcast scenario"
+        print "**************************"
+        os.chdir("test_broadcast")
+
+    def tearDown(self):
+        print "**************************"
+        os.chdir("..")
+
+    def test_unixface(self):
+        ret = subprocess.call(["./broadcast-test.sh"], shell=True)
+        print "Test script return value:", ret
+        errormsg = {
+            1 : "B did not receive at least 80 Interests.",
+            2 : "C did not receive at least 80 Interests.",
+            3 : "Incoming Data packets in D exceeded 120.",
+        }
+        if ret != 0:
+            self.fail(errormsg[ret])
