mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-22 11:23:29 +01:00
Add Detail::getEnv wrapper that compiles under UWP
Under UWP it will always return nullptr, so UWP will essentially behave as if the environment was just empty.
This commit is contained in:
parent
2d0dcc36e8
commit
3fed2307e7
@ -78,6 +78,7 @@ set(INTERNAL_HEADERS
|
||||
${SOURCES_DIR}/internal/catch_exception_translator_registry.hpp
|
||||
${SOURCES_DIR}/internal/catch_fatal_condition_handler.hpp
|
||||
${SOURCES_DIR}/internal/catch_floating_point_helpers.hpp
|
||||
${SOURCES_DIR}/internal/catch_getenv.hpp
|
||||
${SOURCES_DIR}/internal/catch_istream.hpp
|
||||
${SOURCES_DIR}/internal/catch_unique_name.hpp
|
||||
${SOURCES_DIR}/internal/catch_sharding.hpp
|
||||
@ -184,6 +185,7 @@ set(IMPL_SOURCES
|
||||
${SOURCES_DIR}/internal/catch_exception_translator_registry.cpp
|
||||
${SOURCES_DIR}/internal/catch_fatal_condition_handler.cpp
|
||||
${SOURCES_DIR}/internal/catch_floating_point_helpers.cpp
|
||||
${SOURCES_DIR}/internal/catch_getenv.cpp
|
||||
${SOURCES_DIR}/internal/catch_istream.cpp
|
||||
${SOURCES_DIR}/internal/catch_parse_numbers.cpp
|
||||
${SOURCES_DIR}/interfaces/catch_interfaces_generatortracker.cpp
|
||||
|
@ -68,6 +68,7 @@
|
||||
#include <catch2/internal/catch_exception_translator_registry.hpp>
|
||||
#include <catch2/internal/catch_fatal_condition_handler.hpp>
|
||||
#include <catch2/internal/catch_floating_point_helpers.hpp>
|
||||
#include <catch2/internal/catch_getenv.hpp>
|
||||
#include <catch2/internal/catch_istream.hpp>
|
||||
#include <catch2/internal/catch_lazy_expr.hpp>
|
||||
#include <catch2/internal/catch_leak_detector.hpp>
|
||||
|
36
src/catch2/internal/catch_getenv.cpp
Normal file
36
src/catch2/internal/catch_getenv.cpp
Normal file
@ -0,0 +1,36 @@
|
||||
|
||||
// Copyright Catch2 Authors
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// https://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
|
||||
#include <catch2/internal/catch_getenv.hpp>
|
||||
#include <catch2/internal/catch_platform.hpp>
|
||||
|
||||
#include <cstdlib>
|
||||
|
||||
namespace Catch {
|
||||
namespace Detail {
|
||||
|
||||
#if defined( CATCH_PLATFORM_WINDOWS_UWP )
|
||||
char const* getEnv( char const* ) { return nullptr; }
|
||||
#else
|
||||
|
||||
char const* getEnv( char const* varName ) {
|
||||
# if defined( _MSC_VER )
|
||||
# pragma warning( push )
|
||||
# pragma warning( disable : 4996 ) // use getenv_s instead of getenv
|
||||
# endif
|
||||
|
||||
return std::getenv( varName );
|
||||
|
||||
# if defined( _MSC_VER )
|
||||
# pragma warning( pop )
|
||||
# endif
|
||||
#endif
|
||||
}
|
||||
|
||||
} // namespace Detail
|
||||
} // namespace Catch
|
20
src/catch2/internal/catch_getenv.hpp
Normal file
20
src/catch2/internal/catch_getenv.hpp
Normal file
@ -0,0 +1,20 @@
|
||||
|
||||
// Copyright Catch2 Authors
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// https://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
#ifndef CATCH_GETENV_HPP_INCLUDED
|
||||
#define CATCH_GETENV_HPP_INCLUDED
|
||||
|
||||
namespace Catch {
|
||||
namespace Detail {
|
||||
|
||||
//! Wrapper over `std::getenv` that compiles on UWP (and always returns nullptr there)
|
||||
char const* getEnv(char const* varName);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif // CATCH_GETENV_HPP_INCLUDED
|
@ -90,6 +90,7 @@ internal_headers = [
|
||||
'internal/catch_exception_translator_registry.hpp',
|
||||
'internal/catch_fatal_condition_handler.hpp',
|
||||
'internal/catch_floating_point_helpers.hpp',
|
||||
'internal/catch_getenv.hpp',
|
||||
'internal/catch_istream.hpp',
|
||||
'internal/catch_lazy_expr.hpp',
|
||||
'internal/catch_leak_detector.hpp',
|
||||
@ -202,6 +203,7 @@ internal_sources = files(
|
||||
'internal/catch_exception_translator_registry.cpp',
|
||||
'internal/catch_fatal_condition_handler.cpp',
|
||||
'internal/catch_floating_point_helpers.cpp',
|
||||
'internal/catch_getenv.cpp',
|
||||
'internal/catch_istream.cpp',
|
||||
'internal/catch_lazy_expr.cpp',
|
||||
'internal/catch_leak_detector.cpp',
|
||||
|
Loading…
Reference in New Issue
Block a user