testutil: Move printing function declarations to "internal" header

These functions aren't meant to be used directly by the test programs,
reflect that by making the declarations a little harder to reach, but
still available enough if there's a need to override them.

Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3345)
This commit is contained in:
Richard Levitte 2017-04-28 14:37:19 +02:00
parent 36b2cfb191
commit 579d0fabcd
7 changed files with 36 additions and 17 deletions

View File

@ -14,6 +14,7 @@
#include <openssl/bio.h>
#include "internal/numbers.h"
#include "testutil.h"
#include "testutil/output.h"
#define nelem(x) (int)(sizeof(x) / sizeof((x)[0]))

View File

@ -355,25 +355,9 @@ void test_info_c90(const char *desc, ...) PRINTF_FORMAT(1, 2);
OPENSSL_assert(!#condition); \
} \
} while (0)
#endif /* HEADER_TESTUTIL_H */
/*
* The basic I/O functions used by the test framework. These can be
* overriden when needed. Note that if one is, then all must be.
*/
void test_open_streams(void);
void test_close_streams(void);
/* The following ALL return the number of characters written */
int test_puts_stdout(const char *str);
int test_puts_stderr(const char *str);
int test_vprintf_stdout(const char *fmt, va_list ap);
int test_vprintf_stderr(const char *fmt, va_list ap);
/* These return failure or success */
int test_flush_stdout(void);
int test_flush_stderr(void);
extern BIO *bio_out;
extern BIO *bio_err;
int subtest_level(void);
#endif /* HEADER_TESTUTIL_H */

View File

@ -8,6 +8,7 @@
*/
#include "../testutil.h"
#include "output.h"
#include <openssl/crypto.h>
#include <openssl/bio.h>

View File

@ -8,6 +8,7 @@
*/
#include "../testutil.h"
#include "output.h"
#include <string.h>
#include <assert.h>

30
test/testutil/output.h Normal file
View File

@ -0,0 +1,30 @@
/*
* Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the OpenSSL license (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
* in the file LICENSE in the source distribution or at
* https://www.openssl.org/source/license.html
*/
#ifndef HEADER_TU_OUTPUT_H
# define HEADER_TU_OUTPUT_H
#include <stdarg.h>
/*
* The basic I/O functions used internally by the test framework. These
* can be overriden when needed. Note that if one is, then all must be.
*/
void test_open_streams(void);
void test_close_streams(void);
/* The following ALL return the number of characters written */
int test_puts_stdout(const char *str);
int test_puts_stderr(const char *str);
int test_vprintf_stdout(const char *fmt, va_list ap);
int test_vprintf_stderr(const char *fmt, va_list ap);
/* These return failure or success */
int test_flush_stdout(void);
int test_flush_stderr(void);
#endif /* HEADER_TU_OUTPUT_H */

View File

@ -8,6 +8,7 @@
*/
#include "../testutil.h"
#include "output.h"
#include <stdio.h>

View File

@ -8,6 +8,7 @@
*/
#include "../testutil.h"
#include "output.h"
#include <string.h>
#include "../../e_os.h"