Uranium follow-ups from #13545
Maintainer thường phản hồi trong vòng 2 ngày
@bneradt đang làm issue này rồi.
Từ ngày 21/10/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
#13545 moved the end-to-end suite from AuTest to Uranium. It was merged with review items still open, so that master would stop drifting from the branch. This issue tracks those items. The first two matter most: the first gets harder to fix with every new test, and the second is already broken.
Do these first
- Procedural tests don't check diags.log for errors. AuTest's
MakeATSProcessfailed any test whosediags.logcontainedERROR:,FATAL:orUnrecognized configuration value, unless the test setdisable_log_checks. Uranium only does this for replay manifests (tests/tools/uranium/replay.py:805-811). A procedural test'sATS.close()checks onlyFATAL:(tests/tools/uranium/services/ats.py:649). Sodisable_log_checks=is accepted and ignored, even thoughh2/origin_test_helpers.py:30documents it as replacing the default checks. Fix: haveATS.close()apply the same three exclusions unlessdisable_log_checksis set, and add a framework self-test where a procedural test withERROR:in diags goes red. Some tests will then needdisable_log_checks=True. Also mention it in.claude/skills/convert-autest-to-urtest/SKILL.md. -
contrib/docker/ubuntu/resolute/Dockerfile:87no longer configures. It still passes-DENABLE_AUTEST=OFF, whichCMakeLists.txt:167-168now turns into a fatal error. Switch it toENABLE_URTEST.
Assertions lost in conversion
-
remap/test_virtualhost_remap.py:110-112. The refused reload runs without-mand expects exit 0, andwait_for_status(..., "fail")is a substring match that always succeeds. Changingctx.failtoctx.completeatsrc/proxy/VirtualHost.cc:545leaves the test green. Assert the task status from the JSON-RPC response, or restore-mwithexpected_return_codes=(2,). -
remap/replay/remap_https.test.yamlchecks status codes only, where the AuTest checked eight runs against gold files. It also sendsContent-Length: 0from every origin, so the plaintext chunked path that #13763 meant to keep is gone. Bothremap-https-200_2.goldfiles are now unreferenced. -
tls/test_tls_sni_groups.py:116-121,129-134pins-tls1_2/-tls1_3on the client, so it no longer proves the server enforcesvalid_tls_versions_in. -
tls/test_tls_resumption_scope.py:221-224,261-262checks only thetraffic_ctlexit code. The AuTests also required thesni.yamlandssl_multicert.yamlreload tasks. The client-CA scope case counts only^200 bbb.example.com$in squid.log, where the AuTest allowed nobbb.example.comline at all. -
pluginTest/slice/test_slice_stale_generation.py:258-261. The regex alternation isn't grouped, so only one branch requireskey mixed. -
pluginTest/rate_limit/rate_limit_sni_exclude.test.yamlcan't tell an excluded SNI from a limited one on admission. Add an exclude forLimiter on limited.example.com is excluded. This gap came over from the AuTest. -
pluginTest/rate_limit/test_rate_limit_sni_queue.pychecks onlyQueueing the VCand_active <= _limit|received signal. The AuTest also requiredEnabling queued VCand excludedRejecting connectionandReleasing a slot, active entities == [0-9]{4,}(#13406, #13681, #13721). Without them, the test stays green when the holder never releases its slot and the release path goes unexercised. Restore all three insni_queue_scenario.pyfor the queue client.
Framework
- The sandbox-name collision guard crashes under xdist.
tests/tools/uranium/plugin.py:123-128raisesUsageErroron every worker, so a-n 2run with two files that both definetest_sameends inINTERNALERROR(assert not crashitem). Do the check on the controller, or skip it whenhasattr(config, "workerinput"). -
plugin.py:105catches onlyBlockingIOError. Anflockthat fails withENOLCKon a user-supplied--sandboxescapes asINTERNALERROR. CatchOSErrorand raise aUsageErrorthat names the directory. - Sandbox names drop the file path (
runtime.py:186-194), so two files that both definetest_fooshare one directory across selective runs. Add the module stem to the name, or document it. -
runtime.py:168-183.item_sandboxandprocedural_sandboxare identical, anditem_sandboxnever readsreplay_path. Revertingparent=inreplay.pyleaves the self-tests green, so add a self-test that does. -
tests/tools/uranium/tests/test_replay.py:29coversstop_after_clientonly asFalseandTrue, never with the key absent. -
jsonrpc/config_reload_helpers.py:81.wait_for_statusmatches summary text, so a root task increatedcan return early. The fixedsleep(15)checks intest_config_reload_dedup.py,test_config_reload_reserve_subtask.pyandtest_config_reload_full_smoke.pyhave the same weakness. -
tools/uranium/tests/test_config.py:100-111no longer pins the test inventory. Add a check that no*.test.pyremains undertests/uranium_tests.
Docs and stale references
-
doc/developer-guide/testing/config-reload-ext.en.rstdocumentsTest.AddConfigReload(), which no longer exists, anddoc/developer-guide/config-reload-framework.en.rst:1194-1208names the oldconfig_reload_*.test.pyfiles. -
doc/developer-guide/api/functions/TSHttpHookAdd.en.rst:148-149still namestest_hooks.test.py. -
plugins/experimental/jax_fingerprint/README:154,161still says AuTests. -
ci/rat-exclude.txt:79namestests/uranium_tests/autest-site/min_cfg, which doesn't exist. The files are intests/tools/uranium/min_cfg. -
tests/README.md:130-131still says to write tests as a scenario class withrun().
Check or clean up
-
tls/replay/dual_cert_default_ec_rsa.replay.yaml:24now listssigned-san-ec.pem,signed-san.pem, while master had RSA first. Confirm the reorder was intended, since the mixed layout is no longer tested. -
pluginTest/slice/replay/slice_body_headers.test.yaml:68-70addsConnection: closeto/dup_te, which master's replay didn't have. Confirm it isn't hiding a Uranium-only problem. - Orphaned files:
timeout/slow_server_uds.yaml(the UDS variant ofinactive_client_timeoutno longer runs),session_sharing/gold/200_two.gold,h2/gold/h2o-pool-reuse-metrics.gold. Either wire them up or delete them. - Running as root,
test_ssl_multicert_partial_reload.pyfails because the generated 0600 keys are owned by root, andtest_runroot_verifyinrunroot/test_runroot.pyfails because root can read the 0400 file.tests/urtest.shruns Podman as container root by default. -
tests/uv.lockis now committed on master (first time, via #13545), while 10.2.x and 10.1.x runuv syncwith no committed lock and resolve the newest versions on every CI run. Keeping the lock on master looks right: CI is reproducible and Dependabot can see it (it opened #13878 and #13879 for certifi and urllib3 within half an hour of the merge). Confirm the lock is intended, and note it intests/README.mdso people know to merge the Dependabot bumps.
- Ngôn ngữ chính
- C++
- Star
- 2k
- Fork
- 882
- Merge trung bình
- 3 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 101
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của apache/trafficserver
-
WebSocket upgrade to an HTTP/2 origin is sent as a plain GETCó thể đã có người làm @bryancall đã nhận 1 ngày trước. Đang mởBug HTTP/2 Websockets
apache/trafficserver#13920 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Network Performance
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 42/100
apache/trafficserver#13890 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Branch build clones: mirror stalls, clone timeout and controller memoryCó thể đã có người làm @bryancall đã nhận 13 ngày trước. Đang mởCI
apache/trafficserver#13839 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
-
traffic_ctl: apply --error-level to config reload resultsCó thể đã có người làm @brbzull0 đã nhận 15 ngày trước. Đang mởtraffic_ctl
apache/trafficserver#13832 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
-
header_rewrite: rm-destination after set-destination URL crashes traffic_serverCó thể đã có người làm @moonchen đã nhận 22 ngày trước. Đang mởBug Crash header_rewrite Plugins
apache/trafficserver#13800 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của apache/trafficserver
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
prestonbrown/helixscreen#1922 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
component: workspaces
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
zen-browser/desktop#16218 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Abort (SIGABRT) when stderr is a closed pipe: uncaught fmt::system_error in ccache_main's catchCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
[Estuary] Music videos "Random artists" playlist always displays the alphabetically first 10 artistsĐang mởTriage: Needed
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
Maintainer thường phản hồi trong vòng 2 ngày