xref: /src/crypto/openssl/test/testutil/main.c (revision f25b8c9fb4f58cf61adb47d7570abe7caa6d385d)
1 /*
2  * Copyright 2016-2023 The OpenSSL Project Authors. All Rights Reserved.
3  *
4  * Licensed under the Apache License 2.0 (the "License").  You may not use
5  * this file except in compliance with the License.  You can obtain a copy
6  * in the file LICENSE in the source distribution or at
7  * https://www.openssl.org/source/license.html
8  */
9 
10 #include "../testutil.h"
11 #include "output.h"
12 #include "tu_local.h"
13 
main(int argc,char * argv[])14 int main(int argc, char *argv[])
15 {
16     int ret = EXIT_FAILURE;
17     int setup_res;
18 
19     test_open_streams();
20 
21     if (!global_init()) {
22         test_printf_stderr("Global init failed - aborting\n");
23         return ret;
24     }
25 
26     if (!setup_test_framework(argc, argv))
27         goto end;
28 
29     if ((setup_res = setup_tests()) > 0) {
30         ret = run_tests(argv[0]);
31         cleanup_tests();
32         opt_check_usage();
33     } else if (setup_res == 0) {
34         opt_help(test_get_options());
35     }
36 end:
37     ret = pulldown_test_framework(ret);
38     test_close_streams();
39     return ret;
40 }
41