<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you 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 at

    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.     
--><!--
   Lists the test files from the individual modules that will be combined
   together to form the final list file containing all test cases for the TCK. 
 --><fl:filelist xmlns:fl="http://www.apache.org/2014/javax/portlet/tck/filelist">
   <fl:file>tck-TestModule1-tests.xml</fl:file>
   <fl:file>tck-TestModule2-tests.xml</fl:file>
   <fl:file>tck-TestModule3-tests.xml</fl:file>
   <fl:file>tck-V2AnnotationTests-tests.xml</fl:file>
   <fl:file>tck-V2EnvironmentTests-tests.xml</fl:file>
   <fl:file>tck-V2ExceptionTests-tests.xml</fl:file>
   <fl:file>tck-V2FilterTests-tests.xml</fl:file>
   <fl:file>tck-V2PortletTests-tests.xml</fl:file>
   <fl:file>tck-V2RequestTests-tests.xml</fl:file>
   <fl:file>tck-V2ResponseTests-tests.xml</fl:file>
   <fl:file>tck-V2URLTests-tests.xml</fl:file>
   <fl:file>tck-V2WrapperTests-tests.xml</fl:file>
   <fl:file>tck-V2AddlEnvironmentTests-tests.xml</fl:file>
   <fl:file>tck-V2AddlFilterTests-tests.xml</fl:file>
   <fl:file>tck-V2AddlPortletTests-tests.xml</fl:file>
   <fl:file>tck-V2AddlRequestTests-tests.xml</fl:file>
   <fl:file>tck-V2AddlResponseTests-tests.xml</fl:file>
   <fl:file>tck-V2PortletTagLibraryTests-tests.xml</fl:file>
   <fl:file>tck-V2PortletTagLibraryTests2-tests.xml</fl:file>
   <fl:file>tck-V2PortletTagLibraryTests3-tests.xml</fl:file>
   <fl:file>tck-V2DispatcherTests-tests.xml</fl:file>
   <fl:file>tck-V2DispatcherTests2-tests.xml</fl:file>
   <fl:file>tck-V2DispatcherTests3S-tests.xml</fl:file>
   <fl:file>tck-V2DispatcherTests4-tests.xml</fl:file>
   <fl:file>tck-V2DispatcherTests5-tests.xml</fl:file>
   <fl:file>tck-V2DispatcherTests6-tests.xml</fl:file>
   <fl:file>tck-V2DispatcherReqRespTests1-tests.xml</fl:file>
   <fl:file>tck-V2DispatcherReqRespTests2-tests.xml</fl:file>
   <fl:file>tck-V2DispatcherReqRespTests3-tests.xml</fl:file>
   <fl:file>tck-V2DispatcherReqRespTests4-tests.xml</fl:file>
   <fl:file>tck-V2DispatcherReqRespTests5S-tests.xml</fl:file>
   <fl:file>tck-V2SigTestsAction-tests.xml</fl:file>
   <fl:file>tck-V2SigTestsEnv-tests.xml</fl:file>
   <fl:file>tck-V2SigTestsEvent-tests.xml</fl:file>
   <fl:file>tck-V2SigTestsException-tests.xml</fl:file>
   <fl:file>tck-V2SigTestsFilter-tests.xml</fl:file>
   <fl:file>tck-V2SigTestsRender-tests.xml</fl:file>
   <fl:file>tck-V2SigTestsResource-tests.xml</fl:file>
   <fl:file>tck-V2SigTestsURL-tests.xml</fl:file>
   <fl:file>tck-V2SigTestsWrapper-tests.xml</fl:file>
   <fl:file>tck-V3PortletContextTests-tests.xml</fl:file>
   <fl:file>tck-V3PortletConfigTests-tests.xml</fl:file>
   <fl:file>tck-V3URLTests-tests.xml</fl:file>
   <fl:file>tck-V3RenderStateTests-tests.xml</fl:file>
<fl:file>tck-V3HeaderPortletTests-tests.xml</fl:file>
<fl:file>tck-V3PortletParametersTests-tests.xml</fl:file>
</fl:filelist>
