lang: funcs: core: test: Add a new test functions package

This adds a new test functions package and also a new "fastcount"
function which counts up from zero as fast as is possible. You probably
don't want to use this in production, but it is useful for performance
and deadlock testing the resource and function engines.
This commit is contained in:
James Shubin
2023-08-28 19:06:27 -04:00
parent c06cf44fd7
commit 2edae22a65
4 changed files with 139 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
import "fmt"
import "test"
# XXX: Because our function engine is not synchronous, absurdly-fast function
# changing will result in these four files having vastly different values after
# a certain amount of time. We probably want to fix this eventually.
$count = test.fastcount()
file "/tmp/mgmt-count0" {
content => fmt.printf("count is: %d\n", $count + 0),
state => $const.res.file.state.exists,
}
file "/tmp/mgmt-count1" {
content => fmt.printf("count is: %d\n", $count + 1),
state => $const.res.file.state.exists,
}
file "/tmp/mgmt-count2" {
content => fmt.printf("count is: %d\n", $count + 2),
state => $const.res.file.state.exists,
}
file "/tmp/mgmt-count" {
content => fmt.printf("count is: %d\n", $count),
state => $const.res.file.state.exists,
}
File["/tmp/mgmt-count0"] -> File["/tmp/mgmt-count1"]
File["/tmp/mgmt-count0"] -> File["/tmp/mgmt-count2"]
File["/tmp/mgmt-count1"] -> File["/tmp/mgmt-count"]
File["/tmp/mgmt-count2"] -> File["/tmp/mgmt-count"]