From 387edf547eb09b27ca6d49772eb048d729f09cf4 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sat, 20 Sep 2014 13:09:14 -0500 Subject: Move testsuite out of scripts/test into its own top level tests directory, and make ctrl-c kill "make test" more reliably. --- tests/ls.test | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tests/ls.test (limited to 'tests/ls.test') diff --git a/tests/ls.test b/tests/ls.test new file mode 100644 index 00000000..d052f13a --- /dev/null +++ b/tests/ls.test @@ -0,0 +1,49 @@ +#!/bin/bash + +# Copyright 2013 Robin Mittal +# Copyright 2013 Divya Kothari + +[ -f testing.sh ] && . testing.sh + +#testing "name" "command" "result" "infile" "stdin" +#set -x + +# Creating test-file/dir for testing ls +mkdir -p lstest/dir1 lstest/dir2 || exit 1 +echo "test file1" > lstest/file1.txt +echo "test file2" > lstest/file2.txt +echo "hidden file1" > lstest/.hfile1 + +IN="cd lstest" +OUT="cd .. " + +testing "ls no argument" "$IN && ls; $OUT" "dir1\ndir2\nfile1.txt\nfile2.txt\n" "" "" +testing "ls with wild char" "$IN && ls file*; $OUT" "file1.txt\nfile2.txt\n" "" "" +testing "ls with wild char - long listing" "$IN && ls -1 file*; $OUT" "file1.txt\nfile2.txt\n" "" "" +testing "ls with -p" "$IN && ls -p; $OUT" "dir1/\ndir2/\nfile1.txt\nfile2.txt\n" "" "" +testing "ls with -a" "$IN && ls -a; $OUT" \ + ".\n..\ndir1\ndir2\nfile1.txt\nfile2.txt\n.hfile1\n" "" "" +testing "ls with -A" "$IN && ls -A; $OUT" \ + "dir1\ndir2\nfile1.txt\nfile2.txt\n.hfile1\n" "" "" +testing "ls with -d" "$IN && ls -d; $OUT" ".\n" "" "" +testing "ls with wild char and -d *" "$IN && ls -d *; $OUT" "dir1\ndir2\nfile1.txt\nfile2.txt\n" "" "" +testing "ls with -k" "$IN && ls -k; $OUT" "dir1\ndir2\nfile1.txt\nfile2.txt\n" "" "" +testing "ls with -m" "$IN && ls -m; $OUT" "dir1, dir2, file1.txt, file2.txt\n" "" "" +testing "ls with -F" "$IN && ls -F; $OUT" "dir1/\ndir2/\nfile1.txt\nfile2.txt\n" "" "" +testing "ls with -dk *" "$IN && ls -dk *; $OUT" "dir1\ndir2\nfile1.txt\nfile2.txt\n" "" "" + +ln -s file1.txt lstest/slink +testing "ls softlink - long listing" "$IN && ls -l slink | awk '{ print \$NF }' ; $OUT" \ + "file1.txt\n" "" "" +rm -f lstest/slink + +rm -rf lstest/* && mkdir -p lstest/dir1 && touch lstest/file1.txt +testing "ls nested recursively" "$IN && ls -R; $OUT" \ + ".:\ndir1\nfile1.txt\n\n./dir1:\n" "" "" + +rm -rf lstest/* && touch lstest/file1.txt && INODE=`stat -c %i lstest/file1.txt` +testing "ls with -i" "$IN && ls -i 2>/dev/null; $OUT" "$INODE file1.txt\n" "" "" +unset INODE + +# Removing test dir for cleanup purpose +rm -rf lstest -- cgit v1.2.3