xref: /openssl/test/testutil/main.c (revision da1c088f)
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 
14 
main(int argc,char * argv[])15 int main(int argc, char *argv[])
16 {
17     int ret = EXIT_FAILURE;
18     int setup_res;
19 
20     test_open_streams();
21 
22     if (!global_init()) {
23         test_printf_stderr("Global init failed - aborting\n");
24         return ret;
25     }
26 
27     if (!setup_test_framework(argc, argv))
28         goto end;
29 
30     if ((setup_res = setup_tests()) > 0) {
31         ret = run_tests(argv[0]);
32         cleanup_tests();
33         opt_check_usage();
34     } else if (setup_res == 0) {
35         opt_help(test_get_options());
36     }
37 end:
38     ret = pulldown_test_framework(ret);
39     test_close_streams();
40     return ret;
41 }
42