when ismain

This commit is contained in:
Antonis Geralis 2022-09-05 19:53:07 +03:00
parent 2c77490357
commit 784e88319f
3 changed files with 30 additions and 26 deletions

View File

@ -35,26 +35,27 @@ proc `$`(n: HtmlNode): string =
result = newStringOfCap(1000) result = newStringOfCap(1000)
toString n, result toString n, result
import drchaos when isMainModule:
import drchaos
proc default(_: typedesc[HtmlNode]): HtmlNode = proc default(_: typedesc[HtmlNode]): HtmlNode =
HtmlNode(tag: text, s: "") HtmlNode(tag: text, s: "")
func `==`(a, b: HtmlNode): bool = func `==`(a, b: HtmlNode): bool =
if a.isNil: if a.isNil:
if b.isNil: return true if b.isNil: return true
return false return false
elif b.isNil or a.tag != b.tag: elif b.isNil or a.tag != b.tag:
return false return false
else: else:
case a.tag case a.tag
of text: return a.s == b.s of text: return a.s == b.s
else: return a.kids == b.kids else: return a.kids == b.kids
func fuzzTarget(x: HtmlNode) = func fuzzTarget(x: HtmlNode) =
let data = HtmlNode(tag: head, kids: @[ let data = HtmlNode(tag: head, kids: @[
HtmlNode(tag: text, s: "Hello World!"), HtmlNode(tag: text, s: "Hello World!"),
]) ])
doAssert $x != $data doAssert $x != $data
defaultMutator(fuzzTarget) defaultMutator(fuzzTarget)

View File

@ -44,12 +44,15 @@ proc eye*(N: static[int], A: typedesc[float32], order: OrderType = colMajor): Ma
for i in 0 ..< N: for i in 0 ..< N:
result.data[i + N * i] = 1'f32 result.data[i + N * i] = 1'f32
import drchaos when isMainModule:
import drchaos
proc default[M, N: static[int]](_: typedesc[Matrix32[M, N]]): Matrix32[M, N] = {.experimental: "strictFuncs".}
zeros(M, N, float32)
func fuzzTarget(x: Matrix32[2, 2]) = proc default[M, N: static[int]](_: typedesc[Matrix32[M, N]]): Matrix32[M, N] =
doAssert x != eye(2, float32) zeros(M, N, float32)
defaultMutator(fuzzTarget) func fuzzTarget(x: Matrix32[2, 2]) =
doAssert x != eye(2, float32)
defaultMutator(fuzzTarget)

View File

@ -8,6 +8,6 @@
@end @end
--passC: "-fsanitize=address,undefined" --passC: "-fsanitize=address,undefined"
--passL: "-fsanitize=address,undefined" --passL: "-fsanitize=address,undefined"
#--define: release #--define: danger
--debugger: native --debugger: native
--path: "../" --path: "../"