Bug#1004875: python-fluids: autopkgtest regression on arm64, i386 and ppc64el:

Paul Gevers elbrus at debian.org
Wed Feb 2 20:42:56 GMT 2022


Source: python-fluids
Version: 1.0.9-1
X-Debbugs-CC: debian-ci at lists.debian.org
Severity: serious
User: debian-ci at lists.debian.org
Usertags: regression

Dear maintainer(s),

With a recent upload of python-fluids the autopkgtest of python-fluids 
fails in testing when that autopkgtest is run with the binary packages 
of python-fluids from unstable. It passes when run with only packages 
from testing. In tabular form:

                        pass            fail
python-fluids          from testing    1.0.9-1
all others             from testing    from testing

I copied some of the output at the bottom of this report. The issue 
looks like a tolerance issue to me.

Currently this regression is blocking the migration to testing [1]. Can 
you please investigate the situation and fix it?

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=python-fluids

https://ci.debian.net/data/autopkgtest/testing/arm64/p/python-fluids/18857416/log.gz

=================================== FAILURES 
===================================
____________________________ [doctest] tutorial.rst 
____________________________
368 <Vertical tank, V=83.646361 m^3, D=5.000000 m, L=3.000000 m, 
torispherical heads, a=0.968871 m.>
369 370 Partial volume lookups are also useful. This is useful when the 
height of fluid
371 in the tank is known, but not the volume. The reverse calculation is 
also
372 implemented, and useful when doing dynamic simulation and to 
calculate the new
373 height after a specified volume of liquid is removed.
374 375 >>> DIN.h_max
376 4.937742251701451
377 >>> DIN.h_from_V(40)
Expected:
     2.3760173045849315
Got:
     2.376017304584932

