<!--
 ! Copyright 2009-2013 by The Regents of the University of California
 ! Licensed under the Apache License, Version 2.0 (the "License");
 ! you may not use this file except in compliance with the License.
 ! you may obtain a copy of the License from
 ! 
 !     http://www.apache.org/licenses/LICENSE-2.0
 ! 
 ! Unless required by applicable law or agreed to in writing, software
 ! distributed under the License is distributed on an "AS IS" BASIS,
 ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 ! See the License for the specific language governing permissions and
 ! limitations under the License.
 !-->
<test-suite
    xmlns="urn:xml.testframework.asterix.ics.uci.edu"
    ResultOffsetPath="results"
    QueryOffsetPath="queries"
    QueryFileExtension=".aql">
    <!-- By default no test are listed here. This is only for individual testing purposes. -->
    <!-- The following test case is commented out as an example. -->
    <test-group name="repeated-tests">
<!--
        <test-case FilePath="records/get-record-fields">
            <compilation-unit name="tiny-social-example">
                <output-dir compare="Text">tiny-social-example</output-dir>
            </compilation-unit>
        </test-case>
-->
    </test-group>
</test-suite>
