-
Notifications
You must be signed in to change notification settings - Fork 10.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GTEST_SKIP() << {message}
doesn't output message when executed from SetUp() fixtures
#2208
Comments
GTEST_SKIP() < <message>
doesn't output message when executed from SetUp() fixturesGTEST_SKIP() << {message}
doesn't output message when executed from SetUp() fixtures
This change adds fine grained execution of Google Test test programs. First, the Google Test test is executed with `--gtest_list_tests`. Next, based on the output from `--gtest_list_tests`, the testcases are run individually. The output from each unique testcase is based on the standard output it provides, per the test output protocol defined in the GoogleTest docs on github [1], [2], and instrumented via various demo programs I created, which can be found on GitHub [here](https://github.com/ngie-eign/scratch/tree/master/programming/c%2B%2B/gtest). This support is a very rough cut to provide an initial working integration effort. There're additional improvements that can be made by leveraging either the JSON or XML structured output format, instead of scraping standard output using beginning and ending sentinels to search for regular expressions. In order to do that though without reinventing the wheel, Kyua would need to rely on an external JSON or XML library. This test interface supports fine grained execution of test programs like the ATF test interface, but matches behavior of plain/TAP interfaces by instead supporting metadata passing via `$TEST_ENV_` prefixed environment variables. This support adds additional tests for verifying pass, fail, skip (will be available in version 1.9.0 and is available in FreeBSD base's version of Google Test), and disabled result determination, using mock output and a mock test program (`engine/googletest_helpers`), for parity with other test formats (ATF, plain, TAP). The helper test program purposely avoids relying on `getopt_long*` for portability reasons, and the GoogleTest test infrastructure, in order to limit Kyua's dependencies. As part of this change, `store/read_transaction.cpp` needed to support optional reasons provided with skip results. While it's bad form to omit test results with tests, providing a reason is optional with Google Test, and unfortunately not all portions of the test framework output a reason when `GTEST_SKIP()` is called. See the issue in [3] for one such example issue when `GTEST_SKIP()` is called from SetUp test fixtures. 1. https://github.com/google/googletest/blob/master/googletest/docs/primer.md 2. https://github.com/google/googletest/blob/master/googletest/docs/advanced.md 3. google/googletest#2208 Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
This change adds fine grained execution of Google Test test programs. First, the Google Test test is executed with `--gtest_list_tests`. Next, based on the output from `--gtest_list_tests`, the testcases are run individually. The output from each unique testcase is based on the standard output it provides, per the test output protocol defined in the GoogleTest docs on github [1], [2], and instrumented via various demo programs I created, which can be found on GitHub [here](https://github.com/ngie-eign/scratch/tree/master/programming/c%2B%2B/gtest). This support is a very rough cut to provide an initial working integration effort. There're additional improvements that can be made by leveraging either the JSON or XML structured output format, instead of scraping standard output using beginning and ending sentinels to search for regular expressions. In order to do that though without reinventing the wheel, Kyua would need to rely on an external JSON or XML library. This test interface supports fine grained execution of test programs like the ATF test interface, but matches behavior of plain/TAP interfaces by instead supporting metadata passing via `$TEST_ENV_` prefixed environment variables. This support adds additional tests for verifying pass, fail, skip (will be available in version 1.9.0 and is available in FreeBSD base's version of Google Test), and disabled result determination, using mock output and a mock test program (`engine/googletest_helpers`), for parity with other test formats (ATF, plain, TAP). The helper test program purposely avoids relying on `getopt_long*` for portability reasons, and the GoogleTest test infrastructure, in order to limit Kyua's dependencies. As part of this change, `store/read_transaction.cpp` needed to support optional reasons provided with skip results. While it's bad form to omit test results with tests, providing a reason is optional with Google Test, and unfortunately not all portions of the test framework output a reason when `GTEST_SKIP()` is called. See the issue in [3] for one such example issue when `GTEST_SKIP()` is called from SetUp test fixtures. 1. https://github.com/google/googletest/blob/master/googletest/docs/primer.md 2. https://github.com/google/googletest/blob/master/googletest/docs/advanced.md 3. google/googletest#2208 Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
This change adds fine grained execution of Google Test test programs. First, the Google Test test is executed with `--gtest_list_tests`. Next, based on the output from `--gtest_list_tests`, the testcases are run individually. The output from each unique testcase is based on the standard output it provides, per the test output protocol defined in the GoogleTest docs on github [1], [2], and instrumented via various demo programs I created, which can be found on GitHub [here](https://github.com/ngie-eign/scratch/tree/master/programming/c%2B%2B/gtest). This support is a very rough cut to provide an initial working integration effort. There're additional improvements that can be made by leveraging either the JSON or XML structured output format, instead of scraping standard output using beginning and ending sentinels to search for regular expressions. In order to do that though without reinventing the wheel, Kyua would need to rely on an external JSON or XML library. This test interface supports fine grained execution of test programs like the ATF test interface, but matches behavior of plain/TAP interfaces by instead supporting metadata passing via `$TEST_ENV_` prefixed environment variables. This support adds additional tests for verifying pass, fail, skip (will be available in version 1.9.0 and is available in FreeBSD base's version of Google Test), and disabled result determination, using mock output and a mock test program (`engine/googletest_helpers`), for parity with other test formats (ATF, plain, TAP). The helper test program purposely avoids relying on `getopt_long*` for portability reasons, and the GoogleTest test infrastructure, in order to limit Kyua's dependencies. As part of this change, `store/read_transaction.cpp` needed to support optional reasons provided with skip results. While it's bad form to omit test results with tests, providing a reason is optional with Google Test, and unfortunately not all portions of the test framework output a reason when `GTEST_SKIP()` is called. See the issue in [3] for one such example issue when `GTEST_SKIP()` is called from SetUp test fixtures. 1. https://github.com/google/googletest/blob/master/googletest/docs/primer.md 2. https://github.com/google/googletest/blob/master/googletest/docs/advanced.md 3. google/googletest#2208 Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
This also happens in skips that are not in This also affects me. I think the fix is just:
I confirmed via a run on an EdenFS test that uses a skip:
Prior to the fix, the skip message would not be displayed. |
Thank you very much for this report. The best way to approach this would be to create a proper PR and submit it for consideration. |
...
@snarkmaster: this proposed change looks good to me. Could you please post a PR with it so it can be run through CI, etc? |
Closes google#2208 Previously, skip messages were invisible, so debugging skips was hard. Now we have this: ``` $ ./googletest/gtest_skip_test Running main() from /home/lesha/github/snarkmaster/googletest/googletest/src/gtest_main.cc [==========] Running 3 tests from 2 test suites. [----------] Global test environment set-up. [----------] 1 test from SkipTest [ RUN ] SkipTest.DoesSkip /home/lesha/github/snarkmaster/googletest/googletest/test/gtest_skip_test.cc:38: Skipped skipping single test [ SKIPPED ] SkipTest.DoesSkip (0 ms) [----------] 1 test from SkipTest (1 ms total) ... ```
@ngie-eign, in the PR #2517 I made an additional tweak to the string to make the messages look a bit better, but otherwise it's the fix I proposed here (plus a unit test). |
Closes google#2208 Previously, skip messages were invisible, so debugging skips was hard. Now we have this: ``` $ ./googletest/gtest_skip_test Running main() from /home/lesha/github/snarkmaster/googletest/googletest/src/gtest_main.cc [==========] Running 3 tests from 2 test suites. [----------] Global test environment set-up. [----------] 1 test from SkipTest [ RUN ] SkipTest.DoesSkip /home/lesha/github/snarkmaster/googletest/googletest/test/gtest_skip_test.cc:38: Skipped skipping single test [ SKIPPED ] SkipTest.DoesSkip (0 ms) [----------] 1 test from SkipTest (1 ms total) ... ```
This change adds fine grained execution of Google Test test programs. First, the Google Test test is executed with `--gtest_list_tests`. Next, based on the output from `--gtest_list_tests`, the testcases are run individually. The output from each unique testcase is based on the standard output it provides, per the test output protocol defined in the GoogleTest docs on github [1], [2], and instrumented via various demo programs I created, which can be found on GitHub [here](https://github.com/ngie-eign/scratch/tree/master/programming/c%2B%2B/gtest). This support provides initial working integration for the GoogleTest framework. There're additional improvements that can be made by leveraging either the JSON or XML structured output format, instead of scraping standard output using beginning and ending sentinels to search for regular expressions. In order to do that though without reinventing the wheel, Kyua would need to rely on an external JSON or XML library. This test interface supports fine grained execution of test programs like the ATF test interface, but matches behavior of plain/TAP interfaces by instead supporting metadata passing via `$TEST_ENV_` prefixed environment variables. This support adds additional tests for verifying pass, fail, skip (available in GoogleTest 1.9.0+), and disabled result determination, using mock output and a mock test program (`engine/googletest_helpers`), for parity with other test formats (ATF, plain, TAP). The helper test program purposely avoids relying on `getopt_long*` for portability reasons, and the GoogleTest test infrastructure, in order to limit Kyua's dependencies. As part of this change, `store/read_transaction.cpp` needed to support optional reasons provided with skip results. While it's bad form to omit test results with tests, providing a reason is optional with Google Test, and unfortunately not all portions of the test framework output a reason when `GTEST_SKIP()` is called. See the issue in [3] for one such example issue when `GTEST_SKIP()` is called from SetUp test fixtures. 1. https://github.com/google/googletest/blob/master/googletest/docs/primer.md 2. https://github.com/google/googletest/blob/master/googletest/docs/advanced.md 3. google/googletest#2208 Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
This change adds fine grained execution of Google Test test programs. First, the Google Test test is executed with `--gtest_list_tests`. Next, based on the output from `--gtest_list_tests`, the testcases are run individually. The output from each unique testcase is based on the standard output it provides, per the test output protocol defined in the GoogleTest docs on github [1], [2], and instrumented via various demo programs I created, which can be found on GitHub [here](https://github.com/ngie-eign/scratch/tree/master/programming/c%2B%2B/gtest). This support provides initial working integration for the GoogleTest framework. There're additional improvements that can be made by leveraging either the JSON or XML structured output format, instead of scraping standard output using beginning and ending sentinels to search for regular expressions. In order to do that though without reinventing the wheel, Kyua would need to rely on an external JSON or XML library. This test interface supports fine grained execution of test programs like the ATF test interface, but matches behavior of plain/TAP interfaces by instead supporting metadata passing via `$TEST_ENV_` prefixed environment variables. This support adds additional tests for verifying pass, fail, skip (available in GoogleTest 1.9.0+), and disabled result determination, using mock output and a mock test program (`engine/googletest_helpers`), for parity with other test formats (ATF, plain, TAP). The helper test program purposely avoids relying on `getopt_long*` for portability reasons, and the GoogleTest test infrastructure, in order to limit Kyua's dependencies. As part of this change, `store/read_transaction.cpp` needed to support optional reasons provided with skip results. While it's bad form to omit test results with tests, providing a reason is optional with Google Test, and unfortunately not all portions of the test framework output a reason when `GTEST_SKIP()` is called. See the issue in [3] for one such example issue when `GTEST_SKIP()` is called from SetUp test fixtures. 1. https://github.com/google/googletest/blob/master/googletest/docs/primer.md 2. https://github.com/google/googletest/blob/master/googletest/docs/advanced.md 3. google/googletest#2208 Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
This change adds fine grained execution of GoogleTest test programs. How it's done: First, the GoogleTest test is executed with `--gtest_list_tests`. Next, based on the output from `--gtest_list_tests`, the testcases are run individually. The output from each unique testcase is based on the standard output it provides, per the test output protocol defined in the GoogleTest docs on github [1], [2], and instrumented via various demo programs I created, which can be found on GitHub [here](https://github.com/ngie-eign/scratch/tree/master/programming/c%2B%2B/gtest). Implementation notes and rationale: This support provides initial working integration for the GoogleTest framework. There're additional improvements that can be made by leveraging either the JSON or XML structured output format, instead of scraping standard output using beginning and ending sentinels to search for regular expressions. In order to do that though without reinventing the wheel, Kyua would need to rely on an external JSON or XML library. This test interface supports fine grained execution of test programs like the ATF test interface, but matches behavior of plain/TAP interfaces by instead supporting metadata passing via `$TEST_ENV_` prefixed environment variables. This support adds additional tests for verifying pass, fail, skip (available in GoogleTest 1.9.0+), and disabled result determination, using mock output and a mock test program (`engine/googletest_helpers`), for parity with other test formats (ATF, plain, TAP). The helper test program purposely avoids relying on `getopt_long*` for portability reasons, and the GoogleTest test infrastructure, in order to limit Kyua's dependencies. As part of this change, `store/read_transaction.cpp` needed to support optional reasons provided with skip results. While it's bad form to omit test results with tests, providing a reason is optional with GoogleTest, and unfortunately not all portions of the test framework output a reason when `GTEST_SKIP()` is called. See the issue in [3] for one such example issue when `GTEST_SKIP()` is called from SetUp test fixtures. 1. https://github.com/google/googletest/blob/master/googletest/docs/primer.md 2. https://github.com/google/googletest/blob/master/googletest/docs/advanced.md 3. google/googletest#2208 Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
This change adds fine grained execution of GoogleTest framework-based test programs. How it's done: First, the GoogleTest test is executed with `--gtest_list_tests`. Next, based on the output from `--gtest_list_tests`, the testcases are run individually. The output from each unique testcase is based on the standard output it provides, per the test output protocol defined in the GoogleTest docs on github [1], [2], and instrumented via various demo programs I created, which can be found on GitHub [here](https://github.com/ngie-eign/scratch/tree/master/programming/c%2B%2B/gtest). Implementation notes and rationale: This support provides initial working integration for the GoogleTest framework. There're additional improvements that can be made by leveraging either the JSON or XML structured output format, instead of scraping standard output using beginning and ending sentinels to search for regular expressions. In order to do that though without reinventing the wheel, Kyua would need to rely on an external JSON or XML library. This test interface supports fine grained execution of test programs like the ATF test interface, but matches behavior of plain/TAP interfaces by instead supporting metadata passing via `$TEST_ENV_` prefixed environment variables. This support adds additional tests for verifying pass, fail, skip (available in GoogleTest 1.9.0+), and disabled result determination, using mock output and a mock test program (`engine/googletest_helpers`), for parity with other test formats (ATF, plain, TAP). The helper test program purposely avoids relying on `getopt_long*` for portability reasons, and the GoogleTest test infrastructure, in order to limit Kyua's dependencies. As part of this change, `store/read_transaction.cpp` needed to support optional reasons provided with skip results. While it's bad form to omit test results with tests, providing a reason is optional with GoogleTest, and unfortunately not all portions of the test framework output a reason when `GTEST_SKIP()` is called. See the issue in [3] for one such example issue when `GTEST_SKIP()` is called from SetUp test fixtures. 1. https://github.com/google/googletest/blob/master/googletest/docs/primer.md 2. https://github.com/google/googletest/blob/master/googletest/docs/advanced.md 3. google/googletest#2208 Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
This change adds fine grained execution of GoogleTest framework-based test programs. First, the GoogleTest test is executed with `--gtest_list_tests`. Next, based on the output from `--gtest_list_tests`, the testcases are run individually. Finally, the output from each unique testcase is scraped and digested by Kyua in a format that Kyua supports. The output from each unique testcase is based on the standard output it provides, per the test output protocol defined in the GoogleTest docs on github [1], [2], and instrumented via various demo programs I created, which can be found on GitHub in my [scratch repo](https://github.com/ngie-eign/scratch/tree/master/programming/c%2B%2B/gtest). This is initial framework integration. There're additional improvements that can be made by leveraging either the JSON or XML structured output format, instead of scraping standard output using beginning and ending sentinels to search for regular expressions. In order to do that though without reinventing the wheel, Kyua would need to rely on an external JSON or XML library. This test interface supports fine grained execution of test programs like the ATF test interface, but matches behavior of plain/TAP interfaces by instead supporting metadata passing via `$TEST_ENV_` prefixed environment variables. This support adds additional tests for verifying pass, fail, skip (available in GoogleTest 1.9.0+), and disabled result determination, using mock output and a mock test program (`engine/googletest_helpers`), for parity with other test formats (ATF, plain, TAP). The helper test program purposely avoids relying on `getopt_long*` for portability reasons, and the GoogleTest test infrastructure, in order to limit Kyua's dependencies. As part of this change, `store/read_transaction.cpp` needed to support optional reasons provided with skip results. While it's bad form to omit test results with tests, providing a reason is optional with GoogleTest, and unfortunately not all portions of the test framework output a reason when `GTEST_SKIP()` is called. See the issue in [3] for one such example issue when `GTEST_SKIP()` is called from SetUp test fixtures. 1. https://github.com/google/googletest/blob/master/googletest/docs/primer.md 2. https://github.com/google/googletest/blob/master/googletest/docs/advanced.md 3. google/googletest#2208 Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
This change adds fine grained execution of GoogleTest framework-based test programs. First, the GoogleTest test is executed with `--gtest_list_tests`. Next, based on the output from `--gtest_list_tests`, the testcases are run individually. Finally, the output from each unique testcase is scraped and digested by Kyua in a format that Kyua supports. The output from each unique testcase is based on the standard output it provides, per the test output protocol defined in the GoogleTest docs on github [1], [2], and instrumented via various demo programs I created, which can be found on GitHub in my [scratch repo](https://github.com/ngie-eign/scratch/tree/master/programming/c%2B%2B/gtest). This is initial framework integration. There're additional improvements that can be made by leveraging either the JSON or XML structured output format, instead of scraping standard output using beginning and ending sentinels to search for regular expressions. In order to do that though without reinventing the wheel, Kyua would need to rely on an external JSON or XML library. This test interface supports fine grained execution of test programs like the ATF test interface, but matches behavior of plain/TAP interfaces by instead supporting metadata passing via `$TEST_ENV_` prefixed environment variables. This support adds additional tests for verifying pass, fail, skip (available in GoogleTest 1.9.0+), and disabled result determination, using mock output and a mock test program (`engine/googletest_helpers`), for parity with other test formats (ATF, plain, TAP). The helper test program purposely avoids relying on `getopt_long*` for portability reasons, and the GoogleTest test infrastructure, in order to limit Kyua's dependencies. As part of this change, `store/read_transaction.cpp` needed to support optional reasons provided with skip results. While it's bad form to omit test results with tests, providing a reason is optional with GoogleTest, and unfortunately not all portions of the test framework output a reason when `GTEST_SKIP()` is called. See the issue in [3] for one such example issue when `GTEST_SKIP()` is called from SetUp test fixtures. 1. https://github.com/google/googletest/blob/master/googletest/docs/primer.md 2. https://github.com/google/googletest/blob/master/googletest/docs/advanced.md 3. google/googletest#2208 Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
This change adds fine grained execution of GoogleTest framework-based test programs. First, the GoogleTest test is executed with `--gtest_list_tests`. Next, based on the output from `--gtest_list_tests`, the testcases are run individually. Finally, the output from each unique testcase is scraped and digested by Kyua in a format that Kyua supports. The output from each unique testcase is based on the standard output it provides, per the test output protocol defined in the GoogleTest docs on github [1], [2], and instrumented via various demo programs I created, which can be found on GitHub in my [scratch repo](https://github.com/ngie-eign/scratch/tree/master/programming/c%2B%2B/gtest). This is initial framework integration. There're additional improvements that can be made by leveraging either the JSON or XML structured output format, instead of scraping standard output using beginning and ending sentinels to search for regular expressions. In order to do that though without reinventing the wheel, Kyua would need to rely on an external JSON or XML library. This test interface supports fine grained execution of test programs like the ATF test interface, but matches behavior of plain/TAP interfaces by instead supporting metadata passing via `$TEST_ENV_` prefixed environment variables. This support adds additional tests for verifying pass, fail, skip (available in GoogleTest 1.9.0+), and disabled result determination, using mock output and a mock test program (`engine/googletest_helpers`), for parity with other test formats (ATF, plain, TAP). The helper test program purposely avoids relying on `getopt_long*` for portability reasons, and the GoogleTest test infrastructure, in order to limit Kyua's dependencies. As part of this change, `store/read_transaction.cpp` needed to support optional reasons provided with skip results. While it's bad form to omit test results with tests, providing a reason is optional with GoogleTest, and unfortunately not all portions of the test framework output a reason when `GTEST_SKIP()` is called. See the issue in [3] for one such example issue when `GTEST_SKIP()` is called from SetUp test fixtures. 1. https://github.com/google/googletest/blob/master/googletest/docs/primer.md 2. https://github.com/google/googletest/blob/master/googletest/docs/advanced.md 3. google/googletest#2208 Signed-off-by: Enji Cooper <ngie@FreeBSD.org>
This change adds fine grained execution of Google Test test programs. First, the Google Test test is executed with `--gtest_list_tests`. Next, based on the output from `--gtest_list_tests`, the testcases are run individually. The output from each unique testcase is based on the standard output it provides, per the test output protocol defined in the GoogleTest docs on github [1], [2], and instrumented via various demo programs I created, which can be found on GitHub [here](https://github.com/ngie-eign/scratch/tree/master/programming/c%2B%2B/gtest). This support is a very rough cut to provide an initial working integration effort. There're additional improvements that can be made by leveraging either the JSON or XML structured output format, instead of scraping standard output using beginning and ending sentinels to search for regular expressions. In order to do that though without reinventing the wheel, Kyua would need to rely on an external JSON or XML library. This test interface supports fine grained execution of test programs like the ATF test interface, but matches behavior of plain/TAP interfaces by instead supporting metadata passing via `$TEST_ENV_` prefixed environment variables. This support adds additional tests for verifying pass, fail, skip (will be available in version 1.9.0 and is available in FreeBSD base's version of Google Test), and disabled result determination, using mock output and a mock test program (`engine/googletest_helpers`), for parity with other test formats (ATF, plain, TAP). The helper test program purposely avoids relying on `getopt_long*` for portability reasons, and the GoogleTest test infrastructure, in order to limit Kyua's dependencies. As part of this change, `store/read_transaction.cpp` needed to support optional reasons provided with skip results. While it's bad form to omit test results with tests, providing a reason is optional with Google Test, and unfortunately not all portions of the test framework output a reason when `GTEST_SKIP()` is called. See the issue in [3] for one such example issue when `GTEST_SKIP()` is called from SetUp test fixtures. 1. https://github.com/google/googletest/blob/master/googletest/docs/primer.md 2. https://github.com/google/googletest/blob/master/googletest/docs/advanced.md 3. google/googletest#2208 Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
This change adds fine grained execution of GoogleTest framework-based test programs. First, the GoogleTest test is executed with `--gtest_list_tests`. Next, based on the output from `--gtest_list_tests`, the testcases are run individually. Finally, the output from each unique testcase is scraped and digested by Kyua in a format that Kyua supports. The output from each unique testcase is based on the standard output it provides, per the test output protocol defined in the GoogleTest docs on github [1], [2], and instrumented via various demo programs I created, which can be found on GitHub in my [scratch repo](https://github.com/ngie-eign/scratch/tree/master/programming/c%2B%2B/gtest). This is initial framework integration. There're additional improvements that can be made by leveraging either the JSON or XML structured output format, instead of scraping standard output using beginning and ending sentinels to search for regular expressions. In order to do that though without reinventing the wheel, Kyua would need to rely on an external JSON or XML library. This test interface supports fine grained execution of test programs like the ATF test interface, but matches behavior of plain/TAP interfaces by instead supporting metadata passing via `$TEST_ENV_` prefixed environment variables. This support adds additional tests for verifying pass, fail, skip (available in GoogleTest 1.9.0+), and disabled result determination, using mock output and a mock test program (`engine/googletest_helpers`), for parity with other test formats (ATF, plain, TAP). The helper test program purposely avoids relying on `getopt_long*` for portability reasons, and the GoogleTest test infrastructure, in order to limit Kyua's dependencies. As part of this change, `store/read_transaction.cpp` needed to support optional reasons provided with skip results. While it's bad form to omit test results with tests, providing a reason is optional with GoogleTest, and unfortunately not all portions of the test framework output a reason when `GTEST_SKIP()` is called. See the issue in [3] for one such example issue when `GTEST_SKIP()` is called from SetUp test fixtures. 1. https://github.com/google/googletest/blob/master/googletest/docs/primer.md 2. https://github.com/google/googletest/blob/master/googletest/docs/advanced.md 3. google/googletest#2208 Signed-off-by: Enji Cooper <ngie@FreeBSD.org>
gtest_skip_test
's Fixture tests testGTEST_SKIP() << "Fixture.SkipsAnotherTest"
as part of the fixture setup:While it definitely works (as a general feature), the diagnostic message isn't output, confusing the end-user:
Fixture.SkipsOneTest
andFixture.SkipsAnotherTest
should both be outputting "Fixture.SkipsAnotherTest".Reported by @asomers as part of https://reviews.freebsd.org/D19765 .
The text was updated successfully, but these errors were encountered: