multiv01.sh 1.0 KB

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