Index: user/ngie/more-tests/bin/ls/tests/ls_tests.sh =================================================================== --- user/ngie/more-tests/bin/ls/tests/ls_tests.sh (revision 288331) +++ user/ngie/more-tests/bin/ls/tests/ls_tests.sh (nonexistent) @@ -1,358 +0,0 @@ -# -# Copyright 2015 EMC Corp. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# $FreeBSD$ -# - -create_test_dir() -{ - [ -z "$ATF_TMPDIR" ] || return 0 - - export ATF_TMPDIR=$(pwd) - - # XXX: need to nest this because of how kyua creates $TMPDIR; otherwise - # it will run into EPERM issues later - TEST_INPUTS_DIR="${ATF_TMPDIR}/test/inputs" - - atf_check -e empty -s exit:0 mkdir -m 0777 -p $TEST_INPUTS_DIR - cd $TEST_INPUTS_DIR -} - -create_test_inputs() -{ - create_test_dir - - atf_check -e empty -s exit:0 mkdir -m 0755 -p a/b - atf_check -e empty -s exit:0 ln -s a/b c - atf_check -e empty -s exit:0 touch d - atf_check -e empty -s exit:0 ln d e - atf_check -e empty -s exit:0 touch .f - atf_check -e empty -s exit:0 mkdir .g - atf_check -e empty -s exit:0 mkfifo h - atf_check -e ignore -s exit:0 dd if=/dev/zero of=i count=1000 bs=1 - atf_check -e empty -s exit:0 \ - sh -c "pid=${ATF_TMPDIR}/nc.pid; daemon -p \$pid nc -lU j; sleep 2; pkill -F \$pid" - atf_check -e empty -s exit:0 touch klmn - atf_check -e empty -s exit:0 touch opqr - atf_check -e empty -s exit:0 touch stuv - atf_check -e empty -s exit:0 touch wxyz - atf_check -e empty -s exit:0 touch 0b00000001 - atf_check -e empty -s exit:0 touch 0b00000010 - atf_check -e empty -s exit:0 touch 0b00000011 - atf_check -e empty -s exit:0 touch 0b00000100 - atf_check -e empty -s exit:0 touch 0b00000101 - atf_check -e empty -s exit:0 touch 0b00000110 - atf_check -e empty -s exit:0 touch 0b00000111 - atf_check -e empty -s exit:0 touch 0b00001000 - atf_check -e empty -s exit:0 touch 0b00001001 - atf_check -e empty -s exit:0 touch 0b00001010 - atf_check -e empty -s exit:0 touch 0b00001011 - atf_check -e empty -s exit:0 touch 0b00001100 - atf_check -e empty -s exit:0 touch 0b00001101 - atf_check -e empty -s exit:0 touch 0b00001110 - atf_check -e empty -s exit:0 touch 0b00001111 -} - -atf_test_case a_flag -a_flag_head() -{ - atf_set "descr" "Verify -a support" -} - -a_flag_body() -{ - create_test_dir - - # Make sure "." and ".." show up with -a - atf_check -e empty -o match:'\.[[:space:]]+\.\.' -s exit:0 ls -ax - - create_test_inputs - - WITH_a=$PWD/../with_a.out - WITHOUT_a=$PWD/../without_a.out - - atf_check -e empty -o save:$WITH_a -s exit:0 ls -A - atf_check -e empty -o save:$WITHOUT_a -s exit:0 ls - - echo "-A usage" - cat $WITH_a - echo "No -A usage" - cat $WITHOUT_a - - for dot_path in '\.f' '\.g'; do - atf_check -e empty -o not-empty -s exit:0 grep "${dot_path}" \ - $WITH_a - atf_check -e empty -o empty -s not-exit:0 grep "${dot_path}" \ - $WITHOUT_a - done -} - -atf_test_case A_flag -A_flag_head() -{ - atf_set "descr" "Verify -A support with unprivileged users" -} - -A_flag_body() -{ - create_test_dir - - atf_check -e empty -o empty -s exit:0 ls -A - - create_test_inputs - - WITH_A=$PWD/../with_A.out - WITHOUT_A=$PWD/../without_A.out - - atf_check -e empty -o save:$WITH_A -s exit:0 ls -A - atf_check -e empty -o save:$WITHOUT_A -s exit:0 ls - - echo "-A usage" - cat $WITH_A - echo "No -A usage" - cat $WITHOUT_A - - for dot_path in '\.f' '\.g'; do - atf_check -e empty -o not-empty -s exit:0 grep "${dot_path}" \ - $WITH_A - atf_check -e empty -o empty -s not-exit:0 grep "${dot_path}" \ - $WITHOUT_A - done -} - -atf_test_case A_flag_implied_when_root -A_flag_implied_when_root_head() -{ - atf_set "descr" "Verify that -A is implied for root" - atf_set "require.user" "root" -} - -A_flag_implied_when_root_body() -{ - create_test_dir - - atf_check -e empty -o empty -s exit:0 ls -A - - create_test_inputs - - WITH_EXPLICIT=$PWD/../with_explicit_A.out - WITH_IMPLIED=$PWD/../with_implied_A.out - - atf_check -e empty -o save:$WITH_EXPLICIT -s exit:0 ls -A - atf_check -e empty -o save:$WITH_IMPLIED -s exit:0 ls - - echo "Explicit -A usage" - cat $WITH_EXPLICIT - echo "Implicit -A usage" - cat $WITH_IMPLIED - - atf_check_equal "$(cat $WITH_EXPLICIT)" "$(cat $WITH_IMPLIED)" -} - -atf_test_case B_flag -B_flag_head() -{ - atf_set "descr" "Verify that the output from ls -B prints out non-printable characters" -} - -B_flag_body() -{ - - atf_check -e empty -o empty -s exit:0 touch "$(printf "y\013z")" - atf_check -e empty -o match:'y\\013z' -s exit:0 ls -B -} - -atf_test_case C_flag -C_flag_head() -{ - atf_set "descr" "Verify that the output from ls -C is multi-column, sorted down" -} - -C_flag_body() -{ - create_test_inputs - - WITH_C=$PWD/../with_C.out - - atf_check -e empty -o save:$WITH_C -s exit:0 ls -C - - echo "With -C usage" - cat $WITH_C - - atf_check -e ignore -o not-empty -s exit:0 \ - egrep "0b00000001[[:space:]]+0b00000111[[:space:]]+0b00001101[[:space:]]+e[[:space:]]+stuv" $WITH_C - atf_check -e ignore -o not-empty -s exit:0 \ - egrep "0b00000010[[:space:]]+0b00001000[[:space:]]+0b00001110[[:space:]]+h[[:space:]]+wxyz" $WITH_C -} - -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_implied_A_flag_when_root -I_flag_voids_implied_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_implied_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 -} - -lcomma_flag_head() -{ - atf_set "descr" "Verify that -l, prints out the size with , delimiters" -} - -lcomma_flag_body() -{ - create_test_inputs - - atf_check \ - -o match:'\-rw\-r\-\-r\-\-[[:space:]]+.+[[:space:]]+1,000[[:space:]]+.+i' \ - env LC_ALL=en_US.ISO8859-1 ls -l, i -} - -x_flag_head() -{ - atf_set "descr" "Verify that -x prints out one item per line" -} - -x_flag_body() -{ - create_test_inputs - - WITH_x=$PWD/../with_x.out - - atf_check -e empty -o save:$WITH_x -s exit:0 ls -x - - echo "With -x usage" - cat $WITH_x - - atf_check -e ignore -o not-empty -s exit:0 \ - egrep "a[[:space:]]+c[[:space:]]+d[[:space:]]+e[[:space:]]+h" $WITH_x - atf_check -e ignore -o not-empty -s exit:0 \ - egrep "i[[:space:]]+j[[:space:]]+klmn[[:space:]]+opqr[[:space:]]+stuv" $WITH_x -} - -1_flag_head() -{ - atf_set "descr" "Verify that -1 prints out one item per line" -} - -1_flag_body() -{ - create_test_inputs - - WITH_1=$PWD/../with_1.out - WITHOUT_1=$PWD/../without_1.out - - atf_check -e empty -o save:$WITH_1 -s exit:0 ls -1 - atf_check -e empty -o save:$WITHOUT_1 -s exit:0 \ - sh -c 'for i in $(ls); do echo $i; done' - - echo "Explicit -1 usage" - cat $WITH_1 - echo "No -1 usage" - cat $WITHOUT_1 - - atf_check_equal "$(cat $WITH_1)" "$(cat $WITHOUT_1)" -} - -atf_init_test_cases() -{ - - atf_add_test_case A_flag - atf_add_test_case A_flag_implied_when_root - atf_add_test_case B_flag - atf_add_test_case C_flag - #atf_add_test_case D_flag - #atf_add_test_case F_flag - #atf_add_test_case G_flag - #atf_add_test_case H_flag - atf_add_test_case I_flag - atf_add_test_case I_flag_voids_implied_A_flag_when_root - #atf_add_test_case L_flag - #atf_add_test_case P_flag - #atf_add_test_case R_flag - #atf_add_test_case S_flag - #atf_add_test_case T_flag - #atf_add_test_case U_flag - #atf_add_test_case W_flag - #atf_add_test_case Z_flag - atf_add_test_case a_flag - #atf_add_test_case b_flag - #atf_add_test_case c_flag - #atf_add_test_case d_flag - #atf_add_test_case f_flag - #atf_add_test_case g_flag - #atf_add_test_case h_flag - #atf_add_test_case i_flag - #atf_add_test_case k_flag - #atf_add_test_case l_flag - atf_add_test_case lcomma_flag - #atf_add_test_case m_flag - #atf_add_test_case n_flag - #atf_add_test_case o_flag - #atf_add_test_case p_flag - #atf_add_test_case q_flag - #atf_add_test_case r_flag - #atf_add_test_case s_flag - #atf_add_test_case t_flag - #atf_add_test_case u_flag - #atf_add_test_case w_flag - atf_add_test_case x_flag - #atf_add_test_case y_flag - atf_add_test_case 1_flag -} Property changes on: user/ngie/more-tests/bin/ls/tests/ls_tests.sh ___________________________________________________________________ Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:executable ## -1 +0,0 ## -* \ No newline at end of property Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: user/ngie/more-tests/bin/ls/tests/Makefile =================================================================== --- user/ngie/more-tests/bin/ls/tests/Makefile (revision 288331) +++ user/ngie/more-tests/bin/ls/tests/Makefile (nonexistent) @@ -1,9 +0,0 @@ -TESTSDIR= ${TESTSBASE}/bin/ls - -ATF_TESTS_SH+= ls_tests -# This seems like overkill, but the idea in mind is that all of the testcases -# should be runnable as !root -TEST_METADATA.ls_tests+= required_user="unprivileged" -TEST_METADATA.ls_tests+= required_files="/usr/bin/nc" - -.include Property changes on: user/ngie/more-tests/bin/ls/tests/Makefile ___________________________________________________________________ Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: user/ngie/more-tests/bin/ls/tests =================================================================== --- user/ngie/more-tests/bin/ls/tests (revision 288331) +++ user/ngie/more-tests/bin/ls/tests (nonexistent) Property changes on: user/ngie/more-tests/bin/ls/tests ___________________________________________________________________ Deleted: svn:mergeinfo ## -0,23 +0,0 ## Reverse-merged /user/ngie/fix-progs/bin/ls/tests:r281662 Reverse-merged /projects/release-arm-redux/bin/ls/tests:r278203,278595-278597,278610,280643-280650,280652,280655,282539-282546,282548,282553-282557,282564,282566,282570,282573,282587-282593,282596-282607,282615-282616,282624-282629,282631,282633,282635-282640,282642,282647-282648,282653-282654,282656-282657,282659,282662-282667,282682,282691 Reverse-merged /projects/random_number_generator/bin/ls/tests:r254613-256243 Reverse-merged /projects/release-arm64/bin/ls/tests:r281786,281788,281792 Reverse-merged /head/bin/ls/tests:r281414-288328 Reverse-merged /projects/lldb-r201577/bin/ls/tests:r262185-262527 Reverse-merged /projects/elftoolchain-update-r3130/bin/ls/tests:r276164,276167,276170-276172 Reverse-merged /projects/elftoolchain/bin/ls/tests:r260687-261245 Reverse-merged /projects/multi-fibv6/head/bin/ls/tests:r230929-231848 Reverse-merged /projects/ipfw/bin/ls/tests:r267383-272837 Reverse-merged /projects/zfsd/head/bin/ls/tests:r266519,269993 Reverse-merged /projects/pf/head/bin/ls/tests:r263908 Reverse-merged /projects/building-blocks/bin/ls/tests:r275142-275143,275198,275297,275306-275307,275309,275311,275556,275558,275600,277445,277670,277673 Reverse-merged /projects/clang-sparc64/bin/ls/tests:r262258-262612 Reverse-merged /user/delphij/zfs-arc-rebase/bin/ls/tests:r281754 Reverse-merged /projects/release-embedded/bin/ls/tests:r262314,262504,262510-262511,262580,262660,262662,262700,262713,262774,262786-262788,262790-262792,262798,262802,262808 Reverse-merged /projects/largeSMP/bin/ls/tests:r221273-222812,222815-223757 Reverse-merged /projects/clang350-import/bin/ls/tests:r274961-275126,275128-275133,275135-276476 Reverse-merged /vendor/resolver/dist/bin/ls/tests:r1540-186085 Reverse-merged /projects/clang360-import/bin/ls/tests:r277327-280030 Reverse-merged /projects/quota64/bin/ls/tests:r184125-207707 Reverse-merged /projects/pms/bin/ls/tests:r285199-285661 Reverse-merged /projects/head_mfi/bin/ls/tests:r233621