Bug#877419: [Help] Exclusion did not worked (Was: Bug#877419: Bug#877700: RM: pandas [arm64 armel armhf mips mips64el mipsel s390x] ...)
Ghislain Vaillant
ghisvail at gmail.com
Sat Oct 14 09:07:54 UTC 2017
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
More information about the debian-science-maintainers
mailing list