From owner-svn-src-user@freebsd.org  Mon Sep 28 00:20:14 2015
Return-Path: <owner-svn-src-user@freebsd.org>
Delivered-To: svn-src-user@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id F309CA0AEC7
 for <svn-src-user@mailman.ysv.freebsd.org>;
 Mon, 28 Sep 2015 00:20:14 +0000 (UTC)
 (envelope-from ngie@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id E45DCD6E;
 Mon, 28 Sep 2015 00:20:14 +0000 (UTC)
 (envelope-from ngie@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.70])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t8S0KEIX061145;
 Mon, 28 Sep 2015 00:20:14 GMT (envelope-from ngie@FreeBSD.org)
Received: (from ngie@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id t8S0KEie061144;
 Mon, 28 Sep 2015 00:20:14 GMT (envelope-from ngie@FreeBSD.org)
Message-Id: <201509280020.t8S0KEie061144@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: ngie set sender to
 ngie@FreeBSD.org using -f
From: Garrett Cooper <ngie@FreeBSD.org>
Date: Mon, 28 Sep 2015 00:20:14 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r288316 - user/ngie/more-tests/bin/ls/tests
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.20
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 28 Sep 2015 00:20:15 -0000

Author: ngie
Date: Mon Sep 28 00:20:14 2015
New Revision: 288316
URL: https://svnweb.freebsd.org/changeset/base/288316

Log:
  Add ls -I testcases

Modified:
  user/ngie/more-tests/bin/ls/tests/ls_tests.sh

Modified: user/ngie/more-tests/bin/ls/tests/ls_tests.sh
==============================================================================
--- user/ngie/more-tests/bin/ls/tests/ls_tests.sh	Mon Sep 28 00:17:51 2015	(r288315)
+++ user/ngie/more-tests/bin/ls/tests/ls_tests.sh	Mon Sep 28 00:20:14 2015	(r288316)
@@ -49,7 +49,6 @@ create_test_inputs()
 atf_test_case A_flag
 A_flag_head()
 {
-	atf_set "require.user" "unprivileged"
 }
 
 A_flag_body()
@@ -100,9 +99,53 @@ A_flag_implied_when_root_body()
 	atf_check_equal "$(cat $WITH_EXPLICIT)" "$(cat $WITH_IMPLIED)"
 }
 
+atf_test_case I_flag
+I_flag_head()
+{
+	atf_set "descr" "Verify that the output from ls -I is the same as ls for an unprivileged user"
+}
+
+I_flag_body()
+{
+	create_test_inputs
+
+	WITH_I=$PWD/../with_I.out
+	WITHOUT_I=$PWD/../without_I.out
+
+	atf_check -e empty -o save:$WITH_I -s exit:0 ls -I
+	atf_check -e empty -o save:$WITHOUT_I -s exit:0 ls
+
+	echo "Explicit -I usage"
+	cat $WITH_I
+	echo "No -I usage"
+	cat $WITHOUT_I
+
+	atf_check_equal "$(cat $WITH_I)" "$(cat $WITHOUT_I)"
+}
+
+atf_test_case I_flag_voids_A_flag_when_root
+I_flag_voids_A_flag_when_root_head()
+{
+	atf_set "descr" "Verify that -I voids out implied -A for root"
+	atf_set "require.user" "root"
+}
+
+I_flag_voids_A_flag_when_root_body()
+{
+	create_test_inputs
+
+	atf_check -o not-match:'\.f' -s exit:0 ls -I
+	atf_check -o not-match:'\.g' -s exit:0 ls -I
+
+	atf_check -o match:'\.f' -s exit:0 ls -A -I
+	atf_check -o match:'\.g' -s exit:0 ls -A -I
+}
+
 atf_init_test_cases()
 {
 
 	atf_add_test_case A_flag
 	atf_add_test_case A_flag_implied_when_root
+	atf_add_test_case I_flag
+	atf_add_test_case I_flag_voids_A_flag_when_root
 }