All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolas Iooss <nicolas.iooss@m4x.org>
To: Paul Moore <paul@paul-moore.com>,
	William Roberts <bill.c.roberts@gmail.com>
Cc: SElinux list <selinux@vger.kernel.org>,
	Stephen Smalley <stephen.smalley.work@gmail.com>
Subject: Re: travis: any reason we have keep going on make commands
Date: Fri, 10 Jul 2020 11:08:28 +0200	[thread overview]
Message-ID: <CAJfZ7=kyieBs6_NPE3k2tyNSydrwmVT7k3kcmd=0Xsi7JoD2Zg@mail.gmail.com> (raw)
In-Reply-To: <CAHC9VhQkTgYFQ5ncLDJpOcqynWam3QY7udLQoUYSb3HgkvdboQ@mail.gmail.com>

On Thu, Jul 9, 2020 at 8:00 PM Paul Moore <paul@paul-moore.com> wrote:
>
> On Thu, Jul 9, 2020 at 10:33 AM William Roberts
> <bill.c.roberts@gmail.com> wrote:
> > So Nicolas initially created our travis script in commit c9adfe2d2653
> > and has -k, or keep going, on the make commands. This causes make to
> > plow ahead and bury the errors in the logs. Stephen noticed this the
> > other day, and we have been chatting about it out of band and wanted
> > to pull in the community.
> >
> > Are their compelling reasons for keeping this behavior? I am also
> > concerned that we could get false positives on travis success results.
>
> In my opinion the whole point of automated testing is to catch
> failures early and often.  For that reason I would want the test to
> fail and stop, both because I find it easier to identify the failure
> that way and also because I'm not sure I would trust much of the
> testing that occurred after an error condition.
>
Hi,
There seems to be some confusion:

* "make -k" does not stop the "make" command at the first error and
allows seeing all the errors when there are several ones. In my humble
opinion, it makes sense when compiling ("make all") and not when
running tests ("make test"), and this is actually what is right now in
Travis-CI. "make -k" returns a failure exit code when an error
happens.

* Travis-CI does not stop the job as soon as a sub-command fails. If I
understand correctly, this is what really bothers William, and I agree
this is a behavior that can be improved. According to
https://github.com/travis-ci/travis-ci/issues/1066, a possible
solution could be to use "set -e", which could have unexpected
side-effects in launched commands. It is possible to "emulate set -e"
by adding exit statements, such as :

    - make install $EXPLICIT_MAKE_VARS -k || exit $?
    - make install-pywrap $EXPLICIT_MAKE_VARS -k || exit $?
    - make install-rubywrap $EXPLICIT_MAKE_VARS -k || exit $?
    # ...
    - make test $EXPLICIT_MAKE_VARS || exit $?

I have not tested whether this works on Travis-CI, but if it does, it
would be a nice improvement. I will take a look this week-end.

Cheers,
Nicolas


  reply	other threads:[~2020-07-10  9:20 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-09 14:33 travis: any reason we have keep going on make commands William Roberts
2020-07-09 18:00 ` Paul Moore
2020-07-10  9:08   ` Nicolas Iooss [this message]
2020-07-10 15:22     ` William Roberts
2020-07-11 16:56       ` Nicolas Iooss
2020-07-11 19:28         ` William Roberts
2020-07-13 19:01           ` William Roberts

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='CAJfZ7=kyieBs6_NPE3k2tyNSydrwmVT7k3kcmd=0Xsi7JoD2Zg@mail.gmail.com' \
    --to=nicolas.iooss@m4x.org \
    --cc=bill.c.roberts@gmail.com \
    --cc=paul@paul-moore.com \
    --cc=selinux@vger.kernel.org \
    --cc=stephen.smalley.work@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.