1 //     __ _____ _____ _____
2 //  __|  |   __|     |   | |  JSON for Modern C++ (supporting code)
3 // |  |  |__   |  |  | | | |  version 3.11.2
4 // |_____|_____|_____|_|___|  https://github.com/nlohmann/json
5 //
6 // SPDX-FileCopyrightText: 2013-2022 Niels Lohmann <https://nlohmann.me>
7 // SPDX-License-Identifier: MIT
8 
9 #pragma once
10 
11 #include <cstdio>   // fopen, fclose, FILE
12 #include <memory> // unique_ptr
13 #include <test_data.hpp>
14 #include <doctest.h>
15 
16 namespace utils
17 {
18 
check_testsuite_downloaded()19 inline bool check_testsuite_downloaded()
20 {
21     std::unique_ptr<std::FILE, decltype(&std::fclose)> file(std::fopen(TEST_DATA_DIRECTORY "/README.md", "r"), &std::fclose);
22     return file != nullptr;
23 }
24 
25 TEST_CASE("check test suite is downloaded")
26 {
27     REQUIRE_MESSAGE(utils::check_testsuite_downloaded(), "Test data not found in '" TEST_DATA_DIRECTORY "'. Please execute target 'download_test_data' before running this test suite. See <https://github.com/nlohmann/json#execute-unit-tests> for more information.");
28 }
29 
30 }  // namespace utils
31