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

Andreas Tille andreas at an3as.eu
Sat Oct 14 06:54:48 UTC 2017


On Fri, Oct 13, 2017 at 08:00:36PM +0200, Andreas Tille wrote:
> 
> I might try to pick some of the failed tests from the logs.  I did so
> once with kind of iterative uploads for python-cogent package by
> checking the logs of the failing architectures.  If you think the proper
> way would be to login to each single architecture and build there this
> would not fit into my time frame I'm willing to spent on this task.

I treid to approach this by re-using the exclusion mechanism that was
used before (but not activated) in the rules file of pandas[1]:

 
diff --git a/debian/rules b/debian/rules
index 286e36561..186ae36f1 100755
--- a/debian/rules
+++ b/debian/rules
@@ -24,17 +24,8 @@ UVER_PYSHORT := $(shell echo $(UVER_PY) | sed -e 's,+git.*,,g')
 
 MIN_CYTHONVER = 0.23
 
-ifneq ($(DEB_HOST_ARCH),amd64)
-       # obtained by   grep -e 'ERROR:' -e 'FAIL:' pandas-sid.log |awk '{print $2;}' | sed -e 's,^test,,g' | tr '\n' '|'
-       # on log of failed tests on mips build box on pandas 0.19.2-1
-       # Majority of them is probably due to a bug in NumPy https://github.com/numpy/numpy/issues/8325
-       # of incorrectly treating NaT on non-amd64 platforms
-       # So for stretch release for now disabling those tests on non-amd64
-    # plot ones are excluded due to seems to be a bug in matplotlib which shows up
-    # on s390
-       # EXCLUDE_TESTS_ARCH := --exclude 'test(_frame_from_json_to_json|_misc_example|ArrayNumpyLabelled|DataFrameNumpyLabelled|_resample_timedelta_values|_timestamp_compare|_where_timedelta|ArrayNumpyExcept|_resample_datetime_values|_NaT_cast|_where_datetime|_where_datetime|_datetimelikes_nan|_value_counts_normalized|_agg_dict_parameter_cast_result_dtypes|_boxplot|_boxplot_vertical|_errorbar_plot|_hist_df|_line_area_stacked|_plot|_round_trip_valid_encodings)'
-    # Try without excludes now that we are so much in the future ;)
-       EXCLUDE_TESTS_ARCH := 
+ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH), arm64 armel armhf mips mips64el mipsel s390x alpha hppa powerpc ppc64))
+       EXCLUDE_TESTS_ARCH := --exclude 'test(test_value_counts_normalized|test_resample_timedelta_values|test_resample_datetime_values|test_datetimelikes_nan|test_where_datetime|test_timestamp_compare|test_agg_dict_parameter_cast_result_dtypes|test_NaT_cast|test_where_datetime|test_where_timedelta)'
 else
        EXCLUDE_TESTS_ARCH :=
 endif


Unfortunately this ends up in:

...
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?

Kind regards

        Andreas.

[1] https://anonscm.debian.org/git/debian-science/packages/pandas.git

-- 
http://fam-tille.de



More information about the debian-science-maintainers mailing list