toybox/tests/truncate.test
<<
>>
Prefs
   1#!/bin/bash
   2
   3[ -f testing.sh ] && . testing.sh
   4
   5#testing "name" "command" "result" "infile" "stdin"
   6
   7SIZE='&& stat -c %s freep'
   8testing "0" "truncate -s 0 freep $SIZE" "0\n" "" ""
   9testing "12345" "truncate -s 12345 freep $SIZE" "12345\n" "" ""
  10testing "1m" "truncate -s 1m freep $SIZE" "1048576\n" "" ""
  11# We can't test against 0 because Android filesystems use an extra 4KiB for
  12# extended attributes (SELinux).
  13testing "is sparse" "truncate -s 1g freep && [ $(stat -c %b freep) -le 8 ] &&
  14  echo okay" \
  15        "okay\n" "" ""
  16testing "+" "truncate -s 1k freep && truncate -s +1k freep $SIZE" \
  17        "2048\n" "" ""
  18testing "-" "truncate -s 4k freep && truncate -s -1k freep $SIZE" \
  19        "3072\n" "" ""
  20testing "< hit" \
  21        "truncate -s 5k freep && truncate -s \<4k freep $SIZE" "4096\n" "" ""
  22testing "< miss" \
  23        "truncate -s 4k freep && truncate -s \<6k freep $SIZE" "4096\n" "" ""
  24testing "> hit" \
  25        "truncate -s 3k freep && truncate -s \>4k freep $SIZE" "4096\n" "" ""
  26testing "> miss" \
  27        "truncate -s 4k freep && truncate -s \>2k freep $SIZE" "4096\n" "" ""
  28testing "/" "truncate -s 7k freep && truncate -s /3k freep $SIZE" \
  29        "6144\n" "" ""
  30testing "%" "truncate -s 7k freep && truncate -s %3k freep $SIZE" \
  31        "9216\n" "" ""
  32