2 Unix SMB/CIFS implementation.
3 SMB torture UI functions
5 Copyright (C) Jelmer Vernooij 2006
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #include "testspoolss.h"
24 /****************************************************************************
25 ****************************************************************************/
27 void torture_warning(struct torture_context
*context
, const char *comment
, ...)
33 if (!context
->results
->ui_ops
->warning
)
37 va_start(ap
, comment
);
38 if (vsprintf(tmp
, comment
, ap
) == -1) {
43 fprintf(stderr
, "WARNING: %s\n", tmp
);
45 context
->results
->ui_ops
->warning(context
, tmp
);
51 /****************************************************************************
52 ****************************************************************************/
54 void torture_result(struct torture_context
*context
,
55 enum torture_result result
, const char *fmt
, ...)
62 if (context
->last_reason
) {
63 torture_warning(context
, "%s", context
->last_reason
);
64 free(context
->last_reason
);
65 context
->last_reason
= NULL
;
68 context
->last_result
= result
;
69 if (vsprintf(tmp
, fmt
, ap
) == -1) {
72 context
->last_reason
= malloc(sizeof(tmp
));
73 if (!context
->last_reason
) {
76 memcpy(context
->last_reason
, tmp
, sizeof(tmp
));
81 /****************************************************************************
82 ****************************************************************************/
84 void torture_comment(struct torture_context
*context
, const char *comment
, ...)
89 if (!context
->results
->ui_ops
->comment
)
92 va_start(ap
, comment
);
93 if (vsprintf(tmp
, comment
, ap
) == -1) {
99 context
->results
->ui_ops
->comment(context
, tmp
);
101 fprintf(stdout
, "%s\n", tmp
);