Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #96871

Re: Ordering dependent test failures

Path csiph.com!goblin2!goblin.stu.neva.ru!newsfeed1.swip.net!uio.no!news.tele.dk!news.tele.dk!small.news.tele.dk!newsgate.cistron.nl!newsgate.news.xs4all.nl!nzpost1.xs4all.net!not-for-mail
Return-Path <python-python-list@m.gmane.org>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.008
X-Spam-Evidence '*H*': 0.98; '*S*': 0.00; 'subject:test': 0.07; 'failure.': 0.09; 'predecessor': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'python': 0.10; 'assume': 0.11; 'causing': 0.13; 'clone': 0.16; 'comprises': 0.16; 'covered,': 0.16; 'development?': 0.16; 'received:80.91.229.3': 0.16; 'received:dip0.t-ipconnect.de': 0.16; 'received:plane.gmane.org': 0.16; 'received:t-ipconnect.de': 0.16; 'repo': 0.16; 'skips': 0.16; 'subject:failures': 0.16; 'whomever': 0.16; 'wrote:': 0.16; 'instance,': 0.18; 'typical': 0.18; 'tests': 0.18; 'assuming': 0.22; 'gcc': 0.22; 'interpret': 0.22; 'dependent': 0.23; "i've": 0.25; 'header:User-Agent:1': 0.26; 'header:X-Complaints-To:1': 0.26; 'linux': 0.26; 'sense': 0.26; 'not.': 0.27; 'least': 0.27; '[2]': 0.27; 'sequence': 0.27; 'yesterday': 0.27; 'random': 0.29; 'summary': 0.29; "i'm": 0.30; 'code': 0.30; 'post': 0.31; '[1]': 0.32; 'reported': 0.32; 'run': 0.33; 'source': 0.33; 'ca,': 0.33; "i'll": 0.33; 'could': 0.35; 'fail': 0.35; 'unit': 0.35; 'should': 0.36; 'instead': 0.36; 'there': 0.36; 'to:addr:python-list': 0.36; 'subject:: ': 0.37; 'two': 0.37; 'received:org': 0.37; 'log': 0.38; 'files': 0.38; 'why': 0.39; 'test': 0.39; 'sure': 0.39; 'format': 0.39; 'whatever': 0.39; 'does': 0.39; 'to:addr:python.org': 0.40; 'received:de': 0.40; 'some': 0.40; 'ever': 0.60; "you'll": 0.61; 'identify': 0.61; 'email addr:gmail.com': 0.62; 'course': 0.62; 'more': 0.63; 'different': 0.63; 'between': 0.65; 'below.': 0.66; 'results': 0.66; 'interested,': 0.69; 'covers': 0.72; 'interference': 0.84; 'itself?': 0.84; 'seeds': 0.84; 'seeds,': 0.84; 'abc': 0.91; 'gladly': 0.91
X-Injected-Via-Gmane http://gmane.org/
To python-list@python.org
From Peter Otten <__peter__@web.de>
Subject Re: Ordering dependent test failures
Date Sun, 20 Sep 2015 10:58:53 +0200
Organization None
References <2663735f-f237-4ed4-ab41-e9068041358b@googlegroups.com>
Mime-Version 1.0
Content-Type text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding 7Bit
X-Gmane-NNTP-Posting-Host p57bd9262.dip0.t-ipconnect.de
User-Agent KNode/4.13.3
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.20+
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.35.1442739550.21674.python-list@python.org> (permalink)
Lines 42
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1442739550 news.xs4all.nl 23793 [2001:888:2000:d::a6]:35669
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:96871

Show key headers only | View raw


paul.anton.letnes@gmail.com wrote:

> Fascinated by the concept of ordering dependent test failures [0], I've
> run the python test suite [1] with 256 different random seeds (took a
> little more than 12 hours). The results vary a lot - for instance, the
> number of tests reported as OK varies, the number of skips varies, etc.
> Since I'm not sure how to report or interpret them, I'll just post a
> summary below.
> 
> The test suite was run on arch linux [2] with gcc 5.2.0, with the source
> code taken from a clone of the python repo yesterday [3].
> 
> What could I do with all this in order to make more sense of it, and could
> it be of any help what so ever to python development? I'll gladly make the
> full log files available to whomever is interested, in whatever format is
> convenient. In the meantime I'll run more random seeds, because why not.

Given that the most likely interference is between two tests instead of the 
shotgun approach you could run the unit tests in such a way that for any 
pair of tests a, b the tests are run at least once with a before b and with 
a after b. Assuming that a test c does not "destroy" the interference when 
run between a and b for three tests this could be achieved with

1 abc covers ab, ac, bc
2 cba covers ba, ca, cb

If b fails in run 1 you'll assume a to be the culprit.
If c fails in run 1 you'll follow up with

1.1 ac
1.2 bc

to identify the predecessor causing the failure. Of course there are some 
complications, e. g. 

- Neither 1.1 nor 1.2 or both may fail
- The typical test suite comprises more than three tests
- Should the sequence aa be covered, i. e. a test case interfering with
  itself?


Back to comp.lang.python | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Ordering dependent test failures paul.anton.letnes@gmail.com - 2015-09-20 00:52 -0700
  Re: Ordering dependent test failures Peter Otten <__peter__@web.de> - 2015-09-20 10:58 +0200

csiph-web