Mercurial > hg > toybox
view tests/ls.test @ 1572:da1bf31ed322 draft
Tweak the "ignoring return value" fortify workaround for readlinkat.
We zero the buffer and if the link read fails that's left alone, so
it's ok for the symlink not to be there. Unfortunately, typecasting the
return value to (void) doesn't shut up gcc, and having an if(); with the
semicolon on the same line doesn't shut up llvm. (The semicolon on a new
line would, but C does not have significant whitespace and I'm not going
to humor llvm if it plans to start.)
So far, empty curly brackets consistently get the warning to shut up.
author | Rob Landley <rob@landley.net> |
---|---|
date | Mon, 24 Nov 2014 17:23:23 -0600 |
parents | 28b0987d4952 |
children |
line wrap: on
line source
#!/bin/bash # Copyright 2013 Robin Mittal <robinmittal.it@gmail.com> # Copyright 2013 Divya Kothari <divya.s.kothari@gmail.com> [ -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 ln -s /dev/null/nosuchfile lstest/nosuchfile testing "ls with -d - broken softlink" "$IN && ls -d nosuchfile; $OUT" "nosuchfile\n" "" "" rm -f lstest/nosuchfile 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