Thanks to visit codestin.com
Credit goes to github.com

Skip to content

pytest: flaky H3 tests (pending: 05_02 quiche) #19770

@vszakats

Description

@vszakats

I did this

A collection of single failures observed in recent days (since about 5 days ago, 2025-11-26):

openssl-quic (2x):
test_17_05_bad_ip_addr[h3]

>               log.error(f'nghttpx({running.pid}), terminate forcefully.')
                                     ^^^^^^^^^^^
E               AttributeError: 'NoneType' object has no attribute 'pid'
../../tests/http/testenv/nghttpx.py:142: AttributeError

https://github.com/curl/curl/actions/runs/19746584307/job/56581949119?pr=19736
https://github.com/curl/curl/actions/runs/19775347648/job/56666961271
via #19736 (comment)

wolfSSL:
test_01_20_method_space[h3]

>       assert len(r.stats) == 1
E       AssertionError: assert 0 == 1
E        +  where 0 = len([])

https://github.com/curl/curl/actions/runs/19745898592/job/56580038117
via #19734 (comment)

OpenSSL:
test_16_02_info_302_download[h3]

  At index 3 diff: 'time_starttransfer' != 'time_posttransfer'
  Full diff:
    [
        'time_namelookup',
        'time_connect',
        'time_appconnect',
  +     'time_starttransfer',
        'time_posttransfer',
        'time_pretransfer',
  -     'time_starttransfer',
        'time_total',
    ]

https://github.com/curl/curl/actions/runs/19689308211/job/56401845836?pr=19685
via #19685 (comment)

OpenSSL:
test_16_02_info_302_download[h3]

  At index 0 diff: 'time_starttransfer' != 'time_posttransfer'
  Full diff:
    [
  +     'time_starttransfer',
        'time_posttransfer',
        'time_pretransfer',
  -     'time_starttransfer',
        'time_total',
    ]

https://github.com/curl/curl/actions/runs/19799277461/job/56724146834?pr=19769

libressl:
test_16_02_info_302_download[h3]

  At index 3 diff: 'time_starttransfer' != 'time_posttransfer'
  Full diff:
    [
        'time_namelookup',
        'time_connect',
        'time_appconnect',
  +     'time_starttransfer',
        'time_posttransfer',
        'time_pretransfer',
  -     'time_starttransfer',
        'time_total',
    ]

https://github.com/curl/curl/actions/runs/19774841764/job/56665709967

aws-lc:
test_16_01_info_download[h3]

  At index 4 diff: 'time_starttransfer' != 'time_posttransfer'
  Full diff:
    [
        'time_queue',
        'time_namelookup',
        'time_connect',
        'time_appconnect',
  +     'time_starttransfer',
        'time_posttransfer',
        'time_pretransfer',
  -     'time_starttransfer',
        'time_total',
    ]

https://github.com/curl/curl/actions/runs/19789734196/job/56701071127

quiche:
test_05_02_partial_20[h3]

>       assert len(invalid_stats) == 0, f'failed: {invalid_stats}'
E       assert 1 == 0

https://github.com/curl/curl/actions/runs/19774368953/job/56664453587

Possibly related to enabling the nghttpx server recently:
c8b76ff #19723
But, some issues happen with OpenSSL and openssl-quic
where it has been enabled for a long time.

valgrind is installed for the curl test jobs since
c1deea4 #19719. It
should make no difference for pytests.

Maybe the 4 runtests valgrind tests leave the nghttpx server
in a bad state?

valgrind H3 tests also fail the test itself, e.g. here:
https://github.com/curl/curl/actions/runs/19806175180/job/56740663348

I expected the following

Clean test run.

curl/libcurl version

master (recent 3-4 days)

operating system

Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    CIContinuous IntegrationHTTP/3h3 or quic relatedtests

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions