1/*
2 * Copyright 2017-2018 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 <stdlib.h>              /* size_t */
11#include <openssl/bn.h>
12#include <openssl/bio.h>
13#include "../testutil.h"
14
15#define TEST_SKIP_CODE  123
16
17int subtest_level(void);
18int openssl_error_cb(const char *str, size_t len, void *u);
19const BIO_METHOD *BIO_f_tap(void);
20
21void test_fail_message_prefix(const char *prefix, const char *file,
22                              int line, const char *type,
23                              const char *left, const char *right,
24                              const char *op);
25
26void test_fail_string_message(const char *prefix, const char *file,
27                              int line, const char *type,
28                              const char *left, const char *right,
29                              const char *op, const char *m1, size_t l1,
30                              const char *m2, size_t l2);
31
32void test_fail_bignum_message(const char *prefix, const char *file,
33                              int line, const char *type,
34                              const char *left, const char *right,
35                              const char *op,
36                              const BIGNUM *bn1, const BIGNUM *bn2);
37void test_fail_bignum_mono_message(const char *prefix, const char *file,
38                                   int line, const char *type,
39                                   const char *left, const char *right,
40                                   const char *op, const BIGNUM *bn);
41
42void test_fail_memory_message(const char *prefix, const char *file,
43                              int line, const char *type,
44                              const char *left, const char *right,
45                              const char *op,
46                              const unsigned char *m1, size_t l1,
47                              const unsigned char *m2, size_t l2);
48
49__owur int setup_test_framework(int argc, char *argv[]);
50__owur int pulldown_test_framework(int ret);
51
52__owur int run_tests(const char *test_prog_name);
53void set_test_title(const char *title);
54
55typedef enum OPTION_choice_default {
56    OPT_ERR = -1,
57    OPT_EOF = 0,
58    OPT_TEST_ENUM
59} OPTION_CHOICE_DEFAULT;
60void opt_check_usage(void);
61
62