summaryrefslogtreecommitdiffstats
path: root/checks
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>1998-02-12 00:22:09 +0100
committerWerner Koch <wk@gnupg.org>1998-02-12 00:22:09 +0100
commitbc5789665ae8c9f8fc3d02841cd6c9ade447a12a (patch)
treea98aa9fdf58eaffecb38ce481606ee8536280fc8 /checks
parenta couple of changes; but some parts are now broken (diff)
downloadgnupg2-bc5789665ae8c9f8fc3d02841cd6c9ade447a12a.tar.xz
gnupg2-bc5789665ae8c9f8fc3d02841cd6c9ade447a12a.zip
bug fixes
Diffstat (limited to 'checks')
-rwxr-xr-xchecks/checkit184
-rw-r--r--checks/distfiles1
-rw-r--r--checks/plain-123
-rw-r--r--checks/plain-249
-rw-r--r--checks/plain-31
5 files changed, 258 insertions, 0 deletions
diff --git a/checks/checkit b/checks/checkit
new file mode 100755
index 000000000..3ffce35c4
--- /dev/null
+++ b/checks/checkit
@@ -0,0 +1,184 @@
+#!/bin/bash
+# Script for G10 testing
+#---------------------------------------------------------
+
+#--------------------------------
+#------ constants ---------------
+#--------------------------------
+
+usrname1="one"
+usrpass1="def"
+usrname2="two"
+usrpass2="abc"
+plain_files="plain-1 plain-2 plain-3"
+data_files=""
+exp_files=""
+last_command=""
+
+
+#--------------------------------
+#------ utility functions -------
+#--------------------------------
+
+fatal () {
+ echo "$pgmname: fatal:" $* >&2
+ exit 1;
+}
+
+error () {
+ echo "$pgmname:" $* >&2
+ echo "($last_command) failed" >&2
+ exit 1
+}
+
+info () {
+ echo "$pgmname:" $* >&2
+}
+
+chdir () {
+ cd $1 || fatal "cannot cd to $1"
+}
+
+run_g10 () {
+ last_command="HOME=. ../g10/g10 $*"
+ eval HOME=. ../g10/g10 $*
+}
+
+#--------------------------------
+#-------- main program ----------
+#--------------------------------
+
+set -e
+pgmname=$(basename $0)
+
+# some checks
+[ -d "./.g10" ] || fatal "subdirectory .g10 missing"
+for i in $plain_files; do
+ [ -f $i ] || fatal "$i: missing"
+done
+for i in $exp_files; do
+ [ -f $i ] || fatal "$i: script missing"
+done
+
+cat <<EOF >./.g10/options
+no-greeting
+no-secmem-warning
+batch
+EOF
+
+# print the G10 version
+run_g10 --version
+
+info Checking cleartext signatures
+# There is a minor glitch, which appends a lf to the cleartext.
+# I do not consider that a bug, but I have to use the head .. mimic.
+# It is not clear what should happen to leading LFs, we must
+# change the defintion of cleartext, so that only 1 empty line
+# must follow the headers, but some specs say: any number of empty lines ..
+# clean-sat removes leading LFs
+# I know that this does not work for random data files (due to large lines
+# or what ever) - I hope we can live with it.
+for i in $plain_files; do
+ echo "$usrpass1" | run_g10 --passphrase-fd 0 -sat -o x --yes $i || error "g10 failed: $?"
+ run_g10 -o y --yes x || error "g10 failed: $?"
+ ../tools/clean-sat < $i > z
+ head -c $[ $(cat y | wc -c) - 1 ] y | diff - z || error "$i: mismatch"
+done
+
+info Creating some random data files
+for i in 500 9000 32000 80000; do
+ head -c $i /dev/urandom >data-$i
+ data_files="$data_files data-$i"
+done
+
+info Checking armored signatures
+for i in $plain_files $data_files ; do
+ echo "$usrpass1" | run_g10 --passphrase-fd 0 -sa -o x --yes $i || error "g10 failed: $?"
+ run_g10 -o y --yes x || error "g10 failed: $?"
+ cmp $i y || error "$i: mismatch"
+done
+
+info Checking signatures
+for i in $plain_files $data_files; do
+ echo "$usrpass1" | run_g10 --passphrase-fd 0 -s -o x --yes $i || error "g10 failed: $?"
+ run_g10 -o y --yes x || error "g10 failed: $?"
+ cmp $i y || error "$i: mismatch"
+done
+
+
+info Checking armored encryption
+for i in $plain_files $data_files ; do
+ run_g10 -ea -o x --yes -r "$usrname2" $i || error "g10 failed: $?"
+ run_g10 -o y --yes x || error "g10 failed: $?"
+ cmp $i y || error "$i: mismatch"
+done
+
+info Checking armored encryption with a pipe
+for i in $plain_files $data_files ; do
+ run_g10 -ea --yes -r "$usrname2" < $i | tee x \
+ | run_g10 -o y --yes || error "g10 failed: $?"
+ cmp $i y || error "$i: mismatch"
+ run_g10 --yes < x > y || error "g10 failed: $?"
+ cmp $i y || error "$i: mismatch"
+done
+
+info Checking encryption
+for i in $plain_files $data_files ; do
+ run_g10 -e -o x --yes -r "$usrname2" $i || error "g10 failed: $?"
+ run_g10 -o y --yes x || error "g10 failed: $?"
+ cmp $i y || error "$i: mismatch"
+done
+
+info Checking encryption with a pipe
+for i in $plain_files $data_files ; do
+ run_g10 -e --yes -r "$usrname2" < $i \
+ | run_g10 --yes > y || error "g10 failed: $?"
+ cmp $i y || error "$i: mismatch"
+done
+
+
+info Checking signing and encryption
+for i in $plain_files $data_files ; do
+ echo "$usrpass1" \
+ | run_g10 --passphrase-fd 0 -se -o x --yes -r "$usrname2" $i
+ run_g10 -o y --yes x || error "g10 failed: $?"
+ cmp $i y || error "$i: mismatch"
+done
+
+info Checking armored signing and encryption
+for i in $plain_files $data_files ; do
+ echo "$usrpass1" \
+ | run_g10 --passphrase-fd 0 -sae -o x --yes -r "$usrname2" $i || error "g10 failed: $?"
+ run_g10 -o y --yes x || error "g10 failed: $?"
+ cmp $i y || error "$i: mismatch"
+done
+
+
+info Checking armored detached signatures
+for i in $plain_files $data_files ; do
+ echo "$usrpass1" | run_g10 --passphrase-fd 0 -sab -o x --yes $i || error "g10 failed: $?"
+ run_g10 -o /dev/null --yes x <$i || error "$i: bad signature"
+done
+
+info Checking detached signatures
+for i in $plain_files $data_files ; do
+ echo "$usrpass1" | run_g10 --passphrase-fd 0 -sb -o x --yes $i || error "g10 failed: $?"
+ run_g10 -o /dev/null --yes x <$i || error "$i: bad signature"
+done
+
+
+info Checking detached signatures of multiple files
+i="$plain_files $data_files"
+echo "$usrpass1" | run_g10 --passphrase-fd 0 -sb -o x --yes $i || error "g10 failed: $?"
+cat $i | run_g10 -o /dev/null --yes x || error "$i: bad signature"
+
+info Checking armored detached signatures of multiple files
+i="$plain_files $data_files"
+echo "$usrpass1" | run_g10 --passphrase-fd 0 -sab -o x --yes $i || error "g10 failed: $?"
+cat $i | run_g10 -o /dev/null --yes x || error "$i: bad signature"
+
+rm $data_files x y z
+
+info "All tests passed."
+exit 0
+
diff --git a/checks/distfiles b/checks/distfiles
new file mode 100644
index 000000000..d7edce90a
--- /dev/null
+++ b/checks/distfiles
@@ -0,0 +1 @@
+checkit plain-1 plain-2 plain-3
diff --git a/checks/plain-1 b/checks/plain-1
new file mode 100644
index 000000000..f336a1228
--- /dev/null
+++ b/checks/plain-1
@@ -0,0 +1,23 @@
+<!-- Dies ist Seite 3, dort ist keine Seitenzahl angegeben,
+ oben rechts ist wieder der Stempel von meinem Opa zu finden -->
+
+<sect1>Name <q>Groß-Bartloff</>
+
+<p>
+Der Name <q/Bartloff/ ist schwer zu deuten. Man hat viele Mutmaßungen
+angestellt, von denen man aber bislang keine einzige als unbedingt
+richtig erklären kann.
+<fontinfo rem="mit Leerzeichen geschrieben">Urkundlich</> wird das
+Dorf bis zur Reformation stets <q/Bartorf/ (anno 1253) und
+<q/Bardorf/ (1306, 1318, 1329, 1429) genannt und das_ sowohl Klein-
+wie Großbartloff. Erst 1586 im Bischofssteiner Jurisdiktionalbuch
+heißt unser Dorf <q/Bartteloff/ und so auch in der ältesten noch
+vorhandenen Kirchenrechnung vom Jahre 1651. NAch dem Jahre 1700 wird
+in den Urkunden begonnen, den vollen Namen <q/Groß-Bartloff/ und
+<q/Klein-Bartloff/ zu schreiben.
+---------------- [wegen dashed escaped text]
+<p>
+Nimmt man an, daß die urkundliche, älteste Bezeichnung Bartorf die
+ursprüngliche ist und nicht die mundartliche Bartloff, so könnte der
+Name gut gedeutet werden als Dorf an der <q/Borde/ oder am Rande
+oder an der Grenze entweder des Waldes
diff --git a/checks/plain-2 b/checks/plain-2
new file mode 100644
index 000000000..5a10a970e
--- /dev/null
+++ b/checks/plain-2
@@ -0,0 +1,49 @@
+
+
+<sect>Vorwort
+<p>
+Der Wert einer Ortschronik ist offenbar und bedarf keiner Erörterung.
+Mit Ausbruch des Weltkrieges_, inmitten der gewaltigen Geschehnisse, fühlte
+der Klerus_ unseres_ Eichs_feldes_ das_ mehr wie früher und so
+erstarkte das_ Streben, eine solche Orts_geschichte zu scahffen, um
+unseren Nachkommen zu berichten, was_ auch die kleinsten Dörfer in
+der großen Zeit geleistet, erlebt und erlitten haben.
+<p>
+Und so begann auch ich im Dezember 1914, den ?????????
+Stoff, wo immer ich ihn auch nur so spärlich finden konnte, zu
+sammeln, ich befragte zunächst emsig die ältesten Leute,
+durchforschte sodann das ganze Pfarrarchiv, das Schulzenarchiv
+beider Pfarrdörfer, das Kommissariats_archiv zu Heiligenstadt,
+endlich auch 1916 das Staats_archiv zu Magdeburg. Selbstverständlich
+arbeitete ich auch die einschlägige Literatur durch. Gar viele Zeit
+und Mühe hat es_ gekostet um nach mehr als 8 Jahren die Ortschronik von
+Großbartloff und vom Filialdorf Wilbich gesondert zu schaffen.
+<p vspace="2ex">
+<bf>Großbartloff,</> den 23. März 1923.
+<p vspace="3ex" align=right>
+<bf/Nikolaus Göring,/ Pfarrer.
+</p>
+
+<!-- Hier folgt ein Stempel von meinem Opa:
+ Rud. Koch
+ Großbartloff/Eichsfeld
+ Anger 161
+-->
+<!-- FIXME: hier kommt einen Zierlinie -->
+
+<p vspace=fill> <!-- Der Rest kam am Ende der Seite -->
+<p align=center> Literatur: </p>
+1) Joh. Wolf: Politische Geschichte des Eichsf. Gött. 1792 und
+Löffler 1921. 2) K. Geschichte, Wolf 1816 Gött. 3) Knieb: Gesch.
+der Ref. u. Gegenref???
+
+<!-- FIXME: Der Rest fehlt noch -->
+
+
+
+
+
+
+
+
+</sect>
diff --git a/checks/plain-3 b/checks/plain-3
new file mode 100644
index 000000000..8a6e6b6a7
--- /dev/null
+++ b/checks/plain-3
@@ -0,0 +1 @@
+Dies ist eine einfache Zeile ohne LF am Ende. \ No newline at end of file