#!/bin/sh # Copyright 2022 by Roger Knecht # Licensed under GPLv2, see file LICENSE in this source tree. . ./testing.sh -v # testing "description" "command" "result" "infile" "stdin" testing "tree error opening dir" \ "tree tree.tempdir" \ "\ tree.tempdir [error opening dir]\n\ \n\ 0 directories, 0 files\n" \ "" "" mkdir -p tree2.tempdir touch tree2.tempdir/testfile testing "tree single file" \ "cd tree2.tempdir && tree" \ "\ .\n\ └── testfile\n\ \n\ 0 directories, 1 files\n" \ "" "" mkdir -p tree3.tempdir/test1 \ tree3.tempdir/test2/a \ tree3.tempdir/test2/b \ tree3.tempdir/test3/c \ tree3.tempdir/test3/d touch tree3.tempdir/test2/a/testfile1 \ tree3.tempdir/test2/a/testfile2 \ tree3.tempdir/test2/a/testfile3 \ tree3.tempdir/test2/b/testfile4 \ tree3.tempdir/test3/c/testfile5 \ tree3.tempdir/test3/d/testfile6 \ tree3.tempdir/test3/d/.testfile7 (cd tree3.tempdir/test2/a && ln -s ../b/testfile4 .) (cd tree3.tempdir/test2/b && ln -s ../../test3 .) testing "tree nested directories and files" \ "cd tree3.tempdir && tree" \ "\ .\n\ ├── test1\n\ ├── test2\n\ │   ├── a\n\ │   │   ├── testfile1\n\ │   │   ├── testfile2\n\ │   │   ├── testfile3\n\ │   │   └── testfile4 -> ../b/testfile4\n\ │   └── b\n\ │   ├── test3 -> ../../test3\n\ │   └── testfile4\n\ └── test3\n\ ├── c\n\ │   └── testfile5\n\ └── d\n\ └── testfile6\n\ \n\ 7 directories, 8 files\n" \ "" "" #note: tree v2.0.1 says "8 directories, 7 files": #it counts "test3 -> ../../test3" as a directory, even though it does not follow this symlink testing "tree multiple directories" \ "tree tree2.tempdir tree3.tempdir" \ "\ tree2.tempdir\n\ └── testfile\n\ tree3.tempdir\n\ ├── test1\n\ ├── test2\n\ │   ├── a\n\ │   │   ├── testfile1\n\ │   │   ├── testfile2\n\ │   │   ├── testfile3\n\ │   │   └── testfile4 -> ../b/testfile4\n\ │   └── b\n\ │   ├── test3 -> ../../test3\n\ │   └── testfile4\n\ └── test3\n\ ├── c\n\ │   └── testfile5\n\ └── d\n\ └── testfile6\n\ \n\ 7 directories, 9 files\n" \ "" "" #note: tree v2.0.1 says "8 directories, 7 files" (not "8 files", probably a/testfile4 -> ../b/testfile4 and b/testfile4 are counted as one file, not 2?) rm -rf tree.tempdir tree2.tempdir tree3.tempdir exit $FAILCOUNT