Rob Landley | 2c48247 | 2012-03-12 00:25:40 -0500 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | [ -f testing.sh ] && . testing.sh |
| 4 | |
| 5 | #testing "name" "command" "result" "infile" "stdin" |
| 6 | |
| 7 | BIGTEST="one\ntwo\nthree\nfour\nfive\nsix\nseven\neight\nnine\nten\neleven\n" |
| 8 | echo -ne "$BIGTEST" > file1 |
| 9 | testing "tail" "tail && echo yes" "oneyes\n" "" "one" |
| 10 | testing "tail file" "tail file1" \ |
| 11 | "two\nthree\nfour\nfive\nsix\nseven\neight\nnine\nten\neleven\n" "" "" |
| 12 | testing "tail -n in bounds" "tail -n 3 file1" "nine\nten\neleven\n" "" "" |
| 13 | testing "tail -n out of bounds" "tail -n 999 file1" "$BIGTEST" "" "" |
| 14 | testing "tail -n+ in bounds" "tail -n +3 file1" \ |
| 15 | "three\nfour\nfive\nsix\nseven\neight\nnine\nten\neleven\n" "" "" |
| 16 | testing "tail -n+ outof bounds" "tail -n +999 file1" "" "" "" |
| 17 | testing "tail -c in bounds" "tail -c 27 file1" \ |
| 18 | "even\neight\nnine\nten\neleven\n" "" "" |
| 19 | testing "tail -c out of bounds" "tail -c 999 file1" "$BIGTEST" "" "" |
| 20 | testing "tail -c+ in bounds" "tail -c +27 file1" \ |
| 21 | "x\nseven\neight\nnine\nten\neleven\n" "" "" |
| 22 | testing "tail -c+ out of bonds" "tail -c +999 file1" "" "" "" |
| 23 | rm file1 |
| 24 | |
Elie De Brauwer | bf3d3a7 | 2012-07-05 22:58:28 +0200 | [diff] [blame] | 25 | testing "tail stdin no trailing newline" "tail -n 1 - " "c" "" "a\nb\nc" |
| 26 | testing "tail file no trailing newline" "tail -n 1 input" "c" "a\nb\nc" "" |
| 27 | |
Rob Landley | 2c48247 | 2012-03-12 00:25:40 -0500 | [diff] [blame] | 28 | optional TAIL_SEEK |
| 29 | testing "tail noseek -n in bounds" "tail -n 3" "nine\nten\neleven\n" \ |
| 30 | "" "$BIGTEST" |
| 31 | testing "tail noseek -n out of bounds" "tail -n 999" "$BIGTEST" "" "$BIGTEST" |
| 32 | testing "tail noseek -n+ in bounds" "tail -n +3" \ |
| 33 | "three\nfour\nfive\nsix\nseven\neight\nnine\nten\neleven\n" "" \ |
| 34 | "$BIGTEST" |
| 35 | testing "tail noseek -n+ outof bounds" "tail -n +999" "" "" "$BIGTEST" |
| 36 | testing "tail noseek -c in bounds" "tail -c 27" \ |
| 37 | "even\neight\nnine\nten\neleven\n" "" "$BIGTEST" |
| 38 | testing "tail noseek -c out of bounds" "tail -c 999" "$BIGTEST" "" "$BIGTEST" |
| 39 | testing "tail noseek -c+ in bounds" "tail -c +27" \ |
| 40 | "x\nseven\neight\nnine\nten\neleven\n" "" "$BIGTEST" |
| 41 | testing "tail noseek -c+ out of bonds" "tail -c +999" "" "" "$BIGTEST" |
Rob Landley | 5f57bcc | 2013-09-09 04:26:03 -0500 | [diff] [blame] | 42 | |
| 43 | makebigfile() |
| 44 | { |
| 45 | |
| 46 | for j in $(seq 1 100) |
| 47 | do |
| 48 | printf "%s " $j |
| 49 | for i in $(seq 1 100) |
| 50 | do |
| 51 | printf %s 123456789abcefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ |
| 52 | done |
| 53 | echo |
| 54 | done |
| 55 | } |
| 56 | makebigfile > bigfile |
| 57 | |
| 58 | testing "tail -c 12345 -n 3 bigfile" "tail -c 12345 -n 3 bigfile | md5sum" \ |
| 59 | "347bbdcbad8a313f4dc7bd558c5bfcb8 -\n" "" "" |
| 60 | testing "tail -n 3 -c 12345 bigfile" "tail -n 3 -c 12345 bigfile | md5sum" \ |
| 61 | "1698825a750288284ec3ba7d8a59f302 -\n" "" "" |