code wiki / (root) / nx_mcp_sse_gate_t316.nx

nx_mcp_sse_gate_t316.nx source

↩ module page · 88 lines · 19712 B

1// nx_mcp_sse_gate_t316.nx -- Tests message stream decoding, HTTP parsing, chunking, and overflow handling in the Nishi sovereign ecosystem. 2import "nx_mcp_sse.nx" 3func mss_test(q:*u8,b:*u8,stream:i64,want:i64,expected:*u8)->i64{ 4 let capacity:i64=mr_len(b)+mr_len(expected)+1 5 let out:*u8=sys_mmap(capacity) 6 let rc:i64=mss_decode(q,mr_len(q),b,mr_len(b),stream,out,capacity) 7 if want<0{if rc==want{return 0};return 1} 8 if rc<0{return 1} 9 if mr_equal(out,rc,expected)!=1{return 1} 10 return 0 11} 12func mss_http_test(src:*u8,want:i64)->i64{ 13 let n:i64=mr_len(src);let parsed:*i64=nx_http_resp_alloc() 14 if nx_http_response_parse(src,n,parsed)!=NX_HTTP_RESP_OK{return 1} 15 if mss_media_type(src,n,parsed)==want{return 0} 16 return 1 17} 18func mss_chunk_test(src:*u8,expected:*u8,want:i64)->i64{ 19 let n:i64=mr_len(src);let out:*u8=sys_mmap(n+1) 20 let rc:i64=nx_http_dechunk(src,n,out,n) 21 if want<0{if rc<0{return 0};return 1} 22 if rc<0{return 1} 23 if mr_equal(out,rc,expected)!=1{return 1} 24 return 0 25} 26func mss_overflow_test()->i64{ 27 let q:*u8="{\"id\":1}" 28 let b:*u8="{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{}}" 29 let out:*u8=sys_mmap(1) 30 if mss_decode(q,mr_len(q),b,mr_len(b),0,out,1)==MSS_OVERFLOW{return 0} 31 return 1 32} 33func main(argc:i64,argv:*i64)->i64{ 34 var failures:i64=0 35 // live finite SSE 36 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","event: message\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/tools/list_changed\"}\n\nevent: message\ndata: {\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n\n",1,0,"{\"jsonrpc\":\"2.0\",\"method\":\"notifications/tools/list_changed\"}\n{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n")!=0{sys_write(1,"FAIL live finite SSE\n",21);failures=failures+1} 37 // JSON 38 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}",0,0,"{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n")!=0{sys_write(1,"FAIL JSON\n",10);failures=failures+1} 39 // CRLF 40 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","event: message\r\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/tools/list_changed\"}\r\n\r\nevent: message\r\ndata: {\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\r\n\r\n",1,0,"{\"jsonrpc\":\"2.0\",\"method\":\"notifications/tools/list_changed\"}\n{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n")!=0{sys_write(1,"FAIL CRLF\n",10);failures=failures+1} 41 // CR 42 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","event: message\rdata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/tools/list_changed\"}\r\revent: message\rdata: {\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\r\r",1,0,"{\"jsonrpc\":\"2.0\",\"method\":\"notifications/tools/list_changed\"}\n{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n")!=0{sys_write(1,"FAIL CR\n",8);failures=failures+1} 43 // multiline 44 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","data: {\ndata: \"jsonrpc\": \"2.0\",\ndata: \"id\": \"sse-native-qualification\",\ndata: \"result\": {\ndata: \"content\": [\ndata: {\ndata: \"type\": \"text\",\ndata: \"text\": \"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"\ndata: }\ndata: ],\ndata: \"isError\": false,\ndata: \"_meta\": {\ndata: \"exit_code\": 0,\ndata: \"bytes\": 95,\ndata: \"job\": 1789840897,\ndata: \"reservation_elapsed_ms\": 52,\ndata: \"publication_verified\": true\ndata: }\ndata: }\ndata: }\n\n",1,0,"{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n")!=0{sys_write(1,"FAIL multiline\n",15);failures=failures+1} 45 // BOM comments fields 46 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}",":heartbeat\nretry: 100\nid: cursor\nunknown: field\n\nevent: message\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/tools/list_changed\"}\n\nevent: message\ndata: {\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n\n",1,0,"{\"jsonrpc\":\"2.0\",\"method\":\"notifications/tools/list_changed\"}\n{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n")!=0{sys_write(1,"FAIL BOM comments fields\n",25);failures=failures+1} 47 // error 48 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","data: {\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"error\":{\"code\":-32601,\"message\":\"missing\"}}\n\n",1,0,"{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"error\":{\"code\":-32601,\"message\":\"missing\"}}\n")!=0{sys_write(1,"FAIL error\n",11);failures=failures+1} 49 // truncated last blank 50 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","data: {\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n",1,-3,"")!=0{sys_write(1,"FAIL truncated last blank\n",26);failures=failures+1} 51 // truncated line 52 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","data: {\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}",1,-3,"")!=0{sys_write(1,"FAIL truncated line\n",20);failures=failures+1} 53 // notifications only 54 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","data: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/tools/list_changed\"}\n\n",1,-3,"")!=0{sys_write(1,"FAIL notifications only\n",24);failures=failures+1} 55 // duplicate response 56 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","data: {\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n\ndata: {\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n\n",1,-2,"")!=0{sys_write(1,"FAIL duplicate response\n",24);failures=failures+1} 57 // wrong id 58 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","data: {\"jsonrpc\":\"2.0\",\"id\":\"wrong\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n\n",1,-2,"")!=0{sys_write(1,"FAIL wrong id\n",14);failures=failures+1} 59 // invalid JSON 60 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","data: {bad}\n\n",1,-1,"")!=0{sys_write(1,"FAIL invalid JSON\n",18);failures=failures+1} 61 // unknown events 62 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","event: unrelated\ndata: not-json\n\ndata: {\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n\n",1,0,"{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n")!=0{sys_write(1,"FAIL unknown events\n",20);failures=failures+1} 63 // bare data field 64 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","data\n\n",1,-1,"")!=0{sys_write(1,"FAIL bare data field\n",21);failures=failures+1} 65 // missing result 66 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\"}",0,-1,"")!=0{sys_write(1,"FAIL missing result\n",20);failures=failures+1} 67 // result and error 68 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{},\"error\":{\"code\":-32601,\"message\":\"missing\"}}",0,-1,"")!=0{sys_write(1,"FAIL result and error\n",22);failures=failures+1} 69 // string integer identity 70 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":1}","{\"jsonrpc\":\"2.0\",\"id\":\"1\",\"result\":{}}",0,-2,"")!=0{sys_write(1,"FAIL string integer identity\n",29);failures=failures+1} 71 // escaped equivalent identity 72 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"a\"}","{\"jsonrpc\":\"2.0\",\"id\":\"\\u0061\",\"result\":{}}",0,0,"{\"jsonrpc\":\"2.0\",\"id\":\"\\u0061\",\"result\":{}}\n")!=0{sys_write(1,"FAIL escaped equivalent identity\n",33);failures=failures+1} 73 // trailing JSON garbage 74 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}} false",0,-1,"")!=0{sys_write(1,"FAIL trailing JSON garbage\n",27);failures=failures+1} 75 // duplicate ID 76 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","{\"jsonrpc\":\"2.0\",\"id\":\"x\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}",0,-1,"")!=0{sys_write(1,"FAIL duplicate ID\n",18);failures=failures+1} 77 // server request 78 if mss_test("{\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"argv\":[\"size\",\"buildroot/knowledge/gates/shared-adoption-t315.json\"]}}}","{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"ping\"}",0,-1,"")!=0{sys_write(1,"FAIL server request\n",20);failures=failures+1} 79 if mss_http_test("HTTP/1.1 200 OK\r\nContent-Type: Text/Event-Stream; charset=utf-8\r\nContent-Length: 0\r\n\r\n",1)!=0{sys_write(1,"FAIL SSE media parameters\n",26);failures=failures+1} 80 if mss_http_test("HTTP/1.1 200 OK\r\nContent-Type: application/json; charset=utf-8\r\nContent-Length: 0\r\n\r\n",0)!=0{sys_write(1,"FAIL JSON media parameters\n",27);failures=failures+1} 81 if mss_http_test("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n",-1)!=0{sys_write(1,"FAIL missing media\n",19);failures=failures+1} 82 if mss_http_test("HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nContent-Length: 0\r\n\r\n",-1)!=0{sys_write(1,"FAIL unsupported media\n",23);failures=failures+1} 83 if mss_chunk_test("1a9\r\nevent: message\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/tools/list_changed\"}\n\nevent: message\ndata: {\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n\n\r\n0\r\n\r\n","event: message\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/tools/list_changed\"}\n\nevent: message\ndata: {\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n\n",0)!=0{sys_write(1,"FAIL chunked SSE\n",17);failures=failures+1} 84 if mss_chunk_test("1a9\r\nevent: message\ndata: {\"jsonrpc\":\"2.0\",\"method\":\"notifications/tools/list_changed\"}\n\nevent: message\ndata: {\"jsonrpc\":\"2.0\",\"id\":\"sse-native-qualification\",\"result\":{\"content\":[{\"type\":\"text\",\"text\":\"NX-FS-SIZE buildroot/knowledge/gates/shared-adoption-t315.json bytes=2843 exact=1 read_bytes=0\\n\"}],\"isError\":false,\"_meta\":{\"exit_code\":0,\"bytes\":95,\"job\":1789840897,\"reservation_elapsed_ms\":52,\"publication_verified\":true}}}\n\n\r\n0\r\n","",-1)!=0{sys_write(1,"FAIL truncated chunk trailer\n",29);failures=failures+1} 85 if mss_overflow_test()!=0{sys_write(1,"FAIL overflow\n",14);failures=failures+1} 86 if failures==0{sys_write(1,"MCP SSE gate PASS 29 cases\n",27)} 87 return failures 88}