All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: ksummit-discuss@lists.linuxfoundation.org
Cc: James Bottomley <James.Bottomley@hansenpartnership.com>,
	Trond Myklebust <trondmy@primarydata.com>
Subject: Re: [Ksummit-discuss] [CORE TOPIC] stable workflow
Date: Fri, 29 Jul 2016 00:02:12 +0300	[thread overview]
Message-ID: <367437209.fSUZRCC4cu@avalon> (raw)
In-Reply-To: <1469543609.120686.319.camel@infradead.org>

On Tuesday 26 Jul 2016 15:33:29 David Woodhouse wrote:
> On Tue, 2016-07-26 at 06:44 -0700, Guenter Roeck wrote:
> > > We really should have more of an expectation that new code should be
> > > submitted *with* test cases. After all, it's not like people are
> > > generally submitting code that's *entirely* untested. It's more that
> > > testing is ad-hoc, and sometimes depends on running on specific
> > > hardware. But even the latter can often be fixed, with appropriate test
> > > harnesses.
> > 
> > Worthy goal, but knowing developers I am quite concerned that it would
> > result in (possibly much) less kernel contributions. In addition to
> > contributions from unaffiliated individuals, there is a lot of code in
> > vendor trees which is not upstreamed today. Demanding test cases for
> > upstreaming would for sure make the interest in upstreaming that code
> > even lower than it is today.
> Sure, but I did say an *expectation* rather than a hard requirement. We
> are nothing if not pragmatic.
> 
> Having the *infrastructure* in place, and plenty of existing examples,
> would make this a whole lot easier for submitters. And also might be a
> good proving ground for people who would otherwise be doing precisely
> the kind of 'trivial' patches which are often problematic...

