multiv01.sh 971 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #! /bin/sh
  2. # Test multivolume dumps from pipes.
  3. . ./preset
  4. TAR_ARCHIVE_FORMATS="gnu oldgnu"
  5. . $srcdir/before
  6. # Fixme: should be configurable
  7. # TRUSS=truss -o /tmp/tr
  8. # TRUSS=strace
  9. set -e
  10. genfile --length 7168 > file1
  11. for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
  12. " 9" "10" "11" "12" "13" "14" "15" "16" ; do \
  13. echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  14. for count in 2 3 4 5 6 7 8 ; do
  15. echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  16. done
  17. done >file2
  18. tar -c --multi-volume --tape-length=10 \
  19. --listed-incremental=t.snar \
  20. -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2
  21. mkdir extract-dir-pipe
  22. dd bs=4096 count=10 if=t2-pipe.tar 2>/dev/null |
  23. PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
  24. -C extract-dir-pipe -x --multi-volume \
  25. --tape-length=10 --read-full-records
  26. cmp file1 extract-dir-pipe/file1
  27. cmp file2 extract-dir-pipe/file2
  28. out="\
  29. "
  30. . $srcdir/after