<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="testConf.xsl"?>
<!--
   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.
-->
<configuration>
  <!-- Normal mode is test. To run just the commands and dump the output
       to the log, set it to nocompare -->
  <mode>test</mode>
  
  <!--  Comparator types:
           ExactComparator
           SubstringComparator
           RegexpComparator
           TokenComparator
           -->
  <tests>
    <test> <!--Tested -->
      <description>refreshServiceAcl: refreshing security authorization policy for jobtracker</description>
      <test-commands>
        <mr-admin-command>-jt JOBTRACKER -refreshServiceAcl </mr-admin-command>
      </test-commands>
      <cleanup-commands>
        <!-- No cleanup -->
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>ExactComparator</type>
          <expected-output></expected-output>
        </comparator>
      </comparators>
    </test>
    
    <!-- Test for Archive -->
    <test> <!-- TESTED -->
      <description>Archive: Archive does not occur in the destination</description>
      <test-commands>
        <command>-fs NAMENODE -touchz /dir0/file0</command>
        <command>-fs NAMENODE -mkdir /dest</command>
        <archive-command>-fs NAMENODE -archiveName dest/test.har -p / dir0/ </archive-command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /dir0 /dest</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>archive -archiveName NAME -p &lt;parent path&gt; &lt;src&gt;\* &lt;dest&gt;</expected-output>
        </comparator>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>Invalid name for archives. dest/test.har</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Archive does not get overwritten without any warning</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -mkdir /dir0/dir1</command>
        <command>-fs NAMENODE -mkdir /dir0/dir2</command>
        <command>-fs NAMENODE -touchz /dir0/file0</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file1</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file2</command>
        <command>-fs NAMENODE -touchz /dir0/dir2/file1</command>
        <command>-fs NAMENODE -mkdir /dest</command>
        <archive-command>-fs NAMENODE -archiveName dir0.har -p / dir0/ /dest</archive-command>
        <archive-command>-fs NAMENODE -archiveName dir0.har -p / dir0/ /dest</archive-command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /dir0 /dest</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>Invalid Output: /dest/dir0.har</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Archive does not show null message</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir bar</command>
        <archive-command>-fs NAMENODE -archiveName foo.har -p . foo .</archive-command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /\*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>SubstringComparator</type>
          <expected-output>The resolved paths set is empty.</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: source and destination are same</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -mkdir /dir0/dir1</command>
        <command>-fs NAMENODE -mkdir /dir0/dir2</command>
        <command>-fs NAMENODE -touchz /dir0/file0</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file1</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file2</command>
        <command>-fs NAMENODE -touchz /dir0/dir2/file1</command>
        <archive-command>-fs NAMENODE -archiveName dir0.har -p / dir0/ /dir0/</archive-command>
        <command>-fs NAMENODE -ls /dir0/</command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>Found 4 items</expected-output>
        </comparator>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>drwxr-xr-x( )*-( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*/dir0/dir0.har</expected-output>
        </comparator>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>drwxr-xr-x( )*-( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*/dir0/dir1</expected-output>
        </comparator>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>drwxr-xr-x( )*-( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*/dir0/dir2</expected-output>
        </comparator>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>-rw-r--r--( )*1( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*/dir0/file0</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Destination is an existing file</description>
      <test-commands>
        <command>-fs NAMENODE -touchz /file1</command>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -mkdir /dir0/dir1</command>
        <command>-fs NAMENODE -mkdir /dir0/dir2</command>
        <command>-fs NAMENODE -touchz /dir0/file0</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file1</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file2</command>
        <command>-fs NAMENODE -touchz /dir0/dir2/file1</command>
        <command>-fs NAMENODE -mkdir /dest</command>
        <archive-command>-fs NAMENODE -archiveName dir0.har -p / dir0/ /file1</archive-command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>Invalid Output: /file1/dir0.har</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Deleting a file in archive</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -mkdir /dir0/dir1</command>
        <command>-fs NAMENODE -mkdir /dir0/dir2</command>
        <command>-fs NAMENODE -touchz /dir0/file0</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file1</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file2</command>
        <command>-fs NAMENODE -touchz /dir0/dir2/file1</command>
        <command>-fs NAMENODE -mkdir /dest</command>
        <archive-command>-fs NAMENODE -archiveName dir0.har -p / dir0/ /dest</archive-command>
        <command>-fs NAMENODE -rm har:///dest/dir0.har/dir0/file0</command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>rm: Har: delete not allowed</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Renaming a file in archive</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -mkdir /dir0/dir1</command>
        <command>-fs NAMENODE -mkdir /dir0/dir2</command>
        <command>-fs NAMENODE -touchz /dir0/file0</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file1</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file2</command>
        <command>-fs NAMENODE -touchz /dir0/dir2/file1</command>
        <command>-fs NAMENODE -mkdir /dest</command>
        <archive-command>-fs NAMENODE -archiveName dir0.har -p / dir0/ /dest</archive-command>
        <command>-fs NAMENODE -mv har:///dest/dir0.har/dir0/file0 har:///dest/dir0.har/dir0/file1</command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>mv: Wrong FS: har:/dest/dir0.har/dir0/file0, expected: hdfs://\w+[-.a-z0-9]*:[0-9]+</expected-output>
        </comparator>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>Usage: java FsShell [-mv &lt;src&gt; &lt;dst&gt;]</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Testing count in archive</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -mkdir /dir0/dir1</command>
        <command>-fs NAMENODE -mkdir /dir0/dir2</command>
        <command>-fs NAMENODE -put CLITEST_DATA/data60bytes /dir0/file0</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file1</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file2</command>
        <command>-fs NAMENODE -touchz /dir0/dir2/file1</command>
        <command>-fs NAMENODE -mkdir /dest</command>
        <archive-command>-fs NAMENODE -archiveName dir0.har -p / dir0/ /dest</archive-command>
        <command>-fs NAMENODE -count har:///dest/dir0.har/dir0/file0</command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>( |\t)*0( )*1( )*60( )*har:/dest/dir0.har/dir0/file0</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Destination is not specified</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -touchz /dir0/file0</command>
        <archive-command>-fs NAMENODE -archiveName dir0.har -p /dir0 </archive-command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>archive -archiveName NAME -p &lt;parent path&gt; &lt;src&gt;\* &lt;dest&gt;</expected-output>
        </comparator>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>Invalid usage.</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Archive name is not specified</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -touchz /dir0/file0</command>
        <archive-command>-fs NAMENODE -archiveName -p / dir0 /dest </archive-command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>archive -archiveName NAME -p &lt;parent path&gt; &lt;src&gt;\* &lt;dest&gt;</expected-output>
        </comparator>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>archive -archiveName NAME -p &lt;parent path&gt; &lt;src&gt;* &lt;dest&gt;</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Source files are specified through globbing</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -touchz /dir0/file0</command>
        <command>-fs NAMENODE -touchz /dir0/file1</command>
        <command>-fs NAMENODE -touchz /dir0/file2</command>
        <command>-fs NAMENODE -mkdir /dir1</command>
        <archive-command>-fs NAMENODE -archiveName test.har -p / dir0/file* /dir1</archive-command>
        <command>-fs NAMENODE -ls /dir1</command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>Found 1 items</expected-output>
        </comparator>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>^[drwx-]+( )*[0-9\-]+( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*/dir1/test.har</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Source directories are specified through globbing</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -mkdir /dir1</command>
        <command>-fs NAMENODE -mkdir /dir2</command>
        <command>-fs NAMENODE -touchz /dir0/file0</command>
        <command>-fs NAMENODE -touchz /dir1/file1</command>
        <command>-fs NAMENODE -mkdir /dest</command>
        <archive-command>-fs NAMENODE -archiveName test.har -p / dir* /dest </archive-command>
        <command>-fs NAMENODE -ls /dest</command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>Found 1 items</expected-output>
        </comparator>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>^[drwx-]+( )*[0-9\-]+( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*/dest/test.har</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Source is a files</description>
      <test-commands>
        <command>-fs NAMENODE -touchz /file0</command>
        <command>-fs NAMENODE -mkdir /dir1</command>
        <archive-command>-fs NAMENODE -archiveName test.har -p / file0 /dir1</archive-command>
        <command>-fs NAMENODE -ls /dir1</command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>Found 1 items</expected-output>
        </comparator>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>^[drwx-]+( )*[0-9\-]+( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*/dir1/test.har</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Source is a directory</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -mkdir /dest</command>
        <archive-command>-fs NAMENODE -archiveName test.har -p / dir0 /dest </archive-command>
        <command>-fs NAMENODE -ls /dest</command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>Found 1 items</expected-output>
        </comparator>
        <comparator>
           <type>RegexpComparator</type>
          <expected-output>^[drwx-]+( )*[0-9\-]+( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*/dest/test.har</expected-output>
         </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Invalid Source is specified</description>
      <test-commands>
        <archive-command>-fs NAMENODE -archiveName test.har -p file0 /dest </archive-command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>SubstringComparator</type>
          <expected-output>The resolved paths set is empty.</expected-output>
         </comparator>
       </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Invalid name for archives is specified</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -mkdir /dest</command>
        <archive-command>-fs NAMENODE -archiveName test -p / dir0 /dest </archive-command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>archive -archiveName NAME -p &lt;parent path&gt; &lt;src&gt;\* &lt;dest&gt;</expected-output>
        </comparator>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>archive -archiveName NAME -p &lt;parent path&gt; &lt;src&gt;* &lt;dest&gt;</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Deleting the complete archive file</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -mkdir /dest</command>
        <archive-command>-fs NAMENODE -archiveName test.har -p / dir0 /dest </archive-command>
        <command>-fs NAMENODE -rmr /dest/test.har</command>
        <command>-fs NAMENODE -ls /dest/</command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>TokenComparator</type>
          <expected-output></expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Renaming the archive file</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -mkdir /dest</command>
        <archive-command>-fs NAMENODE -archiveName test.har -p / dir0 /dest </archive-command>
        <command>-fs NAMENODE -mv /dest/test.har /dest/test1.har</command>
        <command>-fs NAMENODE -ls /dest/</command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /*</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>TokenComparator</type>
          <expected-output>Found 1 items</expected-output>
        </comparator>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>^[drwx-]+( )*[0-9\-]+( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*/dest/test1.har</expected-output>
        </comparator>
      </comparators>
    </test>

    <test> <!-- TESTED -->
      <description>Archive: Listing of archive</description>
      <test-commands>
        <command>-fs NAMENODE -mkdir /dir0</command>
        <command>-fs NAMENODE -mkdir /dir0/dir1</command>
        <command>-fs NAMENODE -mkdir /dir0/dir2</command>
        <command>-fs NAMENODE -touchz /dir0/file0</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file1</command>
        <command>-fs NAMENODE -touchz /dir0/dir1/file2</command>
        <command>-fs NAMENODE -touchz /dir0/dir2/file1</command>
        <command>-fs NAMENODE -mkdir /dest</command>
        <archive-command>-fs NAMENODE -archiveName dir0.har -p / dir0/ /dest</archive-command>
        <command>-fs NAMENODE -chmod 440 /dest/dir0.har/part-0</command>
        <command>-fs NAMENODE -chmod 707 /dest/dir0.har</command>
        <command>-fs NAMENODE -lsr har:///dest/dir0.har/dir0</command>
      </test-commands>
      <cleanup-commands>
        <command>-fs NAMENODE -rmr /dir0 /dest</command>
      </cleanup-commands>
      <comparators>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>^drwx---rwx( )*[0-9\-]+( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*[a-zA-Z0-9\/\.]+/dir0/dir1</expected-output>
        </comparator>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>^drwx---rwx( )*[0-9\-]+( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*[a-zA-Z0-9\/\.]+/dir0/dir2</expected-output>
        </comparator>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>^-r--r-----( )*[0-9\-]+( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*[a-zA-Z0-9\/\.]+/dir0/file0</expected-output>
        </comparator>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>^-r--r-----( )*[0-9\-]+( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*[a-zA-Z0-9\/\.]+/dir0/dir1/file1</expected-output>
        </comparator>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>^-r--r-----( )*[0-9\-]+( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*[a-zA-Z0-9\/\.]+/dir0/dir1/file2</expected-output>
        </comparator>
        <comparator>
          <type>RegexpComparator</type>
          <expected-output>^-r--r-----( )*[0-9\-]+( )*[a-zA-Z0-9]+( )*supergroup( )*0( )*[0-9]{4,}-[0-9]{2,}-[0-9]{2,} [0-9]{2,}:[0-9]{2,}( )*[a-zA-Z0-9\/\.]+/dir0/dir2/file1</expected-output>
        </comparator>
      </comparators>
    </test>

  </tests>
</configuration>
