diff --git a/test_unixface/NDNTrafficClient.conf b/test_unixface/NDNTrafficClient.conf
new file mode 100644
index 0000000..5f6bf95
--- /dev/null
+++ b/test_unixface/NDNTrafficClient.conf
@@ -0,0 +1,9 @@
+##########
+TrafficPercentage=50
+Name=/example/A
+ExpectedContent=AAAAAAAA
+##########
+TrafficPercentage=50
+Name=/example/B
+ExpectedContent=BBBBBBBB
+##########
diff --git a/test_unixface/NDNTrafficServer.conf b/test_unixface/NDNTrafficServer.conf
new file mode 100644
index 0000000..1f4aab5
--- /dev/null
+++ b/test_unixface/NDNTrafficServer.conf
@@ -0,0 +1,7 @@
+##########
+Name=/example/A
+Content=AAAAAAAA
+##########
+Name=/example/B
+Content=BBBBBBBB
+##########
diff --git a/test_unixface/README.md b/test_unixface/README.md
new file mode 100644
index 0000000..01bb8ac
--- /dev/null
+++ b/test_unixface/README.md
@@ -0,0 +1,6 @@
+Test correctness of UNIX face and simple forwarding.
+
+1. Start NFD.
+2. Run traffic generator producer and consumer.
+3. Collect results.
+
diff --git a/test_unixface/__init__.py b/test_unixface/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test_unixface/__init__.py
diff --git a/test_unixface/test_unixface.py b/test_unixface/test_unixface.py
new file mode 100644
index 0000000..0dbfaeb
--- /dev/null
+++ b/test_unixface/test_unixface.py
@@ -0,0 +1,33 @@
+#!/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_unixface(unittest.TestCase):
+    """Test case for testing unix face"""
+
+    def setUp(self):
+        print "\nTesting unix face"
+        print "*****************************"
+        os.chdir("test_unixface")
+
+    def tearDown(self):
+        print "*****************************"
+        os.chdir("..")
+
+    def test_unixface(self):
+        ret = subprocess.call(["./unix-face-test.sh"], shell=True)
+        print "Test script return value:", ret
+        errormsg = {
+            1 : "ndn-traffic client does not end normally. See logs/client.log",
+            2 : "Data loss detected",
+        }
+        if (ret != 0):
+            self.fail(errormsg[ret])
diff --git a/test_unixface/unix-face-test.sh b/test_unixface/unix-face-test.sh
new file mode 100755
index 0000000..0599a8f
--- /dev/null
+++ b/test_unixface/unix-face-test.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+mkdir -p logs
+clean_up() {
+    r=$(sudo killall ndn-traffic-server 2>&1)
+    r=$(sudo killall nfd 2>&1)
+}
+sudo nfd > logs/nfd.log 2>&1 &
+sleep 2
+ndn-traffic-server NDNTrafficServer.conf > logs/server.log 2>&1 &
+sleep 2
+echo "Sending interests..."
+ndn-traffic -i 100 -c 100 NDNTrafficClient.conf > logs/client.log 2>&1
+clean_up
+output=$(grep "Total Interest Loss" logs/client.log | head -1 | cut -d= -f2 | cut -d' ' -f2 | cut -d% -f1)
+if [[ -z $output ]]
+then
+    echo "ndn-traffic client does not end normally. See logs/client.log"
+    exit 1
+fi
+if [[ $output != '0' ]]
+then
+    echo "Expected no interest Loss. Actual: $output%"
+    echo "For more information, please examine the log at \"$(pwd)/logs\""
+    exit 2
+fi
+echo "Unix Face Test PASSED"
