Bug#877419: [Help] Exclusion did not worked (Was: Bug#877419: Bug#877700: RM: pandas [arm64 armel armhf mips mips64el mipsel s390x] ...)

Yaroslav Halchenko yoh at debian.org
Sat Oct 14 17:13:56 UTC 2017


On Sat, 14 Oct 2017, Ghislain Vaillant wrote:

> On 14/10/17 07:54, Andreas Tille wrote:
> > On Fri, Oct 13, 2017 at 08:00:36PM +0200, Andreas Tille wrote:
> > ...
> > pandas_datareader: None
> > usage: pytest.py [options] [file_or_dir] [file_or_dir] [...]
> > pytest.py: error: unrecognized arguments: --exclude
> >    inifile: /<<PKGBUILDDIR>>/setup.cfg
> >    rootdir: /<<PKGBUILDDIR>>
> > debian/rules:109: recipe for target 'python-test2.7' failed
> > ...

> > I confirm that I have not found the --exclude option for pytest.

> > I'm not that experienced with pytest.  From some short research I had
> > the idea to quilt patch some "slow" markers for the failing tests and
> > for the affected architectures ignore those "slow" tests.

> > Any better technical idea?

> Indeed you could use a custom "slow" marker for it. The corresponding patch
> should be upstreamable too if appropriately motivated.

FWIW my 1c to make someone pay 1$ (in proportion of time to be spent to
actually do it):

yeah, with nosetests it was possible to exclude in the command line...  on a
quick google I didn't find for pytest (not that it doesn't exist), but
started to wonder if indeed would be better to provide a patch (to upstream)
for tests which are known to be failing on specific architectures, something
like

@known_to_fail_on(archs=['armel', ...])
@known_to_fail_on_bigendian
@known_to_fail_on_nonx32

see https://docs.pytest.org/en/latest/skipping.html#id1 on how to
establish those for now based on skipif .  "For now", since ideally there
should be an easy way to trigger another behavior -- test which tests
known to fail before now pass.  (we have got something like that in
datalad now for demarkating tests which fail atm with v6 of git-annex
repo)

upstream actually already has some tests marked up:

pandas/tests/indexes/test_interval.py:    @pytest.mark.skipif(compat.is_platform_32bit(),
pandas/tests/io/json/test_pandas.py:    @pytest.mark.skipif(is_platform_32bit(),
pandas/tests/io/json/test_ujson.py:    @pytest.mark.skipif(compat.is_platform_32bit(),
pandas/tests/io/json/test_ujson.py:    @pytest.mark.skipif(compat.is_platform_windows() and not compat.PY3,

# and here comes a demo of the cool  -p  switch for git grep:

$> git grep -p skip.*endian pandas
pandas/tests/frame/test_constructors.py=class TestDataFrameConstructors(TestData):
pandas/tests/frame/test_constructors.py:            pytest.skip("known failure of test on non-little endian")
pandas/tests/io/test_pickle.py=def test_pickles(current_pickle_data, version):
pandas/tests/io/test_pickle.py:        pytest.skip("known failure on non-little endian")

-- 
Yaroslav O. Halchenko
Center for Open Neuroscience     http://centerforopenneuroscience.org
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419
WWW:   http://www.linkedin.com/in/yarik        



More information about the debian-science-maintainers mailing list