<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>src/etap/Makefile.am</filename>
    </added>
    <added>
      <filename>src/etap/etap.erl</filename>
    </added>
    <added>
      <filename>src/etap/etap_application.erl</filename>
    </added>
    <added>
      <filename>src/etap/etap_can.erl</filename>
    </added>
    <added>
      <filename>src/etap/etap_exception.erl</filename>
    </added>
    <added>
      <filename>src/etap/etap_process.erl</filename>
    </added>
    <added>
      <filename>src/etap/etap_report.erl</filename>
    </added>
    <added>
      <filename>src/etap/etap_request.erl</filename>
    </added>
    <added>
      <filename>src/etap/etap_string.erl</filename>
    </added>
    <added>
      <filename>src/etap/etap_web.erl</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -343,3 +343,29 @@ For the src/erlang-oauth component:
   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
   OTHER DEALINGS IN THE SOFTWARE.
+
+For the src/etap component:
+
+  Copyright (c) 2008-2009 Nick Gerakines &lt;nick@gerakines.net&gt;
+
+  Permission is hereby granted, free of charge, to any person
+  obtaining a copy of this software and associated documentation
+  files (the &quot;Software&quot;), to deal in the Software without
+  restriction, including without limitation the rights to use,
+  copy, modify, merge, publish, distribute, sublicense, and/or sell
+  copies of the Software, and to permit persons to whom the
+  Software is furnished to do so, subject to the following
+  conditions:
+  
+  The above copyright notice and this permission notice shall be
+  included in all copies or substantial portions of the Software.
+  
+  THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,
+  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+  OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+  WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+  OTHER DEALINGS IN THE SOFTWARE.
+</diff>
      <filename>LICENSE</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,7 @@
 ## License for the specific language governing permissions and limitations under
 ## the License.
 
-SUBDIRS = bin etc src/couchdb src/erlang-oauth src/ibrowse src/mochiweb share test var utils
+SUBDIRS = bin etc src/couchdb src/erlang-oauth src/etap src/ibrowse src/mochiweb share test var utils
 
 localdoc_DATA = AUTHORS.gz BUGS.gz CHANGES.gz NEWS.gz README.gz THANKS.gz
 
