libwebsockets
Lightweight C library for HTML5 websockets
lws-test-sequencer.h
Go to the documentation of this file.
1
/*
2
* libwebsockets - small server side websockets and web server implementation
3
*
4
* Copyright (C) 2010 - 2019 Andy Green <andy@warmcat.com>
5
*
6
* Permission is hereby granted, free of charge, to any person obtaining a copy
7
* of this software and associated documentation files (the "Software"), to
8
* deal in the Software without restriction, including without limitation the
9
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10
* sell copies of the Software, and to permit persons to whom the Software is
11
* furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included in
14
* all copies or substantial portions of the Software.
15
*
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
22
* IN THE SOFTWARE.
23
*
24
* lws_test_sequencer manages running an array of unit tests.
25
*/
26
27
typedef
void
(*
lws_test_sequence_cb
)(
const
void
*cb_user);
28
29
typedef
struct
lws_test_sequencer_args
{
30
lws_abs_t
*
abs
;
/* abstract protocol + unit test txport */
31
lws_unit_test_t
*
tests
;
/* array of lws_unit_test_t */
32
int
*
results
;
/* takes result dispositions */
33
int
results_max
;
/* max space usable in results */
34
int
*
count_tests
;
/* count of done tests */
35
int
*
count_passes
;
/* count of passed tests */
36
lws_test_sequence_cb
cb
;
/* completion callback */
37
void
*
cb_user
;
/* opaque user ptr given to cb */
38
} lws_test_sequencer_args_t;
39
40
/**
41
* lws_abs_unit_test_sequencer() - helper to sequence multiple unit tests
42
*
43
* \param args: lws_test_sequencer_args_t prepared with arguments for the tests
44
*
45
* This helper sequences one or more unit tests to run and collects the results.
46
*
47
* The incoming abs should be set up for the abstract protocol you want to test
48
* and the lws unit-test transport.
49
*
50
* Results are one of
51
*
52
* LPE_SUCCEEDED
53
* LPE_FAILED
54
* LPE_FAILED_UNEXPECTED_TIMEOUT
55
* LPE_FAILED_UNEXPECTED_PASS
56
* LPE_FAILED_UNEXPECTED_CLOSE
57
*
58
* The callback args->cb is called when the tests have been done.
59
*/
60
LWS_VISIBLE LWS_EXTERN
int
61
lws_abs_unit_test_sequencer
(
const
lws_test_sequencer_args_t *args);
lws_test_sequencer_args::cb
lws_test_sequence_cb cb
Definition:
lws-test-sequencer.h:36
lws_test_sequencer_args::count_passes
int * count_passes
Definition:
lws-test-sequencer.h:35
lws_test_sequencer_args::results_max
int results_max
Definition:
lws-test-sequencer.h:33
lws_test_sequence_cb
void(* lws_test_sequence_cb)(const void *cb_user)
Definition:
lws-test-sequencer.h:27
lws_test_sequencer_args::cb_user
void * cb_user
Definition:
lws-test-sequencer.h:37
lws_abs_unit_test_sequencer
LWS_VISIBLE LWS_EXTERN int lws_abs_unit_test_sequencer(const lws_test_sequencer_args_t *args)
lws_test_sequencer_args::count_tests
int * count_tests
Definition:
lws-test-sequencer.h:34
lws_test_sequencer_args::tests
lws_unit_test_t * tests
Definition:
lws-test-sequencer.h:31
lws_test_sequencer_args::results
int * results
Definition:
lws-test-sequencer.h:32
lws_test_sequencer_args::abs
lws_abs_t * abs
Definition:
lws-test-sequencer.h:30
lws_test_sequencer_args
Definition:
lws-test-sequencer.h:29
include
libwebsockets
lws-test-sequencer.h
Generated on Sun Sep 18 2022 08:30:15 for libwebsockets by
1.9.4