Closed Bug 1350508 Opened 7 years ago Closed 7 years ago

assert() doesn't work in cubeb's gtest

Categories

(Core :: Audio/Video: cubeb, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: chunmin, Assigned: chunmin)

Details

Attachments

(1 file)

43 bytes, text/x-github-pull-request
Details | Review
The following code will pass in the cubeb's gtest

TEST(cubeb, test_assert)
{
  assert(false);
}

If it's not on purpose, then we should add:

#ifdef NDEBUG
#undef NDEBUG
#endif

before loading the assert.h to make it works.
Is it designed on purpose? or I need to add something to turn on debug mode?

The following code use assert but it does not work:
- test_overload_callback.cpp
- test_resampler.cpp
- test_sanity.cpp
Assignee: nobody → cchang
Flags: needinfo?(kinetik)
We should discourage the use of assert() in the GTests and use the GTest-provided assertions.

It looks like test_overload_callback is the only one that needs to be fixed.  The asserts in test_sanity and test_resampler are deliberate duplicates of the GTest asserts directly above/along side them purely to silence warnings from the clang static analyzer.
Flags: needinfo?(kinetik)
I think there is a bit different between assert and gtest's ASSERT_TRUE. The former is fatal and process will be halted, while the later is not. The assert(output_buffer) in test_resampler.cpp[0] will stop the test when output_buffer is nullptr and prevent from the segmentation fault.

I see the assert(output_buffer) is added in pull 223[1].

Paul, is it why you add assert there?

[0] http://searchfox.org/mozilla-central/rev/7419b368156a6efa24777b21b0e5706be89a9c2f/media/libcubeb/gtest/test_resampler.cpp#656
[1] https://github.com/kinetiknz/cubeb/pull/223/commits/dbd3183abaf59316ccd6e28f5dc1ce802e67cc6a
Flags: needinfo?(padenot)
Yeah, what kinetik said, this is needed so that scan-build knows that those can't be nullptr.
Flags: needinfo?(padenot)
Attached file pull on github
Merged in https://github.com/kinetiknz/cubeb/pull/260
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: