From: Petri Latvala <petri.latvala@intel.com>
To: Lyude Paul <lyude@redhat.com>
Cc: igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH i-g-t 3/7] lib: Stop using assert() for runtime checks
Date: Wed, 24 Apr 2019 13:13:43 +0300 [thread overview]
Message-ID: <20190424101343.GW22949@platvala-desk.ger.corp.intel.com> (raw)
In-Reply-To: <9670ac4a8a56283aeaf71bc873d0cc63dc38df20.camel@redhat.com>
On Tue, Apr 23, 2019 at 08:36:43PM -0400, Lyude Paul wrote:
> On Wed, 2019-04-17 at 11:52 +0300, Petri Latvala wrote:
> > On Tue, Apr 16, 2019 at 04:10:57PM -0400, Lyude wrote:
> > > From: Lyude Paul <lyude@redhat.com>
> > >
> > > In the process of trying to get an up to date version of igt packaged
> > > for Fedora I discovered that if igt was built with -Db_ndebug=true, a
> > > significant portion of the test infrastructure unit tests would start
> > > failing:
> > >
> > > 1/265 lib: igt_assert OK 0.11 s
> > > 2/265 lib: igt_can_fail OK 0.08 s
> > > 3/265 lib: igt_can_fail_simple OK 0.08 s
> > > 4/265 lib: igt_exit_handler OK 0.05 s
> > > 5/265 lib: igt_fork FAIL 0.05 s (killed by
> > > signal 9 SIGKILL)
> > > 6/265 lib: igt_fork_helper OK 0.42 s
> > > 7/265 lib: igt_hdmi_inject OK 0.05 s
> > > 8/265 lib: igt_list_only OK 0.01 s
> > > 9/265 lib: igt_invalid_subtest_name OK 0.05 s
> > > 10/265 lib: igt_no_exit OK 0.04 s
> > > 11/265 lib: igt_segfault OK 0.38 s
> > > 12/265 lib: igt_simulation OK 0.02 s
> > > 13/265 lib: igt_stats OK 0.04 s
> > > 14/265 lib: igt_subtest_group OK 0.03 s
> > > 15/265 lib: igt_no_subtest SKIP 0.02 s
> > > 16/265 lib: igt_simple_test_subtests UNEXPECTEDPASS 0.02 s
> > > 17/265 lib: igt_timeout EXPECTEDFAIL 1.02 s
> > >
> > > Which appeared to stem from the fact that -Db_ndebug=true would strip
> > > assert() calls. While on a first glance of lib/tests/igt_tests_common.h
> > > one would assume that the only user of assert() was the test
> > > infrastructure unit tests themselves, it turns out we've actually been
> > > using this in multiple spots that seem to expect an unconditional
> > > runtime check.
> >
> > Umm, yes. You've uncovered a bug, but not what you think. With meson,
> > we don't include lib/check-ndebug.h anymore, only with autotools so
> > you missed the important part: Do not attempt to build IGT with
> > b_ndebug=true.
>
> If igt really isn't supposed to be built with -Db_ndebug=true we really should
> add explicit checks for this in our meson.build file, e.g.
>
> if get_option("b_ndebug") == true
> error("Building with -Db_ndebug=true is not supported")
> endif
>
> Especially since the default in meson upstream is going to be changing to having
> -Db_ndebug=true on release builds pretty soon. I'll include a patch for this in
> the v3 respin.
Yep, an explicit check sounds good. And overriding the default in the
project() call in toplevel meson.build. And having lib/check-ndebug.h
used in meson builds is a TODO item as well, in case people have a
manual -DNDEBUG in their cflags.
--
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
next prev parent reply other threads:[~2019-04-24 10:13 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-16 20:10 [igt-dev] [PATCH i-g-t 0/7] Fixes from updating igt packaging in Fedora Lyude
2019-04-16 20:10 ` [igt-dev] [PATCH i-g-t 1/7] lib/tests: Fix test failures with meson 0.50.0 Lyude
2019-04-17 8:29 ` Petri Latvala
2019-04-16 20:10 ` [igt-dev] [PATCH i-g-t 2/7] meson: Don't redefine gettid if the C library provides it Lyude
2019-04-17 8:37 ` Petri Latvala
2019-04-16 20:10 ` [igt-dev] [PATCH i-g-t 3/7] lib: Stop using assert() for runtime checks Lyude
2019-04-17 8:52 ` Petri Latvala
2019-04-24 0:36 ` Lyude Paul
2019-04-24 10:13 ` Petri Latvala [this message]
2019-04-16 20:10 ` [igt-dev] [PATCH i-g-t 4/7] lib/igt_core: Just use igt_can_fail() in __igt_run_subtest() Lyude
2019-04-17 9:05 ` Petri Latvala
2019-04-16 20:10 ` [igt-dev] [PATCH i-g-t 5/7] Use pkgconfig() macros with dnf in Fedora Dockerfile Lyude
2019-04-17 9:09 ` Petri Latvala
2019-04-24 17:18 ` Lyude Paul
2019-04-16 20:11 ` [igt-dev] [PATCH i-g-t 6/7] Update Dockerfile.fedora to Fedora 29 Lyude
2019-04-16 20:11 ` [igt-dev] [PATCH i-g-t 7/7] Gitlab CI: Do builds with -Db_ndebug=true Lyude
2019-04-16 20:44 ` [igt-dev] ✓ Fi.CI.BAT: success for Fixes from updating igt packaging in Fedora Patchwork
2019-04-17 6:04 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190424101343.GW22949@platvala-desk.ger.corp.intel.com \
--to=petri.latvala@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=lyude@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox