aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'brute-test.sh')
-rwxr-xr-xbrute-test.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/brute-test.sh b/brute-test.sh
new file mode 100755
index 0000000..1e222f8
--- /dev/null
+++ b/brute-test.sh
@@ -0,0 +1,34 @@
+#!/bin/bash -e
+
+sparse_file()
+{
+ rm -f $1
+ dd \
+ if=.$1 ibs=3 count=1 \
+ of=$1 obs=1 seek=$2 \
+ 2>/dev/null || exit $?
+}
+
+echo BZh > .test.bz2.rpm
+echo $'\037\213\010' > .test.gz.rpm
+
+for n in {0..30000} ; do
+ sparse_file test.bz2.rpm ${n}
+ if [[ $(./rpmoffset < test.bz2.rpm) != ${n} ]] ; then
+ echo "FAIL: bz2 size ${n}"
+ false
+ fi
+
+ sparse_file test.gz.rpm ${n}
+ if [[ $(./rpmoffset < test.gz.rpm) != ${n} ]] ; then
+ echo "FAIL: gz size ${n}"
+ false
+ fi
+
+ if [[ $((n % 100)) -eq 0 ]] ; then
+ echo "${n} offsets passed ..."
+ fi
+done
+
+rm -f {,.}test.{bz2,gz}.rpm
+echo "DONE! :)"