xref: /freebsd/crypto/krb5/src/tests/asn.1/README (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1krb5_encode_test runs through all the functions declared in
2 src/include/krb5/asn.1/krb5_encode.h.  It passes various sample
3 inputs to each function and prints the result to standard
4 output.  This output should match the contents of the file
5 "reference_encode.out".
6
7 Each function is first run with a relatively simple, contrived
8 sample structure.  Then if the structure has any optional parts,
9 these parts are cleared and another run is made.
10
11 Some structures (namely, those containing a krb5_kdc_req_body)
12 have a third run, due to the fact that two of the kdc_req_body's
13 optional fields have mutually exclusive conditions under which
14 they may be omitted.
15
16
17krb5_decode_test runs through all the functions declared in
18 src/include/krb5/asn.1/krb5_decode.h.  It has the encodings in
19 reference_encode.out hard-coded into itself.  It sets up the
20 krb5 structures the same way krb5_encode_test does, then passes
21 its hard-coded encoding strings through the krb5 decoders.
22
23 The outputs of these functions are compared to the previously
24 set-up structures in memory, and the results are reported to
25 standard output.  If every line comes out prefixed by "OK: ",
26 then the decoders are working properly.  If any decoder produces
27 an anomalous output, then its output line will be prefixed by
28 "ERROR: "
29