3 .\" Manual for remote testing
5 .\" (c) 2024 Straylight/Edgeware
8 .\"----- Licensing notice ---------------------------------------------------
10 .\" This file is part of the mLib utilities library.
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.
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.
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,
27 .\"--------------------------------------------------------------------------
28 .so ../defs.man \" @@@PRE@@@
30 .\"--------------------------------------------------------------------------
31 .TH tvec-remote 3mLib "11 March 2024" "Straylight/Edgeware" "mLib utilities library"
39 .\" @tvec_setprogress_v
41 .\" @tvec_remoteserver
43 .\"--------------------------------------------------------------------------
45 tvec-remote \- test vector framework remote invocation
47 .\"--------------------------------------------------------------------------
51 .B "#include <mLib/tvec.h>"
53 .ta \w'\fBtypedef int tvec_connectfn('u
54 .BI "typedef int tvec_connectfn(pid_t *" kid_out ", int *" infd_out ,
55 .BI " int *" outfd_out ", int *" errfd_out ,
56 .BI " struct tvec_state *" tv ,
57 .BI " const struct tvec_remoteenv *" env );
60 .B "struct tvec_remoteenv_slots {"
61 .B " tvec_connectfn *connect;"
62 .B " const struct tvec_env *env;"
63 .B " unsigned dflt_reconn;"
65 .B "struct tvec_remoteenv {"
66 .B " struct tvec_env _env;"
67 .B " struct tvec_remoteenv_slots r;"
69 .B "#define TVEC_REMOTEENV ..."
71 .B "#define TVXF_VALMASK ..."
72 .B "#define TVXF_SIG ..."
73 .B "#define TVXF_CAUSEMASK ..."
74 .B "#define TVXST_RUN ..."
75 .B "#define TVXST_EXIT ..."
76 .B "#define TVXST_KILL ..."
77 .B "#define TVXST_CONT ..."
78 .B "#define TVXST_STOP ..."
79 .B "#define TVXST_DISCONN ..."
80 .B "#define TVXST_UNK ..."
81 .B "#define TVXST_ERR ..."
83 .B "struct tvec_remotefork_slots {"
84 .B " const struct tvec_test *tests;"
86 .B "struct tvec_remotefork {"
87 .B " struct tvec_env _env;"
88 .B " struct tvec_remoteenv_slots r;"
89 .B " struct tvec_remotefork_slots f;"
91 .B "tvec_connectfn tvec_fork;"
92 .BI "#define TVEC_REMOTEFORK(" subenv ", " tests ") ..."
94 .B "struct tvec_remoteexec_slots {"
95 .B " const char *const *args;"
97 .B "struct tvec_remoteexec {"
98 .B " struct tvec_env _env;"
99 .B " struct tvec_remoteenv_slots r;"
100 .B " struct tvec_remoteexec_slots x;"
102 .B "tvec_connectfn tvec_exec;"
103 .BI "#define TVEC_REMOTEEXEC(" subenv ", " args ") ..."
105 .BI "void tvec_setprogress(const char *" status ", ...);"
106 .BI "void tvec_setprogress_v(const char *" status ", va_list *" ap );
108 .ta \w'\fBint tvec_remoteserver('u
109 .BI "int tvec_remoteserver(int " infd ", int " outfd ,
110 .BI " const struct tvec_config *" config );