From d2466ec3e01b5ef2a0bde738232c5ad6d2d956eb Mon Sep 17 00:00:00 2001 From: Yongjun Zhang Date: Mon, 12 Sep 2016 21:25:06 -0700 Subject: [PATCH] HDFS-10657. testAclCLI.xml setfacl test should expect mask r-x. (John Zhuge via Yongjun Zhang) --- .../hadoop/cli/util/ExactLineComparator.java | 44 +++++++++++++++++++ .../src/test/resources/testAclCLI.xml | 34 +++++++------- 2 files changed, 61 insertions(+), 17 deletions(-) create mode 100644 hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/cli/util/ExactLineComparator.java diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/cli/util/ExactLineComparator.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/cli/util/ExactLineComparator.java new file mode 100644 index 00000000000..994be7b595b --- /dev/null +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/cli/util/ExactLineComparator.java @@ -0,0 +1,44 @@ +/** + * 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. + */ + +package org.apache.hadoop.cli.util; + +import java.util.StringTokenizer; + +/** + * Comparator for the Command line tests. + * + * This comparator searches for an exact line as 'expected' + * in the string 'actual' and returns true if found + * + */ +public class ExactLineComparator extends ComparatorBase { + + @Override + public boolean compare(String actual, String expected) { + boolean success = false; + StringTokenizer tokenizer = new StringTokenizer(actual, "\n\r"); + while (tokenizer.hasMoreTokens() && !success) { + String actualToken = tokenizer.nextToken(); + success = actualToken.equals(expected); + } + + return success; + } + +} diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/testAclCLI.xml b/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/testAclCLI.xml index 82a580926a1..7d9ecf863b4 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/testAclCLI.xml +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/resources/testAclCLI.xml @@ -679,63 +679,63 @@ - SubstringComparator + ExactLineComparator # file: /dir1/dir2 - SubstringComparator + ExactLineComparator # owner: USERNAME - SubstringComparator + ExactLineComparator # group: supergroup - SubstringComparator + ExactLineComparator user::rwx - SubstringComparator + ExactLineComparator user:charlie:r-x - SubstringComparator + ExactLineComparator group::r-x - SubstringComparator - group:admin:rwx + RegexpComparator + ^group:admin:rwx\b.* - SubstringComparator - mask::rwx + ExactLineComparator + mask::r-x - SubstringComparator + ExactLineComparator default:user::rwx - SubstringComparator + ExactLineComparator default:user:charlie:r-x - SubstringComparator + ExactLineComparator default:group::r-x - SubstringComparator + ExactLineComparator default:group:admin:rwx - SubstringComparator + ExactLineComparator default:mask::rwx - SubstringComparator + ExactLineComparator default:other::r-x - SubstringComparator + ExactLineComparator other::r-x