That's really worth pursuing. As the author of various media-related drivers 
I've obviously run tests before submitting patches, but most of the time they 
were based on scripts quickly hacked in a ad-hoc fashion. I've been very 
creative at finding excuses for not investing more in testing until one day 
when I decided to bite the bullet and publish a unit test framework for one of 
those drivers (http://git.ideasonboard.com/renesas/vsp-tests.git). There were 
a few lessons learnt in the process that I find worth sharing.

- Having to deliver test cases to your customer (in the broader sense of the 
term, internal or external) is a very good incentive for developing a test 
suite. In this specific case I was even the one proposing to add tests as part 
as the acceptance criteria, but the important part is that the customer agreed 
to take test development time into account.

- The lack of a test infrastructure was a major reason for not developing 
tests earlier. If we want developers to write and even submit test cases we 
need to lower the barrier to entry. A proper infrastructure (with libraries, 
locations where to submit test cases, documentation, examples, ...) will not 
only make it more likely that test cases will be created and published, but 
should also hopefully avoid the proliferation of incompatible test frameworks. 

- Catching bugs through self-developed test cases is motivating. We all know 
how useful test cases are in theory, but seeing them run in practice is really 
different. I believe we would get more test cases developed if we could push 
developers through the first few steps and make them experience this by 
themselves.

-- 
Regards,

Laurent Pinchart

  parent reply	other threads:[~2016-07-28 21:02 UTC|newest]

Thread overview: 259+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-08 22:35 [Ksummit-discuss] [CORE TOPIC] stable workflow Jiri Kosina
2016-07-08 23:12 ` Guenter Roeck
2016-07-08 23:38   ` Luck, Tony
2016-07-09  8:34     ` Jiri Kosina
2016-07-09  8:58       ` Guenter Roeck
2016-07-09  9:29       ` Johannes Berg
2016-07-09 15:19         ` Jason Cooper
2016-07-09 16:04           ` Guenter Roeck
2016-07-09 19:15         ` Vlastimil Babka
2016-08-01  9:32           ` Johannes Berg
2016-08-01 11:10             ` Vlastimil Babka
2016-07-09 18:39       ` Andrew Lunn
2016-07-10  1:22       ` Rafael J. Wysocki
2016-07-08 23:52   ` Rafael J. Wysocki
2016-07-09  0:06     ` Dmitry Torokhov
2016-07-09  8:37       ` Jiri Kosina
2016-07-09  9:12         ` Mark Brown
2016-07-09  0:10   ` Dmitry Torokhov
2016-07-09  0:37     ` Rafael J. Wysocki
2016-07-09  0:43       ` Dmitry Torokhov
2016-07-09  1:53         ` Guenter Roeck
2016-07-09 10:05         ` James Bottomley
2016-07-09 15:49           ` Trond Myklebust
2016-07-09 22:41             ` Dan Williams
2016-07-10  1:34             ` James Bottomley
2016-07-10  1:43               ` Trond Myklebust
2016-07-10  1:56                 ` James Bottomley
2016-07-10  2:12                   ` Trond Myklebust
2016-07-10  2:15                   ` Rafael J. Wysocki
2016-07-10  3:00                     ` James Bottomley
2016-07-10  3:07                       ` Trond Myklebust
2016-07-26 13:35                       ` David Woodhouse
2016-07-26 13:44                         ` Guenter Roeck
2016-07-26 14:33                           ` David Woodhouse
2016-07-26 15:52                             ` Guenter Roeck
2016-07-28 21:02                             ` Laurent Pinchart [this message]
2016-07-29  0:10                               ` Steven Rostedt
2016-07-29  8:59                                 ` Laurent Pinchart
2016-07-29 14:28                                   ` Steven Rostedt
2016-08-01 13:53                                     ` Shuah Khan
2016-08-03  4:47                                       ` Bird, Timothy
2016-07-29 15:12                                   ` Mark Brown
2016-07-29 15:20                                     ` Steven Rostedt
2016-07-29 15:50                                       ` Mark Brown
2016-07-29 16:06                                         ` Steven Rostedt
2016-07-29 16:48                                           ` Mark Brown
2016-07-29 17:02                                             ` Steven Rostedt
2016-07-29 21:07                                               ` Alexandre Belloni
2016-07-29 21:40                                                 ` Steven Rostedt
2016-08-01 13:41                                                   ` Laurent Pinchart
2016-07-30 16:19                                               ` Luis R. Rodriguez
2016-08-01 13:35                                     ` Laurent Pinchart
2016-08-01 14:24                                       ` Mark Brown
2016-08-02 14:12                       ` Jani Nikula
2016-08-02 15:34                         ` Mark Brown
2016-08-02 23:17                           ` Rafael J. Wysocki
2016-08-03  9:36                             ` Jani Nikula
2016-08-03 11:09                               ` Greg KH
2016-08-03 13:05                                 ` Jani Nikula
2016-08-03 13:26                                   ` Greg KH
2016-08-03 13:48                                     ` Jiri Kosina
2016-08-03 13:57                                       ` James Bottomley
2016-08-03 13:59                                         ` Jiri Kosina
2016-08-03 14:04                                           ` James Bottomley
2016-08-03 14:10                                             ` Jiri Kosina
2016-08-04  1:23                                             ` Steven Rostedt
2016-08-04  8:20                                               ` Greg KH
2016-08-04 13:33                                                 ` Steven Rostedt
2016-08-04 15:32                                                   ` Takashi Iwai
2016-08-04 15:40                                                     ` Steven Rostedt
2016-08-04 15:47                                                     ` Jiri Kosina
2016-08-04 16:18                                                       ` Takashi Iwai
2016-08-04 16:26                                                         ` Steven Rostedt
2016-08-04 15:44                                                   ` Mark Brown
2016-08-04 15:56                                                     ` James Bottomley
2016-08-04 17:01                                                       ` Mark Brown
2016-08-04 17:11                                                         ` Steven Rostedt
2016-08-04 17:53                                                           ` Mark Brown
2016-08-05  8:16                                                           ` Jani Nikula
2016-08-04 16:14                                                     ` Steven Rostedt
2016-08-04 17:51                                                       ` Mark Brown
2016-08-04 18:16                                                       ` Geert Uytterhoeven
2016-08-04 18:44                                                         ` Steven Rostedt
2016-08-04 18:48                                                           ` Geert Uytterhoeven
2016-08-04 19:06                                                             ` Mark Brown
2016-08-04 18:52                                                           ` Laurent Pinchart
2016-08-04 19:30                                                             ` Steven Rostedt
2016-08-03 14:45                                         ` Mark Brown
2016-08-04 13:48                                         ` Geert Uytterhoeven
2016-08-03 14:19                                       ` Greg KH
2016-08-03 14:45                                         ` Jiri Kosina
2016-08-03 15:48                                           ` Guenter Roeck
2016-08-03 16:12                                             ` Dmitry Torokhov
2016-08-03 16:44                                               ` Guenter Roeck
2016-08-03 17:20                                                 ` Dmitry Torokhov
2016-08-03 18:21                                                   ` Guenter Roeck
2016-08-03 18:59                                                     ` Dmitry Torokhov
2016-08-03 21:25                                                       ` Jiri Kosina
2016-08-03 21:31                                                         ` Dmitry Torokhov
2016-08-03 21:36                                                           ` Jiri Kosina
2016-08-04  3:06                                                             ` Steven Rostedt
2016-08-03 22:25                                                           ` Guenter Roeck
2016-08-04 14:02                                                         ` Jan Kara
2016-08-03 18:57                                                 ` Jiri Kosina
2016-08-03 22:16                                                   ` Guenter Roeck
2016-08-04  3:14                                               ` Steven Rostedt
2016-08-04  3:32                                                 ` Dmitry Torokhov
2016-08-04  4:05                                                   ` Steven Rostedt
2016-08-04  8:27                                               ` Greg KH
2016-08-04  8:21                                             ` Greg KH
2016-08-05  4:46                                             ` Jonathan Cameron
2016-08-03 14:12                                     ` Jani Nikula
2016-08-03 14:33                                       ` Daniel Vetter
2016-08-03 13:20                                 ` Rafael J. Wysocki
2016-08-03 13:21                                   ` Jiri Kosina
2016-08-04  1:05                                     ` Rafael J. Wysocki
2016-08-03 13:39                                   ` Greg KH
2016-08-03 14:10                                     ` Chris Mason
2016-08-04  0:37                                     ` Rafael J. Wysocki
2016-08-03 15:47                                 ` Guenter Roeck
2016-08-04  8:25                                   ` Greg KH
2016-08-03 11:12                               ` Mark Brown
2016-07-10  2:27                   ` Dan Williams
2016-07-10  6:10                     ` Guenter Roeck
2016-07-11  4:03                     ` [Ksummit-discuss] [CORE TOPIC] kernel unit testing Trond Myklebust
2016-07-11  4:22                       ` James Bottomley
2016-07-11  4:30                         ` Trond Myklebust
2016-07-11  5:23                       ` Guenter Roeck
2016-07-11  8:56                         ` Hannes Reinecke
2016-07-11 16:20                         ` Mark Brown
2016-07-11 19:58                       ` Dan Williams
2016-07-12  9:35                         ` Jan Kara
2016-07-13  4:56                           ` Dan Williams
2016-07-13  9:04                             ` Jan Kara
2016-07-11 20:24                       ` Kevin Hilman
2016-07-11 23:03                         ` Guenter Roeck
2016-07-18  7:44                           ` Christian Borntraeger
2016-07-18  8:44                             ` Hannes Reinecke
2016-07-28 21:09                         ` Laurent Pinchart
2016-07-28 21:33                           ` Bird, Timothy
2016-08-02 18:42                           ` Kevin Hilman
2016-08-02 19:44                             ` Laurent Pinchart
2016-08-02 20:33                               ` Mark Brown
2016-07-13  4:48                       ` Alex Shi
2016-07-13  9:07                         ` Greg KH
2016-07-13 12:37                           ` Alex Shi
2016-07-13 19:59                             ` Olof Johansson
2016-07-13 22:23                               ` Alex Shi
2016-07-14  1:19                             ` Greg KH
2016-07-14  9:48                               ` Alex Shi
2016-07-14  9:54                                 ` Ard Biesheuvel
2016-07-14 14:13                                   ` Alex Shi
2016-07-13 14:34                           ` Mark Brown
2016-07-14  3:17                             ` Greg KH
2016-07-14 10:06                               ` Mark Brown
2016-07-15  0:22                                 ` Greg KH
2016-07-15  0:51                                   ` Guenter Roeck
2016-07-15  1:41                                     ` Greg KH
2016-07-15  2:56                                       ` Guenter Roeck
2016-07-15  4:29                                         ` Greg KH
2016-07-15  5:52                                           ` NeilBrown
2016-07-15  6:14                                             ` Greg KH
2016-07-15  7:02                                               ` Jiri Kosina
2016-07-15 11:42                                                 ` Greg KH
2016-07-15 11:47                                                   ` Jiri Kosina
2016-07-15 12:17                                                   ` Geert Uytterhoeven
2016-07-15  6:19                                             ` Rik van Riel
2016-07-15 12:17                                               ` Mark Brown
2016-07-26 13:45                                                 ` David Woodhouse
2016-07-15  6:32                                             ` James Bottomley
2016-07-15  7:01                                               ` NeilBrown
2016-07-15  7:28                                                 ` James Bottomley
2016-07-15  7:36                                                 ` Dmitry Torokhov
2016-07-15  9:29                                                   ` NeilBrown
2016-07-15 16:08                                                     ` Dmitry Torokhov
2016-07-15 11:05                                               ` Geert Uytterhoeven
2016-07-15 12:35                                                 ` James Bottomley
2016-07-15 12:44                                                   ` Geert Uytterhoeven
2016-07-15 11:24                                             ` Vlastimil Babka
2016-07-28 22:07                                               ` Laurent Pinchart
2016-07-21  7:13                                           ` Daniel Vetter
2016-07-21  7:44                                             ` Josh Triplett
2016-07-15 11:10                                     ` Mark Brown
2016-07-15 11:40                                       ` Greg KH
2016-07-15 12:38                                         ` Mark Brown
2016-07-10  2:07                 ` [Ksummit-discuss] [CORE TOPIC] stable workflow Rafael J. Wysocki
2016-07-10  6:19               ` Olof Johansson
2016-07-10 14:42                 ` Theodore Ts'o
2016-07-11  1:18                   ` Olof Johansson
2016-07-10  7:29           ` Takashi Iwai
2016-07-10 10:20             ` Jiri Kosina
2016-07-10 13:33               ` Guenter Roeck
2016-07-15  9:27                 ` Zefan Li
2016-07-15 13:52                   ` Guenter Roeck
2016-07-26 13:08           ` David Woodhouse
2016-07-10  7:37     ` Takashi Iwai
2016-07-09  0:06 ` Jason Cooper
2016-07-09  0:42   ` James Bottomley
2016-07-09  8:43     ` Jiri Kosina
2016-07-09  9:36       ` Mark Brown
2016-07-09 15:13         ` Guenter Roeck
2016-07-09 19:40           ` Sudip Mukherjee
2016-07-11  8:14             ` Jiri Kosina
2016-07-09 21:21           ` Theodore Ts'o
2016-07-11 15:13             ` Mark Brown
2016-07-11 17:03               ` Theodore Ts'o
2016-07-11 17:07                 ` Justin Forbes
2016-07-11 17:11                 ` Mark Brown
2016-07-11 17:13                   ` Olof Johansson
2016-07-11 17:17                     ` Mark Brown
2016-07-11 17:24                       ` Guenter Roeck
2016-07-11 17:44                         ` Mark Brown
2016-07-13  1:08                   ` Geert Uytterhoeven
2016-07-11 17:15                 ` Dmitry Torokhov
2016-07-11 17:20                   ` Theodore Ts'o
2016-07-11 17:26                     ` Dmitry Torokhov
2016-07-11 17:27                     ` Olof Johansson
2016-07-11 23:13                   ` Guenter Roeck
2016-07-11 17:17                 ` Josh Boyer
2016-07-11 22:42                 ` James Bottomley
2016-07-20 17:50                 ` Stephen Hemminger
2016-07-11  8:18           ` Jiri Kosina
2016-07-11 23:32             ` Guenter Roeck
2016-07-11 14:22           ` Mark Brown
2016-07-10 16:22         ` Vinod Koul
2016-07-10 17:01           ` Theodore Ts'o
2016-07-10 18:28             ` Guenter Roeck
2016-07-10 22:38               ` Rafael J. Wysocki
2016-07-11  8:47                 ` Jiri Kosina
2016-07-27  3:19                 ` Steven Rostedt
2016-07-10 22:39               ` Theodore Ts'o
2016-07-11  1:12                 ` Olof Johansson
2016-07-11  5:00             ` Vinod Koul
2016-07-11  5:13               ` Theodore Ts'o
2016-07-11 10:57                 ` Luis de Bethencourt
2016-07-11 14:18                 ` Vinod Koul
2016-07-11 17:34                   ` Guenter Roeck
2016-07-27  3:12                   ` Steven Rostedt
2016-07-27  4:36                     ` Vinod Koul
2016-07-09 14:57     ` Jason Cooper
2016-07-09 22:51       ` Jonathan Corbet
2016-07-10  7:21 ` Takashi Iwai
2016-07-11  7:44 ` Christian Borntraeger
2016-08-02 13:49 ` Jani Nikula
  -- strict thread matches above, loose matches on Subject: below --
2014-05-02 19:42 Jiri Kosina
2014-05-02 19:43 ` Josh Boyer
2014-05-02 20:09 ` Steven Rostedt
2014-05-02 20:12   ` Jiri Kosina
2014-05-02 20:22     ` Josh Boyer
2014-05-02 20:27     ` Steven Rostedt
2014-05-02 20:30       ` Jiri Kosina
2014-05-03 15:20       ` Greg Kroah-Hartman
2014-05-03 15:40       ` Greg Kroah-Hartman
2014-05-02 22:16     ` Jan Kara
2014-05-02 20:33 ` Ben Hutchings
2014-05-02 20:51 ` Paul E. McKenney
2014-05-02 20:57 ` Mark Brown
2014-05-02 23:35   ` Guenter Roeck
2014-05-03 15:22 ` Greg KH

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=367437209.fSUZRCC4cu@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    --cc=trondmy@primarydata.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.