Turn on exceptions in test tools.
This allows us to test things that, e.g., throw std::bad_alloc. Change-Id: I6409159b89f1d93d403b1a1f40539cf2531a8b68 Reviewed-on: https://skia-review.googlesource.com/34982 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
This commit is contained in:
parent
ecf78acaa0
commit
c667dff58d
7
BUILD.gn
7
BUILD.gn
@ -883,6 +883,9 @@ if (skia_enable_tools) {
|
||||
":skia_private",
|
||||
]
|
||||
|
||||
configs -= [ "//gn:no_exceptions" ]
|
||||
configs += [ "//gn:yes_exceptions" ]
|
||||
|
||||
if (!defined(deps)) {
|
||||
deps = []
|
||||
}
|
||||
@ -896,6 +899,8 @@ if (skia_enable_tools) {
|
||||
shared_library("lib" + target_name) {
|
||||
forward_variables_from(invoker, "*", [ "is_shared_library" ])
|
||||
configs += [ ":skia_private" ]
|
||||
configs -= [ "//gn:no_exceptions" ]
|
||||
configs += [ "//gn:yes_exceptions" ]
|
||||
testonly = true
|
||||
}
|
||||
} else {
|
||||
@ -903,6 +908,8 @@ if (skia_enable_tools) {
|
||||
executable(_executable) {
|
||||
forward_variables_from(invoker, "*", [ "is_shared_library" ])
|
||||
configs += [ ":skia_private" ]
|
||||
configs -= [ "//gn:no_exceptions" ]
|
||||
configs += [ "//gn:yes_exceptions" ]
|
||||
testonly = true
|
||||
}
|
||||
}
|
||||
|
@ -258,11 +258,16 @@ config("default") {
|
||||
}
|
||||
|
||||
config("no_exceptions") {
|
||||
# Exceptions are disabled by default on Windows. (Use /EHsc to enable them.)
|
||||
# Exceptions are disabled by default on Windows. (Use :yes_exceptions to enable them.)
|
||||
if (!is_win) {
|
||||
cflags_cc = [ "-fno-exceptions" ]
|
||||
}
|
||||
}
|
||||
config("yes_exceptions") {
|
||||
if (is_win) {
|
||||
cflags_cc = [ "/EHsc" ]
|
||||
}
|
||||
}
|
||||
|
||||
config("warnings") {
|
||||
cflags = []
|
||||
|
@ -62,6 +62,7 @@ tests_sources = [
|
||||
"$_tests/EGLImageTest.cpp",
|
||||
"$_tests/EmptyPathTest.cpp",
|
||||
"$_tests/EncodeTest.cpp",
|
||||
"$_tests/ExceptionTest.cpp",
|
||||
"$_tests/ExifTest.cpp",
|
||||
"$_tests/F16StagesTest.cpp",
|
||||
"$_tests/FillPathTest.cpp",
|
||||
|
19
tests/ExceptionTest.cpp
Normal file
19
tests/ExceptionTest.cpp
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Copyright 2017 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "Test.h"
|
||||
|
||||
// Just a little meta-test that our test tools can compile and link with exceptions enabled.
|
||||
DEF_TEST(Exceptions, r) {
|
||||
bool exception_caught = false;
|
||||
try {
|
||||
throw 42;
|
||||
} catch (...) {
|
||||
exception_caught = true;
|
||||
}
|
||||
REPORTER_ASSERT(r, exception_caught);
|
||||
}
|
Loading…
Reference in New Issue
Block a user