centralized ensure dir

This commit is contained in:
2026-02-20 15:02:16 -06:00
24 changed files with 341 additions and 949 deletions

46
fuzz.ce
View File

@@ -12,6 +12,7 @@
var fd = use('fd')
var time = use('time')
var json = use('json')
var testlib = use('internal/testlib')
var os_ref = use('internal/os')
var analyze = os_ref.analyze
@@ -54,48 +55,9 @@ if (!run_ast_noopt_fn) {
// Ensure failures directory exists
var failures_dir = "tests/fuzz_failures"
function ensure_dir(path) {
if (fd.is_dir(path)) return
var parts = array(path, '/')
var current = ''
var j = 0
while (j < length(parts)) {
if (parts[j] != '') {
current = current + parts[j] + '/'
if (!fd.is_dir(current)) {
fd.mkdir(current)
}
}
j = j + 1
}
}
// Deep comparison
function values_equal(a, b) {
var j = 0
if (a == b) return true
if (is_null(a) && is_null(b)) return true
if (is_null(a) || is_null(b)) return false
if (is_array(a) && is_array(b)) {
if (length(a) != length(b)) return false
j = 0
while (j < length(a)) {
if (!values_equal(a[j], b[j])) return false
j = j + 1
}
return true
}
return false
}
function describe(val) {
if (is_null(val)) return "null"
if (is_text(val)) return `"${val}"`
if (is_number(val)) return text(val)
if (is_logical(val)) return text(val)
if (is_function(val)) return "<function>"
return "<other>"
}
var ensure_dir = fd.ensure_dir
var values_equal = testlib.values_equal
var describe = testlib.describe
// Run a single fuzz iteration
function run_fuzz(seed_val) {