#!/usr/bin/newlisp ;; Test for LFS (Large Files Support) ;; create a file with more than 2^32 bytes ;; and read back some records for verification ;; Needs approximately 5 Gigabyte of diskspace ;; writing a file of 5,000,000 records of 1k each. (println) (println "This test for LFS (Large Files Support) takes a long time to run.") (println "It writes 5 Million records to a 5 Gigabyte filei, then reads back.") (println) (print "You really want to run this test y/n ? ") (if (not (starts-with (read-line) "y" 1)) (exit)) (set 'file (open "largefile" "write")) (dotimes (i 5000000) (set 'rec (append (format "%08d" i) (dup "#" 992))) (write-buffer file rec 1000) (if (= 0 (% i 10000)) (print (format "%10d KB of 5000000 KB written \r" i))) ) (close file) (println) (set 'file (open "largefile" "read")) (for (i 0 4999999 10000) (set 'test (append (format "%08d" i) (dup "#" 992))) (seek file (mul i 1000)) (read-buffer file rec 1000) (if (= test rec) (print (format "%8d record -> Ok\r" i) (0 8 rec)) (println i " record -> Error reading " (0 8 rec))) ) (printlni ">>>>> tested Large file system support") (exit)