@@@ man wip
[mLib] / test / tvec-output.3
1 .\" -*-nroff-*-
2 .de VS
3 .sp 1
4 .RS
5 .nf
6 .ft B
7 ..
8 .de VE
9 .ft R
10 .fi
11 .RE
12 .sp 1
13 ..
14 .de hP
15 .IP
16 .ft B
17 \h'-\w'\\$1\ 'u'\\$1\ \c
18 .ft P
19 ..
20 .ie t \{\
21 . ds o \(bu
22 . de VP
23 . sp .4v
24 ..
25 \}
26 .el \{\
27 . ds o o
28 . de VP
29 . sp
30 ..
31 \}
32 ..
33 .TH tvec-output 3 "11 March 2024" "Straylight/Edgeware" "mLib utilities library"
34 .SH NAME
35 tvec-output \- test vector framework output driver interface
36 .\" @tvec_strlevel
37 .
38 .SH SYNOPSIS
39 .nf
40 .B "#include <mLib/tvec.h>"
41 .PP
42 .ta 2n
43 .B "enum {"
44 .B " TVOUT_LOSE,"
45 .B " TVOUT_SKIP,"
46 .B " TVOUT_WIN,"
47 .B " TVOUT_XFAIL,"
48 .B " TVOUT_LIMIT"
49 .B "};"
50 .PP
51 .B "struct tvec_state {"
52 .B " unsigned f;"
53 .B " const struct tvec_test *test;"
54 .B " unsigned curr[TVOUT_LIMIT], all[TVOUT_LIMIT], grps[TVOUT_LIMIT];"
55 .B " ..."
56 .B "};"
57 .B "#define TVSF_ERROR ..."
58 .PP
59 .B "struct tvec_output {"
60 .B " const struct tvec_outops *ops;"
61 .B "};"
62 .B "struct tvec_outops {"
63 .BI " void (*" bsession ")(struct tvec_output *" o ", struct tvec_state *" tv );
64 .BI " int (*" esession ")(struct tvec_output *" o );
65 .BI " void (*" bgroup ")(struct tvec_output *" o );
66 .ta 2n +\w'\fBvoid (*\,\fIskipgroup\/\fB)('u
67 .BI " void (*" skipgroup ")(struct tvec_output *" o ,
68 .BI " const char *" excuse ", void *" ap );
69 .BI " void (*" egroup ")(struct tvec_output *" o );
70 .BI " void (*" btest ")(struct tvec_output *" o );
71 .ta 2n +\w'\fBvoid (*\,\fIskip\/\fB)('u
72 .BI " void (*" skip ")(struct tvec_output *" o ,
73 .BI " const char *" excuse ", void *" ap );
74 .ta 2n +\w'\fBvoid (*\,\fIfail\/\fB)('u
75 .BI " void (*" fail ")(struct tvec_output *" o ,
76 .BI " const char *" fail ", void *" ap );
77 .ta 2n +\w'\fBvoid (*\,\fIdumpreg\/\fB)('u
78 .BI " void (*" dumpreg ")(struct tvec_output *" o ,
79 .BI " unsigned " disp ", const union tvec_regval *" rv ,
80 .BI " const struct tvec_regdef *" rd );
81 .BI " void (*" etest ")(struct tvec_output *" o ", unsigned " outcome );
82 .ta 2n +\w'\fBvoid (*\,\fIbbench\/\fB)('u
83 .BI " void (*" bbench ")(struct tvec_output *" o ,
84 .BI " const char *" ident ", unsigned " unit );
85 .ta 2n +\w'\fBvoid (*\,\fIebench\/\fB)('u
86 .BI " void (*" ebench ")(struct tvec_output *" o ,
87 .BI " const char *" ident ", unsigned " unit ,
88 .BI " const struct bench_timing *" tm );
89 .ta 2n +\w'\fBvoid (*\,\fIreport\/\fB)('u
90 .BI " void (*" report ")(struct tvec_output *" o ", unsigned " level ,
91 .BI " const char *" msg ", va_list *" ap );
92 .BI " void (*" level ")(struct tvec_output *" o );
93 .B "};"
94 .PP
95 .B "const char *tvec_strlevel(unsigned " level );
96 .fi