@@ -43,7 +43,9 @@ cover: dev
 	rm -f cover/*.coverdata
 	COVER=1 COVER_BIN=./src/couchdb/ prove test/etap/*.t
 	SRC=./src/couchdb/ \
-	    $(ERL) -noshell -eval 'etap_report:create()' \
+	    $(ERL) -noshell \
+		-pa src/etap \
+		-eval 'etap_report:create()' \
 	    -s init stop &gt; /dev/null 2&gt;&amp;1
 
 dev: all</diff>
      <filename>Makefile.am</filename>
    </modified>
    <modified>
      <diff>@@ -34,6 +34,10 @@ This product also includes the following third-party components:
 
    Copyright 2009, Tim Fletcher &lt;http://tfletcher.com/&gt;
 
+ * ETap (http://github.com/ngerakines/etap/)
+
+   Copyright 2009, Nick Gerakines &lt;nick@gerakines.net&gt;
+
  * mimeparse.js (http://code.google.com/p/mimeparse/)
 
    Copyright 2009, Chris Anderson &lt;jchris@apache.org&gt;</diff>
      <filename>NOTICE</filename>
    </modified>
    <modified>
      <diff>@@ -346,6 +346,7 @@ AC_CONFIG_FILES([src/couchdb/couch.app.tpl])
 AC_CONFIG_FILES([src/couchdb/Makefile])
 AC_CONFIG_FILES([src/couchdb/priv/Makefile])
 AC_CONFIG_FILES([src/erlang-oauth/Makefile])
+AC_CONFIG_FILES([src/etap/Makefile])
 AC_CONFIG_FILES([src/ibrowse/Makefile])
 AC_CONFIG_FILES([src/mochiweb/Makefile])
 AC_CONFIG_FILES([test/Makefile])</diff>
      <filename>configure.ac</filename>
    </modified>
    <modified>
      <diff>@@ -62,6 +62,7 @@
 ^src/couchdb/priv/Makefile.in
 ^src/couchdb/priv/couchspawnkillable
 ^src/erlang-oauth/*
+^src/etap/*
 ^src/ibrowse/*
 ^src/mochiweb/*
 ^stamp-h1</diff>
      <filename>license.skip</filename>
    </modified>
    <modified>
      <diff>@@ -17,6 +17,7 @@
 % Test that we can load each module.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(39),
     Modules = [</diff>
      <filename>test/etap/001-load.t</filename>
    </modified>
    <modified>
      <diff>@@ -13,6 +13,7 @@
 
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(3),
     etap:is(</diff>
      <filename>test/etap/002-erl-driver.t</filename>
    </modified>
    <modified>
      <diff>@@ -15,6 +15,7 @@
 filename() -&gt; &quot;./test/etap/temp.010&quot;.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(16),
     case (catch test()) of</diff>
      <filename>test/etap/010-file-basics.t</filename>
    </modified>
    <modified>
      <diff>@@ -18,6 +18,7 @@ filename() -&gt; &quot;./test/etap/temp.011&quot;.
 sizeblock() -&gt; 4096. % Need to keep this in sync with couch_file.erl
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     {S1, S2, S3} = now(),
     random:seed(S1, S2, S3),</diff>
      <filename>test/etap/011-file-headers.t</filename>
    </modified>
    <modified>
      <diff>@@ -20,6 +20,7 @@ rows() -&gt; 250.
 -record(btree, {fd, root, extract_kv, assemble_kv, less, reduce}).
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(48),
     case (catch test()) of</diff>
      <filename>test/etap/020-btree-basics.t</filename>
    </modified>
    <modified>
      <diff>@@ -18,6 +18,7 @@ filename() -&gt; &quot;./test/etap/temp.021&quot;.
 rows() -&gt; 1000.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(8),
     case (catch test()) of</diff>
      <filename>test/etap/021-btree-reductions.t</filename>
    </modified>
    <modified>
      <diff>@@ -20,6 +20,7 @@
 -record(att, {name, type, len, md5= &lt;&lt;&gt;&gt;, revpos=0, data}).
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(26),
     case (catch test()) of</diff>
      <filename>test/etap/030-doc-from-json.t</filename>
    </modified>
    <modified>
      <diff>@@ -20,6 +20,7 @@
 -record(att, {name, type, len, md5= &lt;&lt;&gt;&gt;, revpos=0, data}).
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(12),
     case (catch test()) of</diff>
      <filename>test/etap/031-doc-to-json.t</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@
 % the License.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     application:start(crypto),
 </diff>
      <filename>test/etap/040-util.t</filename>
    </modified>
    <modified>
      <diff>@@ -38,6 +38,7 @@ run_test(IniFiles, Test) -&gt;
     end.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     application:start(crypto),
     etap:plan(unknown),</diff>
      <filename>test/etap/041-uuid-gen.t</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@
 % the License.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(13),
     case (catch test()) of</diff>
      <filename>test/etap/050-stream.t</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@
 % the License.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(16),
     case (catch test()) of</diff>
      <filename>test/etap/060-kt-merging.t</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@
 % the License.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(4),
     case (catch test()) of</diff>
      <filename>test/etap/061-kt-missing-leaves.t</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@
 % the License.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(6),
     case (catch test()) of</diff>
      <filename>test/etap/062-kt-remove-leaves.t</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@
 % the License.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(11),
     case (catch test()) of</diff>
      <filename>test/etap/063-kt-get-leaves.t</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@
 % the License.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(4),
     case (catch test()) of</diff>
      <filename>test/etap/064-kt-counting.t</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@
 % the License.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(3),
     case (catch test()) of</diff>
      <filename>test/etap/065-kt-stemming.t</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@
 % the License.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     code:add_pathz(&quot;src/mochiweb&quot;),
 </diff>
      <filename>test/etap/070-couch-db.t</filename>
    </modified>
    <modified>
      <diff>@@ -17,6 +17,7 @@ default_config() -&gt;
     &quot;etc/couchdb/default_dev.ini&quot;.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(12),
     case (catch test()) of</diff>
      <filename>test/etap/080-config-get-set.t</filename>
    </modified>
    <modified>
      <diff>@@ -39,6 +39,7 @@ run_tests(IniFiles, Tests) -&gt;
     end.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(17),
 </diff>
      <filename>test/etap/081-config-override.t</filename>
    </modified>
    <modified>
      <diff>@@ -17,6 +17,7 @@ default_config() -&gt;
     &quot;etc/couchdb/default_dev.ini&quot;.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(5),
     case (catch test()) of</diff>
      <filename>test/etap/082-config-register.t</filename>
    </modified>
    <modified>
      <diff>@@ -17,6 +17,7 @@ default_config() -&gt;
     &quot;etc/couchdb/default_dev.ini&quot;.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(3),
     case (catch test()) of</diff>
      <filename>test/etap/083-config-no-files.t</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@
 % the License.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(16),
     case (catch test()) of</diff>
      <filename>test/etap/090-task-status.t</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@
 % the License.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(8),
     case (catch test()) of</diff>
      <filename>test/etap/100-ref-counter.t</filename>
    </modified>
    <modified>
      <diff>@@ -39,6 +39,7 @@ server() -&gt; &quot;http://127.0.0.1:5984/&quot;.
 dbname() -&gt; &quot;etap-test-db&quot;.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     code:add_pathz(&quot;src/ibrowse&quot;),
     code:add_pathz(&quot;src/mochiweb&quot;),</diff>
      <filename>test/etap/110-replication-httpc.t</filename>
    </modified>
    <modified>
      <diff>@@ -38,6 +38,7 @@
     conn = nil
 }).
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     code:add_pathz(&quot;src/ibrowse&quot;),
     code:add_pathz(&quot;src/mochiweb&quot;),</diff>
      <filename>test/etap/111-replication-changes-feed.t</filename>
    </modified>
    <modified>
      <diff>@@ -40,6 +40,7 @@
 }).
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     code:add_pathz(&quot;src/ibrowse&quot;),
     code:add_pathz(&quot;src/mochiweb&quot;),</diff>
      <filename>test/etap/112-replication-missing-revs.t</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@
 % the License.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(11),
     case (catch test()) of</diff>
      <filename>test/etap/120-stats-collect.t</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,7 @@
 % the License.
 
 main(_) -&gt;
+    code:add_patha(&quot;src/etap&quot;),
     code:add_pathz(&quot;src/couchdb&quot;),
     etap:plan(unknown),
     case (catch test()) of</diff>
      <filename>test/etap/121-stats-aggregates.t</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>5faad6c14569616482722c7502cd1cbdad3f9205</id>
    </parent>
  </parents>
  <author>
    <name>davisp</name>
    <email>davisp@13f79535-47bb-0310-9956-ffa450edef68</email>
  </author>
  <url>http://github.com/halorgium/couchdb/commit/65bb7da4d1a9bb21ccc060bb51765c227377b919</url>
  <id>65bb7da4d1a9bb21ccc060bb51765c227377b919</id>
  <committed-date>2009-09-28T19:38:18-07:00</committed-date>
  <authored-date>2009-09-28T19:38:18-07:00</authored-date>
  <message>Add ETap to CouchDB's SVN repository.

This pulls in ETap as an included dependency. As per directions of the ASF the NOTICE and LICENSE have been updated. Tests have been updated to include etap on Erlang's code path. license.skip was updated for make distcheck. This only affects running the Erlang test suite. 

Noah is awesome.



git-svn-id: http://svn.apache.org/repos/asf/couchdb/trunk@819799 13f79535-47bb-0310-9956-ffa450edef68</message>
  <tree>59bf3af8ae1b074edf286b541eb2cfc550122a0b</tree>
  <committer>
    <name>davisp</name>
    <email>davisp@13f79535-47bb-0310-9956-ffa450edef68</email>
  </committer>
</commit>
