[[activity_exec]]
ffqn = "testing:integration/exec-stream.stream-test"
content = '''#!/usr/bin/env bash
set -exuo pipefail
echo "line1" >&2
sleep 0.1
echo "line2" >&2
'''
env_vars = ["PATH"]
[[activity_exec]]
ffqn = "testing:integration/exec-greet.greet-include"
location = "crates/testing/test-programs/exec/greet.sh"
params = [
{ name = "name", type = "string" },
]
return_type = "result<string, string>"
env_vars = ["PATH"]
[[activity_exec]]
ffqn = "testing:integration/exec-greet.greet-inline"
content = '''
#!/usr/bin/env bash
set -exuo pipefail
raw=$(echo $1 | jq -r .)
echo "\"Hello, $raw!\""
'''
params = [
{ name = "name", type = "string" },
]
return_type = "result<string, string>"
env_vars = ["PATH"]
[[workflow_js]]
ffqn = "testing:integration/workflow-exec-fanout.exec-fanout"
content = '''
export default function exec_fanout(count) {
const js = obelisk.createJoinSet();
for (let i = 0; i < count; i++) {
js.submit('testing:integration/exec-greet.greet-inline', [`name-${i}`]);
}
const results = [];
for (let i = 0; i < count; i++) {
results.push(js.joinNext());
}
return JSON.stringify(results);
}
'''
params = [
{ name = "count", type = "u32" },
]
return_type = "result<string, string>"
[[activity_exec]]
ffqn = "testing:integration/exec-busy.busy"
content = '''
#!/usr/bin/env bash
i=0
while true; do
if (( i % 1000000 == 0 )); then
echo "$i"
fi
((i++))
done
'''
exec.lock_expiry.seconds = 10