fix(debug): add missing parentheses in ternary expression (#1035)
This commit is contained in:
parent
b172be9564
commit
6d23649fef
@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required (VERSION 3.21)
|
cmake_minimum_required (VERSION 3.22)
|
||||||
project (glog
|
project (glog
|
||||||
VERSION 0.7.0
|
VERSION 0.7.0
|
||||||
DESCRIPTION "C++ implementation of the Google logging module"
|
DESCRIPTION "C++ implementation of the Google logging module"
|
||||||
@ -908,6 +908,51 @@ if (BUILD_TESTING)
|
|||||||
-DCMAKE_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET}
|
-DCMAKE_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET}
|
||||||
-Dglog_DIR=${glog_BINARY_DIR}
|
-Dglog_DIR=${glog_BINARY_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_test (NAME dcheck_on COMMAND ${CMAKE_CTEST_COMMAND}
|
||||||
|
--build-config Debug
|
||||||
|
--build-and-test
|
||||||
|
"${glog_SOURCE_DIR}/src/dcheck_unittest"
|
||||||
|
"${glog_BINARY_DIR}/Tests/dcheck_on"
|
||||||
|
--build-generator ${CMAKE_GENERATOR}
|
||||||
|
--build-generator-platform "${CMAKE_GENERATOR_PLATFORM}"
|
||||||
|
--build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}"
|
||||||
|
--build-makeprogram ${CMAKE_MAKE_PROGRAM}
|
||||||
|
--build-target glog_dcheck
|
||||||
|
--build-options
|
||||||
|
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
||||||
|
-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON
|
||||||
|
-Dglog_DIR=${glog_BINARY_DIR}
|
||||||
|
--test-command glog_dcheck
|
||||||
|
)
|
||||||
|
set_tests_properties (dcheck_on PROPERTIES
|
||||||
|
DISABLED $<NOT:$<CONFIG:Debug,RelWithDebInfo>>
|
||||||
|
ENVIRONMENT_MODIFICATION "PATH=path_list_prepend:$<TARGET_FILE_DIR:glog>"
|
||||||
|
PASS_REGULAR_EXPRESSION "Assert failed: false"
|
||||||
|
)
|
||||||
|
|
||||||
|
add_test (NAME dcheck_off COMMAND ${CMAKE_CTEST_COMMAND}
|
||||||
|
--build-config Release
|
||||||
|
--build-and-test
|
||||||
|
"${glog_SOURCE_DIR}/src/dcheck_unittest"
|
||||||
|
"${glog_BINARY_DIR}/Tests/dcheck_off"
|
||||||
|
--build-generator ${CMAKE_GENERATOR}
|
||||||
|
--build-generator-platform "${CMAKE_GENERATOR_PLATFORM}"
|
||||||
|
--build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}"
|
||||||
|
--build-makeprogram ${CMAKE_MAKE_PROGRAM}
|
||||||
|
--build-target glog_dcheck
|
||||||
|
--build-options
|
||||||
|
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
||||||
|
-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON
|
||||||
|
-Dglog_DIR=${glog_BINARY_DIR}
|
||||||
|
--test-command glog_dcheck
|
||||||
|
)
|
||||||
|
# There should be no output
|
||||||
|
set_tests_properties (dcheck_off PROPERTIES
|
||||||
|
DISABLED $<NOT:$<CONFIG:Release,MinSizeRel>>
|
||||||
|
ENVIRONMENT_MODIFICATION "PATH=path_list_prepend:$<TARGET_FILE_DIR:glog>"
|
||||||
|
PASS_REGULAR_EXPRESSION ""
|
||||||
|
)
|
||||||
endif (BUILD_TESTING)
|
endif (BUILD_TESTING)
|
||||||
|
|
||||||
install (TARGETS glog
|
install (TARGETS glog
|
||||||
|
|||||||
7
src/dcheck_unittest/CMakeLists.txt
Normal file
7
src/dcheck_unittest/CMakeLists.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
cmake_minimum_required (VERSION 3.16)
|
||||||
|
project (glog_log_severity LANGUAGES CXX)
|
||||||
|
|
||||||
|
find_package (glog REQUIRED NO_MODULE)
|
||||||
|
|
||||||
|
add_executable (glog_dcheck glog_dcheck.cc)
|
||||||
|
target_link_libraries (glog_dcheck PRIVATE glog::glog)
|
||||||
53
src/dcheck_unittest/glog_dcheck.cc
Normal file
53
src/dcheck_unittest/glog_dcheck.cc
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
// Copyright (c) 2024, Google Inc.
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are
|
||||||
|
// met:
|
||||||
|
//
|
||||||
|
// * Redistributions of source code must retain the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer.
|
||||||
|
// * Redistributions in binary form must reproduce the above
|
||||||
|
// copyright notice, this list of conditions and the following disclaimer
|
||||||
|
// in the documentation and/or other materials provided with the
|
||||||
|
// distribution.
|
||||||
|
// * Neither the name of Google Inc. nor the names of its
|
||||||
|
// contributors may be used to endorse or promote products derived from
|
||||||
|
// this software without specific prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
//
|
||||||
|
// Author: Sergiu Deitsch
|
||||||
|
|
||||||
|
#include <glog/logging.h>
|
||||||
|
|
||||||
|
int main(int /*argc*/, char** argv) {
|
||||||
|
google::InitGoogleLogging(argv[0]);
|
||||||
|
google::InstallFailureSignalHandler();
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
// Avoid presenting an interactive dialog that will cause the test to time
|
||||||
|
// out.
|
||||||
|
_set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT);
|
||||||
|
#endif // defined(_MSC_VER)
|
||||||
|
|
||||||
|
DLOG(INFO) << "no output";
|
||||||
|
DLOG(WARNING) << "no output";
|
||||||
|
DLOG(ERROR) << "no output";
|
||||||
|
|
||||||
|
// Must not fail in release build
|
||||||
|
DLOG_ASSERT(false);
|
||||||
|
|
||||||
|
// Must be the last expression
|
||||||
|
DLOG(FATAL) << "no output";
|
||||||
|
}
|
||||||
@ -1070,7 +1070,7 @@ constexpr LogSeverity GLOG_0 = GLOG_ERROR;
|
|||||||
true ? (void)0 : google::LogMessageVoidify() & LOG(severity)
|
true ? (void)0 : google::LogMessageVoidify() & LOG(severity)
|
||||||
|
|
||||||
# define DLOG_ASSERT(condition) \
|
# define DLOG_ASSERT(condition) \
|
||||||
static_cast<void>(0), true ? (void)0 : LOG_ASSERT(condition)
|
static_cast<void>(0), true ? (void)0 : (LOG_ASSERT(condition))
|
||||||
|
|
||||||
// MSVC warning C4127: conditional expression is constant
|
// MSVC warning C4127: conditional expression is constant
|
||||||
# define DCHECK(condition) \
|
# define DCHECK(condition) \
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user