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

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



Source: python-fluids
Version: 1.0.9-1
X-Debbugs-CC: debian-ci@lists.debian.org
Severity: serious
User: debian-ci@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

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


Reply to: