From 43701e67269a3ba4a3f78d3148f2b2cdc5bf787e Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Mon, 7 Dec 2020 23:32:40 -0500 Subject: [PATCH] test: add regression test for #338 --- src/core/CCSexp.ml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/core/CCSexp.ml b/src/core/CCSexp.ml index f31a2378..1c75df73 100644 --- a/src/core/CCSexp.ml +++ b/src/core/CCSexp.ml @@ -401,3 +401,24 @@ include (Make(struct *) let atom s : t = `Atom s + +(* regression for #338 *) +(*$R + Printexc.record_backtrace true; + let cases = [ + "\"\\256\""; + "\"\\722\02622222\\\\\n\r<\\\\\\\\\"\\222222222\\\\\"\"\2032!2222\\\\\"\""; + "\"\n\r<\\t\023\n\203\\622222222\\\\\"\"\2032!2222\\\\\"\""; + "\"\n\r<@t\023\n\203\\2222D2\n\r22222\01622222222222222222222222\203\\292242\222 2\\\\\">K2"; + "\"\n\r<\\t\023\n\203\\272222222\\\\\"\"\2032\0042222\\\\\"\""; + "\"\023\n\203\\5222\n\r<\\t\023\n\203\\52222222\\\\\"2\\\216\216\216\216\216\\\\\"\216\216\216\216\216\216\216\216\216222222222222222\147"; + "\"\\722\02622222\\\\\n\r<\\\\\\\\\"\\222222222\\\\\"\"\2032!2222\\\\\"\""; + ] in + cases + |> List.iter (fun s -> + try ignore (parse_string s); + with e -> + let st = Printexc.get_backtrace() in + print_endline @@ Printexc.to_string e ^ "\n" ^ st; + assert false) +*)