@@@ much mess, mostly manpages
[mLib] / test / tvec-output.3.in
CommitLineData
d056fbdf 1.\" -*-nroff-*-
c4ccbbf9
MW
2.\"
3.\" Manual for test-vector framework output drivers
4.\"
5.\" (c) 2024 Straylight/Edgeware
6.\"
7.
8.\"----- Licensing notice ---------------------------------------------------
9.\"
10.\" This file is part of the mLib utilities library.
11.\"
12.\" mLib is free software: you can redistribute it and/or modify it under
13.\" the terms of the GNU Library General Public License as published by
14.\" the Free Software Foundation; either version 2 of the License, or (at
15.\" your option) any later version.
16.\"
17.\" mLib is distributed in the hope that it will be useful, but WITHOUT
18.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
20.\" License for more details.
21.\"
22.\" You should have received a copy of the GNU Library General Public
23.\" License along with mLib. If not, write to the Free Software
24.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
25.\" USA.
26.
27.\"--------------------------------------------------------------------------
28.so ../defs.man \" @@@PRE@@@
29.
30.\"--------------------------------------------------------------------------
31.TH tvec-output 3mLib "11 March 2024" "Straylight/Edgeware" "mLib utilities library"
32.\" @tvec_strlevel
33.
34.\"--------------------------------------------------------------------------
d056fbdf
MW
35.SH NAME
36tvec-output \- test vector framework output driver interface
d056fbdf 37.
c4ccbbf9 38.\"--------------------------------------------------------------------------
d056fbdf 39.SH SYNOPSIS
c4ccbbf9 40.
d056fbdf
MW
41.nf
42.B "#include <mLib/tvec.h>"
43.PP
44.ta 2n
45.B "enum {"
46.B " TVOUT_LOSE,"
47.B " TVOUT_SKIP,"
48.B " TVOUT_WIN,"
49.B " TVOUT_XFAIL,"
50.B " TVOUT_LIMIT"
51.B "};"
52.PP
53.B "struct tvec_state {"
54.B " unsigned f;"
55.B " const struct tvec_test *test;"
56.B " unsigned curr[TVOUT_LIMIT], all[TVOUT_LIMIT], grps[TVOUT_LIMIT];"
57.B " ..."
58.B "};"
59.B "#define TVSF_ERROR ..."
60.PP
61.B "struct tvec_output {"
62.B " const struct tvec_outops *ops;"
63.B "};"
64.B "struct tvec_outops {"
65.BI " void (*" bsession ")(struct tvec_output *" o ", struct tvec_state *" tv );
66.BI " int (*" esession ")(struct tvec_output *" o );
67.BI " void (*" bgroup ")(struct tvec_output *" o );
68.ta 2n +\w'\fBvoid (*\,\fIskipgroup\/\fB)('u
69.BI " void (*" skipgroup ")(struct tvec_output *" o ,
70.BI " const char *" excuse ", void *" ap );
71.BI " void (*" egroup ")(struct tvec_output *" o );
72.BI " void (*" btest ")(struct tvec_output *" o );
73.ta 2n +\w'\fBvoid (*\,\fIskip\/\fB)('u
74.BI " void (*" skip ")(struct tvec_output *" o ,
75.BI " const char *" excuse ", void *" ap );
76.ta 2n +\w'\fBvoid (*\,\fIfail\/\fB)('u
77.BI " void (*" fail ")(struct tvec_output *" o ,
78.BI " const char *" fail ", void *" ap );
79.ta 2n +\w'\fBvoid (*\,\fIdumpreg\/\fB)('u
80.BI " void (*" dumpreg ")(struct tvec_output *" o ,
81.BI " unsigned " disp ", const union tvec_regval *" rv ,
82.BI " const struct tvec_regdef *" rd );
83.BI " void (*" etest ")(struct tvec_output *" o ", unsigned " outcome );
84.ta 2n +\w'\fBvoid (*\,\fIbbench\/\fB)('u
85.BI " void (*" bbench ")(struct tvec_output *" o ,
86.BI " const char *" ident ", unsigned " unit );
87.ta 2n +\w'\fBvoid (*\,\fIebench\/\fB)('u
88.BI " void (*" ebench ")(struct tvec_output *" o ,
89.BI " const char *" ident ", unsigned " unit ,
90.BI " const struct bench_timing *" tm );
91.ta 2n +\w'\fBvoid (*\,\fIreport\/\fB)('u
92.BI " void (*" report ")(struct tvec_output *" o ", unsigned " level ,
93.BI " const char *" msg ", va_list *" ap );
94.BI " void (*" level ")(struct tvec_output *" o );
95.B "};"
96.PP
97.B "const char *tvec_strlevel(unsigned " level );
98.fi