[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



On 14/10/17 07:54, Andreas Tille wrote:
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?

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

Ghis


Reply to: