diff --git a/test/Benchmark.cpp b/test/Benchmark.cpp
new file mode 100644
index 0000000..eede9ce
--- /dev/null
+++ b/test/Benchmark.cpp
@@ -0,0 +1,88 @@
+#include <iostream>
+#include <cmath>
+#include <transport/TTransportUtils.h>
+#include <protocol/TBinaryProtocol.h>
+#include <protocol/TJSONProtocol.h>
+#include "gen-cpp/DebugProtoTest_types.h"
+#include <time.h>
+#include "../lib/cpp/src/protocol/TDebugProtocol.h"
+
+class Timer {
+public:
+  timeval vStart;
+
+  Timer() {
+    gettimeofday(&vStart, 0);
+  }
+  void start() {
+    gettimeofday(&vStart, 0);
+  }
+
+  double frame() {
+    timeval vEnd;
+    gettimeofday(&vEnd, 0);
+    double dstart = vStart.tv_sec + ((double)vStart.tv_usec / 1000000.0);
+    double dend = vEnd.tv_sec + ((double)vEnd.tv_usec / 1000000.0);
+    return dend - dstart;
+  }
+
+};
+
+int main() {
+  using namespace std;
+  using namespace thrift::test::debug;
+  using namespace facebook::thrift::transport;
+  using namespace facebook::thrift::protocol;
+  using namespace boost;
+
+  OneOfEach ooe;
+  ooe.im_true   = true;
+  ooe.im_false  = false;
+  ooe.a_bite    = 0xd6;
+  ooe.integer16 = 27000;
+  ooe.integer32 = 1<<24;
+  ooe.integer64 = (uint64_t)6000 * 1000 * 1000;
+  ooe.double_precision = M_PI;
+  ooe.some_characters  = "JSON THIS! \"\1";
+  ooe.zomg_unicode     = "\xd7\n\a\t";
+  ooe.base64 = "\1\2\3\255";
+
+  shared_ptr<TMemoryBuffer> buf(new TMemoryBuffer());
+
+  int num = 1000000;
+
+  {
+    Timer timer;
+
+    for (int i = 0; i < num; i ++) {
+      buf->resetBuffer();
+      TBinaryProtocol prot(buf);
+      ooe.write(&prot);
+    }
+    cout << "Write: " << num / (1000 * timer.frame()) << " kHz" << endl;
+  }
+
+  uint8_t* data;
+  uint32_t datasize;
+
+  buf->getBuffer(&data, &datasize);
+
+  {
+
+    Timer timer;
+
+    for (int i = 0; i < num; i ++) {
+      OneOfEach ooe2;
+      shared_ptr<TMemoryBuffer> buf2(new TMemoryBuffer(data, datasize));
+      //buf2->resetBuffer(data, datasize);
+      TBinaryProtocol prot(buf2);
+      ooe2.read(&prot);
+
+      //cout << facebook::thrift::ThriftDebugString(ooe2) << endl << endl;
+    }
+    cout << " Read: " << num / (1000 * timer.frame()) << " kHz" << endl;
+  }
+
+
+  return 0;
+}
diff --git a/test/DebugProtoTest.cpp b/test/DebugProtoTest.cpp
index d736d95..98ff43c 100644
--- a/test/DebugProtoTest.cpp
+++ b/test/DebugProtoTest.cpp
@@ -6,7 +6,7 @@
 int main() {
   using std::cout;
   using std::endl;
-  using namespace thrift::test;
+  using namespace thrift::test::debug;
 
 
   OneOfEach ooe;
diff --git a/test/DebugProtoTest.thrift b/test/DebugProtoTest.thrift
index fb86bf4..515635e 100644
--- a/test/DebugProtoTest.thrift
+++ b/test/DebugProtoTest.thrift
@@ -1,4 +1,4 @@
-namespace cpp thrift.test
+namespace cpp thrift.test.debug
 namespace java thrift.test
 
 struct Doubles {
diff --git a/test/DenseProtoTest.cpp b/test/DenseProtoTest.cpp
index f50faca..c979e8f 100644
--- a/test/DenseProtoTest.cpp
+++ b/test/DenseProtoTest.cpp
@@ -40,7 +40,7 @@
   using std::cout;
   using std::endl;
   using boost::shared_ptr;
-  using namespace thrift::test;
+  using namespace thrift::test::debug;
   using namespace facebook::thrift::transport;
   using namespace facebook::thrift::protocol;
 
diff --git a/test/JSONProtoTest.cpp b/test/JSONProtoTest.cpp
index 30d712f..cc72b64 100644
--- a/test/JSONProtoTest.cpp
+++ b/test/JSONProtoTest.cpp
@@ -7,7 +7,7 @@
 int main() {
   using std::cout;
   using std::endl;
-  using namespace thrift::test;
+  using namespace thrift::test::debug;
   using facebook::thrift::transport::TMemoryBuffer;
   using facebook::thrift::protocol::TJSONProtocol;
 
diff --git a/test/Makefile.am b/test/Makefile.am
index c690790..5de2f1b 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -4,61 +4,77 @@
 SUBDIRS += java
 endif
 
+noinst_LTLIBRARIES = libtestgencpp.la
+libtestgencpp_la_SOURCES = \
+	gen-cpp/DebugProtoTest_types.cpp \
+	gen-cpp/OptionalRequiredTest_types.cpp \
+	gen-cpp/DebugProtoTest_types.cpp \
+	gen-cpp/PartiallyReflectable.cpp \
+	gen-cpp/Service.cpp \
+	gen-cpp/StressTest_types.cpp \
+	gen-cpp/SecondService.cpp \
+	gen-cpp/ThriftTest_constants.cpp \
+	gen-cpp/ThriftTest.cpp \
+	gen-cpp/ThriftTest_types.cpp
+
+libtestgencpp_la_LIBADD = $(top_srcdir)/lib/cpp/libthrift.la
+
+noinst_PROGRAMS = Benchmark
+
+Benchmark_SOURCES = \
+	Benchmark.cpp
+
+Benchmark_LDADD = libtestgencpp.la
+
 check_PROGRAMS = \
 	DebugProtoTest \
 	JSONProtoTest \
 	OptionalRequiredTest \
-	ReflectionTest
+	ReflectionTest \
+	UnitTests
 
 TESTS = \
 	$(check_PROGRAMS)
 
+UnitTests_SOURCES = \
+	UnitTestMain.cpp \
+	TMemoryBufferTest.cpp
+
+UnitTests_LDADD = libtestgencpp.la
 
 #
 # DebugProtoTest
 #
 DebugProtoTest_SOURCES = \
-	gen-cpp/DebugProtoTest_types.cpp \
 	DebugProtoTest.cpp
 
-DebugProtoTest_LDADD = \
-	$(top_srcdir)/lib/cpp/libthrift.la
+DebugProtoTest_LDADD = libtestgencpp.la
 
 
 #
 # JSONProtoTest
 #
 JSONProtoTest_SOURCES = \
-	gen-cpp/DebugProtoTest_types.cpp \
 	JSONProtoTest.cpp
 
-JSONProtoTest_LDADD = \
-	$(top_srcdir)/lib/cpp/libthrift.la
+JSONProtoTest_LDADD = libtestgencpp.la
 
 #
 # OptionalRequiredTest
 #
 OptionalRequiredTest_SOURCES = \
-	gen-cpp/OptionalRequiredTest_types.cpp \
 	OptionalRequiredTest.cpp
 
-OptionalRequiredTest_LDADD = \
-	$(top_srcdir)/lib/cpp/libthrift.la
+OptionalRequiredTest_LDADD = libtestgencpp.la
 
 
 #
 # ReflectionTest
 #
 ReflectionTest_SOURCES = \
-	gen-cpp/DebugProtoTest_types.cpp \
-	gen-cpp/PartiallyReflectable.cpp \
-	gen-cpp/Service.cpp \
-	gen-cpp/StressTest_types.cpp \
 	ReflectionTest.cpp
 
-ReflectionTest_LDADD = \
-	$(top_srcdir)/lib/cpp/libthrift.la
-
+ReflectionTest_LDADD = libtestgencpp.la
 
 #
 # Common thrift code generation rules
@@ -74,6 +90,8 @@
 gen-cpp/Service.cpp gen-cpp/StressTest_types.cpp: StressTest.thrift
 	$(THRIFT) --gen cpp:dense,reflection_limited $<
 
+gen-cpp/SecondService.cpp gen-cpp/ThriftTest_constants.cpp gen-cpp/ThriftTest.cpp gen-cpp/ThriftTest_types.cpp: ThriftTest.thrift
+	$(THRIFT) --gen cpp:dense,reflection_limited $<
 
 INCLUDES = \
 	-I$(top_srcdir)/lib/cpp/src
diff --git a/test/ReflectionTest.cpp b/test/ReflectionTest.cpp
index 8193a3e..d60b52c 100644
--- a/test/ReflectionTest.cpp
+++ b/test/ReflectionTest.cpp
@@ -8,7 +8,7 @@
   using std::endl;
 
   facebook::thrift::reflection::limited::Service srv1;
-  thrift::test::PartiallyReflectableIf::getStaticLimitedReflection(srv1);
+  thrift::test::debug::PartiallyReflectableIf::getStaticLimitedReflection(srv1);
   cout << facebook::thrift::ThriftDebugString(srv1) << endl << endl;
 
   facebook::thrift::reflection::limited::Service srv2;
diff --git a/test/TMemoryBufferTest.cpp b/test/TMemoryBufferTest.cpp
index 2b2f90c..970ec47 100644
--- a/test/TMemoryBufferTest.cpp
+++ b/test/TMemoryBufferTest.cpp
@@ -1,11 +1,4 @@
-/*
-thrift -cpp ThriftTest.thrift
-g++ -Wall -g -I../lib/cpp/src -I/usr/local/include/boost-1_33_1 \
-  TMemoryBufferTest.cpp gen-cpp/ThriftTest_types.cpp \
-  ../lib/cpp/.libs/libthrift.a -o TMemoryBufferTest
-./TMemoryBufferTest
-*/
-
+#include <boost/test/unit_test.hpp>
 #include <iostream>
 #include <climits>
 #include <cassert>
@@ -13,9 +6,9 @@
 #include <protocol/TBinaryProtocol.h>
 #include "gen-cpp/ThriftTest_types.h"
 
+BOOST_AUTO_TEST_SUITE( TMemoryBufferTest )
 
-int main(int argc, char** argv) {
-  {
+BOOST_AUTO_TEST_CASE( test_roundtrip ) {
     using facebook::thrift::transport::TMemoryBuffer;
     using facebook::thrift::protocol::TBinaryProtocol;
     using boost::shared_ptr;
@@ -41,6 +34,7 @@
     assert(a == a2);
   }
 
+BOOST_AUTO_TEST_CASE( test_copy )
   {
     using facebook::thrift::transport::TMemoryBuffer;
     using std::string;
@@ -66,6 +60,7 @@
     assert(str4 == "67891234");
   }
 
+BOOST_AUTO_TEST_CASE( test_exceptions )
   {
     using facebook::thrift::transport::TTransportException;
     using facebook::thrift::transport::TMemoryBuffer;
@@ -90,5 +85,4 @@
     }
   }
 
-
-}
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/test/ThriftTest.thrift b/test/ThriftTest.thrift
index b11e1f2..275b574 100644
--- a/test/ThriftTest.thrift
+++ b/test/ThriftTest.thrift
@@ -120,3 +120,13 @@
        11: string newstring,
        12: i32 end_in_both
 }
+
+struct ListTypeVersioningV1 {
+       1: list<i32> myints;
+       2: string hello;
+}
+
+struct ListTypeVersioningV2 {
+       1: list<string> strings;
+       2: string hello;
+}
\ No newline at end of file
diff --git a/test/UnitTestMain.cpp b/test/UnitTestMain.cpp
new file mode 100644
index 0000000..75c2fb1
--- /dev/null
+++ b/test/UnitTestMain.cpp
@@ -0,0 +1,2 @@
+#define BOOST_TEST_MODULE thrift
+#include <boost/test/included/unit_test.hpp>
diff --git a/test/py/RunClientServer.py b/test/py/RunClientServer.py
index 21f4531..f05dc5d 100755
--- a/test/py/RunClientServer.py
+++ b/test/py/RunClientServer.py
@@ -5,10 +5,13 @@
 import os
 import signal
 
-serverproc = subprocess.Popen([sys.executable, "TestServer.py"])
+def relfile(fname):
+    return os.path.join(os.path.dirname(__file__), fname)
+
+serverproc = subprocess.Popen([sys.executable, relfile("TestServer.py")])
 try:
 
-    ret = subprocess.call([sys.executable, "TestClient.py"])
+    ret = subprocess.call([sys.executable, relfile("TestClient.py")])
     if ret != 0:
         raise Exception("subprocess failed")
 finally:
