rendered paste bodyalias logx_maketests {
var %x 1
if ($hget(logx_tests)) hfree logx_tests
echo $color(info) -ta * Generating logx tests - please wait...
while (%x <= 100) {
var %base $r(2,10),%power $r(1,99999) / 10000,%result $calc(%base ^ %power)
while ($len(%result) > 6) var %base $r(2,10),%power $r(1,99999) / 10000,%result $calc(%base ^ %power)
hadd -m logx_tests %x %base %result %power
inc %x
}
echo $color(info) -ta * Created $({,%x) $!logx() tests. Use /logx_test to run these tests
}
alias logx_test {
var %x 1,%table logx_tests,%errors 0,%ticks $ticks
if (!$hget(%table,1)) { echo 4 -ta * Error: No tests found. Use /logx_maketests to make the tests | return }
while ($hget(%table,%x)) {
tokenize 32 $v1
if ($logx($1,$2) != $3) {
if (!$window(@logx_test)) window -ae @logx_test
echo 4 -t @logx_test * Error: $!logx( $+ $1 $+ , $+ $2 $+ ) returned $v1 - It should return $3
inc %errors
}
inc %x
}
echo $iif(%errors,4 -t @logx_test,3 -ta) 100 $!logx() tests completed with %errors errors in $calc($ticks - %ticks) ms
}