1 use test_programs::p3::wasi as wasip3; 2 3 fn main() { 4 match std::env::args().nth(1).as_deref() { 5 Some("p2-append") => { 6 let fields = wasip2::http::types::Fields::new(); 7 for i in 0.. { 8 if fields.append(&format!("a{i}"), b"a").is_err() { 9 break; 10 } 11 } 12 } 13 Some("p2-append-empty") => { 14 let fields = wasip2::http::types::Fields::new(); 15 for i in 0.. { 16 if fields.append(&format!("a{i}"), b"").is_err() { 17 break; 18 } 19 } 20 } 21 Some("p2-append-same") => { 22 let fields = wasip2::http::types::Fields::new(); 23 loop { 24 if fields.append("a", b"b").is_err() { 25 break; 26 } 27 } 28 } 29 Some("p2-append-same-empty") => { 30 let fields = wasip2::http::types::Fields::new(); 31 loop { 32 if fields.append("a", b"").is_err() { 33 break; 34 } 35 } 36 } 37 Some("p3-append") => { 38 let fields = wasip3::http::types::Fields::new(); 39 for i in 0.. { 40 if fields.append(&format!("a{i}"), b"a").is_err() { 41 println!("error received"); 42 return; 43 } 44 } 45 } 46 Some("p3-append-empty") => { 47 let fields = wasip3::http::types::Fields::new(); 48 for i in 0.. { 49 if fields.append(&format!("a{i}"), b"").is_err() { 50 println!("error received"); 51 return; 52 } 53 } 54 } 55 Some("p3-append-same") => { 56 let fields = wasip3::http::types::Fields::new(); 57 loop { 58 if fields.append("a", b"b").is_err() { 59 println!("error received"); 60 return; 61 } 62 } 63 } 64 Some("p3-append-same-empty") => { 65 let fields = wasip3::http::types::Fields::new(); 66 loop { 67 if fields.append("a", b"").is_err() { 68 println!("error received"); 69 return; 70 } 71 } 72 } 73 other => panic!("unknown test {other:?}"), 74 } 75 76 // p2 cases trap before reaching here 77 unreachable!(); 78 } 79