diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..edd567f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/test*.tar diff --git a/test-chibi.scm b/test-chibi.scm index 74ff515..e6de675 100755 --- a/test-chibi.scm +++ b/test-chibi.scm @@ -3,13 +3,25 @@ (import (scheme base) (scheme file) (scheme process-context) + (scheme read) (scheme write) - (tex-parser)) + (trivial-tar-writer)) + +(define (slurp-binary-file filename) + (call-with-port + (open-binary-input-file filename) + (lambda (port) + (let loop ((whole (make-bytevector 0))) + (let ((part (read-bytevector 4096 port))) + (if (eof-object? part) + whole + (loop (bytevector-append whole part)))))))) + +(tar-write-file "hello/world.text" + (slurp-binary-file "trivial-tar-writer.scm")) (define (main arguments) - (for-each (lambda (tex-file) - (display (with-input-from-file tex-file read-tex-document)) - (newline)) + (for-each (lambda (file) (tar-write-file file (slurp-binary-file file))) (cdr arguments))) (main (command-line)) diff --git a/test-tex-chibi.scm b/test-tex-chibi.scm new file mode 100644 index 0000000..74ff515 --- /dev/null +++ b/test-tex-chibi.scm @@ -0,0 +1,15 @@ +#! /usr/bin/env chibi-scheme + +(import (scheme base) + (scheme file) + (scheme process-context) + (scheme write) + (tex-parser)) + +(define (main arguments) + (for-each (lambda (tex-file) + (display (with-input-from-file tex-file read-tex-document)) + (newline)) + (cdr arguments))) + +(main (command-line)) diff --git a/test.sh b/test.sh new file mode 100755 index 0000000..a78be35 --- /dev/null +++ b/test.sh @@ -0,0 +1,14 @@ +#!/bin/sh +set -eux +./test-chibi.scm trivial-tar-writer.scm >test-our.tar +bsdtar -cf test-bsd.tar trivial-tar-writer.scm +gtar -cf test-gnu.tar trivial-tar-writer.scm +hexdump -C test-our.tar +echo +echo +echo +hexdump -C test-gnu.tar +echo +echo +echo +hexdump -C test-bsd.tar