parse-dsl
ErrInjected
(ErrInjected Reads)
(ErrInjected (PathMatch "foo/*.sst"))
(ErrInjected (OnIndex 1))
(ErrInjected (Or Reads Writes))
(ErrInjected (And (PathMatch "foo/bar/*.sst") (OnIndex 1)))
(ErrInjected (Or (OnIndex 2) (PathMatch "*.sst")))
(ErrInjected (And Reads (PathMatch "*.sst")))
(ErrInjected (Or Writes (PathMatch "*.sst")))
----
ErrInjected
(ErrInjected Reads)
(ErrInjected (PathMatch "foo/*.sst"))
(ErrInjected (OnIndex 1))
(ErrInjected (Or Reads Writes))
(ErrInjected (And (PathMatch "foo/bar/*.sst") (OnIndex 1)))
(ErrInjected (Or (OnIndex 2) (PathMatch "*.sst")))
(ErrInjected (And Reads (PathMatch "*.sst")))
(ErrInjected (Or Writes (PathMatch "*.sst")))

parse-dsl
errInjected
ErrInjected()
(ErrInjected (PathMatch foo/*.sst))
(alwoes (PathMatch "foo/*.sst"))
(ErrInjected (PathMatch "foo/*.sst" ""))
(ErrInjected PathMatch "foo/*.sst")
(ErrInjected (OnIndex ErrInjected))
(Or ErrInjected ErrInjected ErrInjected
(And ErrInjected ErrInjected ErrInjected)
(Or 1 4 5)
(ErrInjected (OnIndex foo))
(ErrInjected (OnIndex 9223372036854775807))
----
parsing err: dsl: unknown constant "errInjected"
parsing err: dsl: unexpected token ( at pos 12; expected EOF
parsing err: dsl: unexpected token (IDENT, "foo") at pos 25; expected STRING
parsing err: dsl: unknown func "alwoes"
parsing err: dsl: unexpected token (STRING, "\"\"") at pos 37; expected )
parsing err: dsl: unknown constant "PathMatch"
parsing err: dsl: unexpected token (IDENT, "ErrInjected") at pos 23; expected INT
parsing err: dsl: unknown func "Or"
parsing err: dsl: unknown func "And"
parsing err: dsl: unknown func "Or"
parsing err: dsl: unexpected token (IDENT, "foo") at pos 23; expected INT
parsing err: strconv.ParseInt: parsing "9223372036854775807": value out of range

parse-dsl
(ErrInjected (OpFileReadAt _))
(ErrInjected (OpFileReadAt foo))
(ErrInjected (OpFileReadAt 1052363))
----
parsing err: dsl: unexpected token (IDENT, "_") at pos 28; expected INT
parsing err: dsl: unexpected token (IDENT, "foo") at pos 28; expected INT
(ErrInjected (FileReadAt 1052363))

parse-dsl
(ErrInjected (Randomly 0))
(ErrInjected (Randomly 0.1))
(ErrInjected (Randomly 0.2 18520850252))
(ErrInjected (Randomly 1.2 18520850252))
(ErrInjected (Randomly -0.3 18520850252))
(ErrInjected (Randomly 18520850252 0.25))
(ErrInjected (And (PathMatch "*.sst") (Randomly 0.05 185957252)))
(ErrInjected (And (PathMatch "*.sst") (Randomly 0.05)))
----
parsing err: dsl: unexpected token (INT, "0") at pos 24; expected FLOAT
(ErrInjected (Randomly 0.10))
(ErrInjected (Randomly 0.20 18520850252))
parsing err: errorfs: Randomly proability p must be within p ≤ 1.0
parsing err: dsl: unexpected token - at pos 24; expected FLOAT
parsing err: dsl: unexpected token (INT, "18520850252") at pos 24; expected FLOAT
(ErrInjected (And (PathMatch "*.sst") (Randomly 0.05 185957252)))
(ErrInjected (And (PathMatch "*.sst") (Randomly 0.05)))
