From af835bb95eeffefb14febcaeec735836c4c9c7b4 Mon Sep 17 00:00:00 2001 From: Snaipe Date: Tue, 15 Sep 2015 19:45:57 +0200 Subject: [PATCH] Added conditional GCC5 test for file mocking --- test/redirect.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/redirect.cc b/test/redirect.cc index 0563ea9..c65c9c1 100644 --- a/test/redirect.cc +++ b/test/redirect.cc @@ -5,6 +5,7 @@ // set a timeout for I/O tests TestSuite(redirect, .timeout = 0.1); +#if __GNUC__ >= 5 Test(redirect, mock) { auto fmock = criterion::mock_file(); @@ -16,6 +17,20 @@ Test(redirect, mock) { cr_assert_eq(contents, "Hello"); } +#endif + +Test(redirect, mock_c) { + std::FILE* fmock = cr_mock_file_size(4096); + + std::fprintf(fmock, "Hello"); + std::fflush(fmock); + std::rewind(fmock); + + char contents[sizeof ("Hello")] = {0}; + fgets(contents, sizeof (contents), fmock); + + cr_assert_str_eq(contents, "Hello"); +} Test(redirect, stdout_) { cr_redirect_stdout();