/tmp/autopkgtest-lxc.xp6bpv0i/downtmp/build.nQY/src/docs/tutorial.rst:377: 
DocTestFailure
_________________ [doctest] fluids.drag.integrate_drag_sphere 
__________________
1484 1485     The analytical solution will automatically be used if the 
initial and
1486     terminal velocity is show the particle's behavior to be 
laminar. Note
1487     that this behavior requires that the terminal velocity of the 
particle be
1488     solved for - this adds slight (1%) overhead for the cases where 
particles
1489     are not laminar.
1490 1491     Examples
1492     --------
1493     >>> integrate_drag_sphere(D=0.001, rhop=2200., rho=1.2, 
mu=1.78E-5, t=0.5,
Expected:
     (9.686465044053, 7.8294546436299)
Got:
     (9.686465044051774, 7.829454643626568)

/tmp/autopkgtest-lxc.xp6bpv0i/downtmp/build.nQY/src/fluids/drag.py:1493: 
DocTestFailure
________________________ [doctest] fluids.geometry.TANK 
________________________
3113     4.523893421169302
3114 3115     Volume of a tank at a given height:
3116 3117     >>> TANK(D=1.2, L=4, horizontal=False).V_from_h(.5)
3118     0.5654866776461628
3119 3120     Height of liquid for a given volume:
3121 3122     >>> TANK(D=1.2, L=4, horizontal=False).h_from_V(.5)
Expected:
     0.4420970641441539
Got:
     0.4420970641441536

/tmp/autopkgtest-lxc.xp6bpv0i/downtmp/build.nQY/src/fluids/geometry.py:3122: 
DocTestFailure
___________________ test_bend_rounded_Miller_K_coefficients 
____________________

     @pytest.mark.slow
     def test_bend_rounded_Miller_K_coefficients():
         from fluids import fluids_data_dir
         from fluids.core import Engauge_2d_parser
         from fluids.fittings import tck_bend_rounded_Miller
         Kb_curve_path = os.path.join(fluids_data_dir, 'Miller 2E 1990 
smooth bends Kb.csv')
         lines = open(Kb_curve_path).readlines()
         all_zs, all_xs, all_ys = Engauge_2d_parser(lines, flat=True)
             tck_recalc = bisplrep(all_xs, all_ys, all_zs, kx=3, ky=3, 
s=.001)
>       [assert_allclose(i, j) for i, j in zip(tck_bend_rounded_Miller, tck_recalc)]

tests/test_fittings_fits.py:314: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.0 = <zip object at 0xffff984c9ac0>

>   [assert_allclose(i, j) for i, j in zip(tck_bend_rounded_Miller, tck_recalc)]
E   AssertionError: E   Not equal to tolerance rtol=1e-07, atol=0
E   E   Mismatched elements: 1 / 19 (5.26%)
E   Max absolute difference: 2.35149296e-07
E   Max relative difference: 2.62263788e-07
E    x: array([ 0.500967,  0.500967,  0.500967,  0.500967,  0.557266, 
0.622054,
E           0.68767 ,  0.810996,  0.896614,  1.041814,  1.212981,  1.43281 ,
E           2.684492,  3.49605 ,  4.245254, 10.0581  , 10.0581  , 10.0581  ,
E          10.0581  ])
E    y: array([ 0.500967,  0.500967,  0.500967,  0.500967,  0.557266, 
0.622054,
E           0.68767 ,  0.810996,  0.896614,  1.041814,  1.212981,  1.43281 ,
E           2.684492,  3.49605 ,  4.245254, 10.0581  , 10.0581  , 10.0581  ,
E          10.0581  ])

tests/test_fittings_fits.py:314: AssertionError
=============================== warnings summary 
===============================
../../../../../usr/lib/python3/dist-packages/numba/core/types/__init__.py:108
   /usr/lib/python3/dist-packages/numba/core/types/__init__.py:108: 
DeprecationWarning: `np.long` is a deprecated alias for 
`np.compat.long`. To silence this warning, use `np.compat.long` by 
itself. In the likely event your code does not need to work on Python 2 
you can use the builtin `int` for which `np.compat.long` is itself an 
alias. Doing this will not modify any behaviour and is safe. When 
replacing `np.long`, you may wish to use e.g. `np.int64` or `np.int32` 
to specify the precision. If you wish to review your current use, check 
the release note link for additional information.
   Deprecated in NumPy 1.20; for more details and guidance: 
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
     long_ = _make_signed(np.long)

../../../../../usr/lib/python3/dist-packages/numba/core/types/__init__.py:109
   /usr/lib/python3/dist-packages/numba/core/types/__init__.py:109: 
DeprecationWarning: `np.long` is a deprecated alias for 
`np.compat.long`. To silence this warning, use `np.compat.long` by 
itself. In the likely event your code does not need to work on Python 2 
you can use the builtin `int` for which `np.compat.long` is itself an 
alias. Doing this will not modify any behaviour and is safe. When 
replacing `np.long`, you may wish to use e.g. `np.int64` or `np.int32` 
to specify the precision. If you wish to review your current use, check 
the release note link for additional information.
   Deprecated in NumPy 1.20; for more details and guidance: 
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
     ulong = _make_unsigned(np.long)

-- Docs: https://docs.pytest.org/en/stable/warnings.html

---------- coverage: platform linux, python 3.9.10-final-0 -----------
Name                                      Stmts   Miss Branch BrPart 
Cover   Missing
-------------------------------------------------------------------------------------
fluids/atmosphere.py                        255     22     44      6 
90%   63-64, 77-78, 609-612, 702-704, 1080, 1089-1090, 1245->1247, 
1247->1250, 1262-1268, 1274-1277
fluids/compressible.py                      260      3    128      3 
98%   905, 933, 936
fluids/constants/constants.py               129      0      0      0   100%
fluids/control_valve.py                     421     15    164     19 
94%   239, 241, 295, 492->497, 715, 993->exit, 997->exit, 1014->exit, 
1055, 1058-1062, 1065, 1067, 1072, 1400->1402, 1459->1461, 1472->1476, 
1522, 1556, 1565
fluids/core.py                              229      0     58      0   100%
fluids/drag.py                              229      5    108      5 
97%   1422-1423, 1523, 1531, 1559
fluids/filters.py                            55      0     20      2 
97%   125->131, 204->209
fluids/fittings.py                         1037    100    540     52 
88%   278, 320->exit, 441, 450, 459, 518, 598->exit, 615->exit, 714, 
728, 730, 736, 770->exit, 842, 850, 1089->exit, 1172, 1214, 1220, 
1298-1300, 1305, 1323-1325, 1331, 1340-1345, 1462, 1472, 1480, 1492, 
1498, 1658, 1671-1672, 1818, 1822, 2027, 2097-2101, 2106, 2335, 
2568-2590, 2833, 2837, 2857, 2859-2871, 2884, 2886, 2894-2896, 
3113->3120, 3230->3237, 3827, 4250, 4309, 4571, 4573, 4576-4593
fluids/flow_meter.py                        520      4    160     10 
98%   529->531, 828->879, 843->879, 2464, 2466, 2468, 2470, 2793->exit, 
2796->exit, 2799->exit
fluids/friction.py                          531      7    200      6 
98%   395-396, 2025, 2027, 2029, 2031, 3956->3962, 4089
fluids/geometry.py                         1346     83    640     59 
92%   675, 936, 1485, 1487, 1502, 1504, 1575, 1577, 1596, 1602, 1612, 
1871-1879, 1882, 1885-1886, 2125-2126, 2145-2147, 2163-2164, 2294-2296, 
2575->2579, 2702, 2715, 2718, 2726, 2874, 2879, 2897->2905, 2901, 
2902->2905, 2932, 2938, 2939->2942, 2960-2967, 2970, 2972, 2974, 2976, 
2977->2980, 3262->3266, 3288, 3293, 3449->3451, 3451->3455, 3498, 
3558-3560, 3701, 3855->3861, 3861->3864, 4085, 4096->4098, 4232, 
4236->exit, 4238->exit, 4386->4388, 4390->4395, 4394, 4398, 4400-4401, 
4402->4406, 4456-4457, 4723-4726, 4743, 4744->4746, 4750, 4753-4754, 
4769, 4844, 4852-4860
fluids/jet_pump.py                          209     22     98     12 
87%   144, 146, 173->exit, 191, 209, 211, 389, 391, 441, 446->453, 521, 
575-587
fluids/mixing.py                             67     13     22      4 
70%   291->293, 296, 301-316
fluids/nrlmsise00/nrlmsise_00_data.py        13      0      0      0   100%
fluids/nrlmsise00/nrlmsise_00_header.py      29      0      8      0   100%
fluids/numba_vectorized.py                   17      0      0      0   100%
fluids/numerics/doubledouble.py             213     42      6      2 
80%   92, 141-142, 252-300
fluids/numerics/special.py                   57     11     14      2 
79%   31-32, 50, 65, 80-81, 94-96, 100-102
fluids/open_flow.py                          45      0      0      0   100%
fluids/optional/irradiance.py                93     11     18      7 
84%   79, 104-105, 124-125, 129, 166, 176->181, 184, 192, 198-199
fluids/optional/spa.py                      529    105    106     15 
78%   364-365, 994->1129, 997-998, 1006-1075, 1086-1122, 1155, 1178, 
1203, 1206, 1209, 1212, 1273, 1276, 1295-1296, 1300-1301, 1315-1316, 
1328-1329, 1343-1344
fluids/packed_bed.py                        127      0     42      1 
99%   1077->1085
fluids/packed_tower.py                      129     13      0      0 
90%   575-588
fluids/particle_size_distribution.py        494     94    242     17 
79%   548->exit, 1025, 1466, 1805-1806, 1870-1876, 1885-1903, 2054, 
2056, 2076-2100, 2105, 2108, 2111, 2119-2141, 2144, 2147, 2150, 2169, 
2173-2174, 2178-2179, 2187, 2191, 2196-2203, 2211, 2216->2219, 2224, 
2226, 2251->2257, 2253->2255, 2271-2275, 2304-2305
fluids/piping.py                            418      5     50      6 
98%   680, 684, 693, 700, 709, 718->721
fluids/pump.py                              230      0     64      4 
99%   382->411, 389->411, 399->411, 408->411
fluids/safety_valve.py                       83      0     28      1 
99%   537->539
fluids/saltation.py                          57      0      6      0   100%
fluids/separator.py                          52      0     18      0   100%
fluids/two_phase.py                         605     10    210     11 
97%   102->104, 114->120, 117->120, 222, 3055, 3059, 3066, 3068, 3072, 
3082, 3091-3094
fluids/two_phase_voidage.py                 263      0     95      0   100%
fluids/typing_utils.py                       32     22     12      0 
23%   39-52, 55-63
fluids/units.py                             415     70    197     26 
82%   36-37, 59-60, 69-71, 74-90, 96-99, 175-176, 192, 195->198, 201, 
202->204, 205, 246-249, 275->278, 287-288, 310, 314-315, 337-340, 
343-346, 354-356, 371-375, 378-382, 405, 408, 415-417, 440->443, 
452-453, 470, 483, 489-494, 499->463, 509->511, 511->505, 526, 556, 644
fluids/vectorized.py                         21      1     10      1 
94%   63
-------------------------------------------------------------------------------------
TOTAL                                      9210    658   3308    271    91%
Coverage HTML written to dir htmlcov

=========================== short test summary info 
============================
FAILED docs/tutorial.rst::tutorial.rst
FAILED fluids/drag.py::fluids.drag.integrate_drag_sphere
FAILED fluids/geometry.py::fluids.geometry.TANK
FAILED tests/test_fittings_fits.py::test_bend_rounded_Miller_K_coefficients
= 4 failed, 1087 passed, 9 skipped, 44 deselected, 2 warnings in 437.80s 
(0:07:17) =
autopkgtest [02:19:10]: test command1

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20220202/c9c81398/attachment.sig>


More information about the debian-science-maintainers mailing list