Beginning to create a test suite for libisoburn and xorriso

Thomas Schmitt 12 years ago
parent db7f9526fe
commit 3027040b70
  1. 74
  2. 34

@ -0,0 +1,74 @@
From Tue Jun 21 18:33:30 2011
Date: Tue, 21 Jun 2011 19:22:08 +0300
From: George Danchev <>
To: <>
Subject: [Libburn-hackers] cheat tests proposal
Here is a cheat list of performance tests I have in my mind for testing the
whole thing, for instance before release. This list does not depreciate the
practical use case pattern of a potential user or developer might happen to
have. The are put together to second-guess he potential testers, and anyone
can perform them at will (even partially) on a best effort fashion. I won't go
that deep to assign them artificial weights or priority.
1) Various compilation tests, like:
export CPPFLAGS=-DLibburn_use_sg_dummY; ./configure
repeat for the adapters of the all target OSes, there should be other
interesting macros, static check logs can easily reveal them:-)
This can be scripted of course.
2) Inspect the static check logs:
(revision numbers are well indicated)
3) Inspect previous versions build daemon logs (various architectures, three
kernels: linux, kfreebsd, hurd) for interesting compiler warnings or errors:
I'm sure I've seen FreeBSD public build logs before, but my searching fails so
4) Testing xorriso in dialog mode:
perhaps this 'proof of concept' toy could be helpful:;a=summary
this requires some specific knowledge of how the tool works (there are
hopefully very helpful comments in the source), to interpret the results and
compare them with the previous runs; my logs could be found at:
the aim is to catch speed performace hits, corectness of results, crashes, etc
when working on various input data trees, like very large BD-sized ones.
5) Profiling tests with gprof. We did that once :-)
Each of these tests has already caught a flaw or another, so they are stolen
from the past experience we already had. The list of course if open for adding
more interesting checks, like real burning ones for instance. I'm sure I
forgot at least one, since I had 6 in mind... Alois....
6) jigdo production.
I'll try to simplify a run like that one:
xorriso -as mkisofs -r
-checksum_algorithm_iso md5,sha1,sha256,sha512
-V 'Debian testing amd64 1'
-o /org/
-jigdo-jigdo /org/
-jigdo-template /org/
-jigdo-map Debian=/org/
-jigdo-exclude boot1 -md5-list /org/
-jigdo-min-file-size 1024
-jigdo-exclude 'README*' -jigdo-exclude /doc/
-jigdo-exclude /md5sum.txt -jigdo-exclude /.disk/
-jigdo-exclude /pics/
-jigdo-exclude 'Release*'
-jigdo-exclude 'Packages*'
-jigdo-exclude 'Sources*'
-J -isohybrid-mbr syslinux/usr/lib/syslinux/isohdpfx.bin
-partition_offset 16
-J -joliet-long
-cache-inodes -b isolinux/isolinux.bin -c isolinux/
-no-emul-boot -boot-load-size 4 -boot-info-table
boot1 CD1

@ -0,0 +1,34 @@
set -e
jigdo-gen-md5-list ${DIR} > ${IMG}.md5
xorriso \
-as mkisofs \
-o ${IMG}.iso \
-R -V 'TEST_1' \
-partition_offset 16 \
-J -joliet-long \
-jigdo-template-compress gzip \
-checksum_algorithm_iso md5,sha512 \
-checksum_algorithm_template md5,sha512 \
-jigdo-jigdo ${IMG}.jigdo \
-jigdo-template ${IMG}.template \
-jigdo-map Debian=${DIR} \
-md5-list ${IMG}.md5 \
-jigdo-min-file-size 1024 \
jigit-mkimage \
-t ${IMG}.template \
-j ${IMG}.jigdo \
-m Debian=${DIR} \
-o ${IMG}.bak
diff ${IMG}.iso ${IMG}.bak