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