20260617 发布点级验证缓存复用

This commit is contained in:
2026-06-17 23:49:53 +08:00
parent 68006467f7
commit ad2a25aede
18 changed files with 1841 additions and 14 deletions

View File

@@ -19,6 +19,14 @@ fn parse_help_returns_usage() {
assert!(err.contains("--parallel-phase2-object-workers"), "{err}");
assert!(err.contains("--memory-trim-after-validation"), "{err}");
assert!(err.contains("--enable-roa-validation-cache"), "{err}");
assert!(
err.contains("--publication-point-cache-observe-only"),
"{err}"
);
assert!(
err.contains("--enable-publication-point-validation-cache"),
"{err}"
);
assert!(!err.contains("--parallel-phase1"), "{err}");
assert!(!err.contains("--parallel-phase2 "), "{err}");
}
@@ -139,6 +147,24 @@ fn parse_accepts_enable_roa_validation_cache() {
assert!(args.enable_roa_validation_cache);
}
#[test]
fn parse_accepts_publication_point_cache_flags() {
let argv = vec![
"rpki".to_string(),
"--db".to_string(),
"db".to_string(),
"--tal-path".to_string(),
"x.tal".to_string(),
"--ta-path".to_string(),
"x.cer".to_string(),
"--publication-point-cache-observe-only".to_string(),
"--enable-publication-point-validation-cache".to_string(),
];
let args = parse_args(&argv).expect("parse args");
assert!(args.publication_point_cache_observe_only);
assert!(args.enable_publication_point_validation_cache);
}
#[test]
fn parse_accepts_enable_transport_request_prefetch() {
let argv = vec![
@@ -168,6 +194,8 @@ fn parse_disables_roa_validation_cache_by_default() {
];
let args = parse_args(&argv).expect("parse args");
assert!(!args.enable_roa_validation_cache);
assert!(!args.publication_point_cache_observe_only);
assert!(!args.enable_publication_point_validation_cache);
assert!(!args.enable_transport_request_prefetch);
}
@@ -1574,6 +1602,8 @@ fn run_report_task_and_stage_timing_work() {
let stage_timing = RunStageTiming {
validation_ms: 1,
enable_roa_validation_cache: false,
publication_point_cache_observe_only: false,
enable_publication_point_validation_cache: false,
enable_transport_request_prefetch: false,
report_build_ms: report_output.report_build_ms,
report_write_ms: report_output.report_write_ms,
@@ -1671,6 +1701,8 @@ fn stage_timing_serializes_memory_telemetry() {
let stage_timing = RunStageTiming {
validation_ms: 1,
enable_roa_validation_cache: true,
publication_point_cache_observe_only: false,
enable_publication_point_validation_cache: false,
enable_transport_request_prefetch: true,
report_build_ms: 2,
report_write_ms: None,
@@ -1750,6 +1782,8 @@ fn stage_timing_serializes_memory_telemetry() {
);
assert_eq!(value["analysis_counts"]["roa_validation_cache_hit_roas"], 2);
assert_eq!(value["roa_validation_cache"]["hit_roas"], 2);
assert_eq!(value["publication_point_cache_observe_only"], false);
assert_eq!(value["enable_publication_point_validation_cache"], false);
assert!(
value["memory_telemetry"]
.as_object()