xref: /aosp_15_r20/external/libwebsockets/minimal-examples/api-tests/api-test-cose/main.c (revision 1c60b9aca93fdbc9b5f19b2d2194c91294b22281)
1*1c60b9acSAndroid Build Coastguard Worker /*
2*1c60b9acSAndroid Build Coastguard Worker  * lws-api-test-cose
3*1c60b9acSAndroid Build Coastguard Worker  *
4*1c60b9acSAndroid Build Coastguard Worker  * Written in 2010-2021 by Andy Green <[email protected]>
5*1c60b9acSAndroid Build Coastguard Worker  *
6*1c60b9acSAndroid Build Coastguard Worker  * This file is made available under the Creative Commons CC0 1.0
7*1c60b9acSAndroid Build Coastguard Worker  * Universal Public Domain Dedication.
8*1c60b9acSAndroid Build Coastguard Worker  */
9*1c60b9acSAndroid Build Coastguard Worker 
10*1c60b9acSAndroid Build Coastguard Worker #include <libwebsockets.h>
11*1c60b9acSAndroid Build Coastguard Worker 
12*1c60b9acSAndroid Build Coastguard Worker int
13*1c60b9acSAndroid Build Coastguard Worker test_cose_keys(struct lws_context *context);
14*1c60b9acSAndroid Build Coastguard Worker int
15*1c60b9acSAndroid Build Coastguard Worker test_cose_sign(struct lws_context *context);
16*1c60b9acSAndroid Build Coastguard Worker 
main(int argc,const char ** argv)17*1c60b9acSAndroid Build Coastguard Worker int main(int argc, const char **argv)
18*1c60b9acSAndroid Build Coastguard Worker {
19*1c60b9acSAndroid Build Coastguard Worker 	struct lws_context_creation_info info;
20*1c60b9acSAndroid Build Coastguard Worker 	struct lws_context *context;
21*1c60b9acSAndroid Build Coastguard Worker 	const char *p;
22*1c60b9acSAndroid Build Coastguard Worker 	int result = 0, logs = LLL_USER | LLL_ERR | LLL_WARN | LLL_NOTICE;
23*1c60b9acSAndroid Build Coastguard Worker 
24*1c60b9acSAndroid Build Coastguard Worker 	if ((p = lws_cmdline_option(argc, argv, "-d")))
25*1c60b9acSAndroid Build Coastguard Worker 		logs = atoi(p);
26*1c60b9acSAndroid Build Coastguard Worker 
27*1c60b9acSAndroid Build Coastguard Worker 	lws_set_log_level(logs, NULL);
28*1c60b9acSAndroid Build Coastguard Worker 	lwsl_user("LWS COSE api tests\n");
29*1c60b9acSAndroid Build Coastguard Worker 
30*1c60b9acSAndroid Build Coastguard Worker 	memset(&info, 0, sizeof info); /* otherwise uninitialized garbage */
31*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_WITH_NETWORK)
32*1c60b9acSAndroid Build Coastguard Worker 	info.port = CONTEXT_PORT_NO_LISTEN;
33*1c60b9acSAndroid Build Coastguard Worker #endif
34*1c60b9acSAndroid Build Coastguard Worker 	info.options = 0;
35*1c60b9acSAndroid Build Coastguard Worker 
36*1c60b9acSAndroid Build Coastguard Worker 	context = lws_create_context(&info);
37*1c60b9acSAndroid Build Coastguard Worker 	if (!context) {
38*1c60b9acSAndroid Build Coastguard Worker 		lwsl_err("lws init failed\n");
39*1c60b9acSAndroid Build Coastguard Worker 		return 1;
40*1c60b9acSAndroid Build Coastguard Worker 	}
41*1c60b9acSAndroid Build Coastguard Worker 
42*1c60b9acSAndroid Build Coastguard Worker 	result |= test_cose_keys(context);
43*1c60b9acSAndroid Build Coastguard Worker 	result |= test_cose_sign(context);
44*1c60b9acSAndroid Build Coastguard Worker 
45*1c60b9acSAndroid Build Coastguard Worker 	lwsl_user("Completed: %s\n", result ? "FAIL" : "PASS");
46*1c60b9acSAndroid Build Coastguard Worker 
47*1c60b9acSAndroid Build Coastguard Worker 	lws_context_destroy(context);
48*1c60b9acSAndroid Build Coastguard Worker 
49*1c60b9acSAndroid Build Coastguard Worker 	return result;
50*1c60b9acSAndroid Build Coastguard Worker }
51