public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
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

  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