blob: dfa243376fba72d0bbb9efdb662540267c74502f [file] [log] [blame]
<?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>