<?xml version="1.0" encoding="UTF-8"?>
<essay xml:lang="en" version="5.0" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:gal="http://norman.walsh.name/rdf/gallery#" xmlns:foaf="http://xmlns.com/foaf/0.1/">
<info>
    
    
    
    
    
    
    
    
    
    
<title>Bring out your tests</title><biblioid class="uri">http://norman.walsh.name/2007/09/05/xprocTests</biblioid>
<volumenum>10</volumenum>
<issuenum>88</issuenum>
<pubdate>2007-09-05T16:30:07-04:00</pubdate>
<date>$Date$</date>
<author>
      <personname>
<firstname>Norman</firstname>
	<surname>Walsh</surname>
</personname>
    </author>
<copyright>
      <year>2007</year>
      <holder>Norman Walsh</holder>
    </copyright>
<abstract>
<para>I've made another stab at the foundations for an XProc test suite.
Coming soon: test validation and the ability to upload (and maybe some day
run) your own tests.</para>
</abstract>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#Java"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#XProc"/>
</info>

<para xml:id="p1">Tests are going to be critical to getting
<wikipedia page="XML_pipeline">XProc</wikipedia> through
Candidate Recommendation stage in a timely fashion. (I hope we're going to
get to Last Call <emphasis>real soon now</emphasis>.)</para>

<para xml:id="p5">I've created a few more tests since
<link xlink:href="/2007/05/03/xprocTestSuite">we started collecting them</link>,
but I've also been pretty solidly heads-down hammering out what will eventually
be the aforementioned Last Call draft.</para>

<para xml:id="p2">To see the new test suite site, point your browser at
<link xlink:href="http://tests.xproc.org/"/>.</para>

<para xml:id="p3">The tests are now written in
<link xlink:href="http://tests.xproc.org/docs/testsuite.html">a
vocabulary<alt>The testsuite Vocabulary</alt></link> that encapsulates
the inputs and outputs instead of spraying them about in different
subdirectories. There's also support for tests that consume and produce
sequences of documents as well as for some post-processing (necessary,
for example, to test pipelines that write their output to disk).</para>

<para xml:id="p4">Some of the tests still use pipeline documents
<emphasis>as input</emphasis>. That's confusing, and will change
over time.</para>

<para xml:id="p6">As soon as I have my implementation running against this test
vocabulary, I'll start publishing a regular report. If you have an
implementation, let me know, and I'll arrange it so you can publish
yours too. I smell the <wikipedia page="Atom_%28standard%29">atom
publishing protocol</wikipedia> in my future.</para>

<para xml:id="p7">It's never too early to start writing tests.</para>

</essay>

