Files
sausage/userland/git/public-https-test.nu
T
surma 4b27e9afd5 userland/git: git-compatible CLI on v2's gix code (T10)
Local workflow, smart-HTTP clone/fetch/push and public HTTPS clone/fetch match
native git in stdout and exit codes. Only WASI imports (wasi:http, exit-with-code).
2026-11-06 16:07:57 +00:00

17 lines
1008 B
Nu

#!/usr/bin/env nu
# The host handles TLS. Test anonymous HTTPS against a small public repository.
use std/assert
def main [component: path] {
let component = ($component | path expand)
let fixture = (mktemp -d -p /tmp/p1-git public-https.XXXXXX)
with-env {GIT_AUTHOR_NAME: 'Agent', GIT_AUTHOR_EMAIL: 'agent@example.test', GIT_COMMITTER_NAME: 'Agent', GIT_COMMITTER_EMAIL: 'agent@example.test'} {
for args in [[clone https://github.com/octocat/Hello-World.git /hello] [-C /hello config user.name Agent] [-C /hello config user.email agent@example.test] [-C /hello fetch]] {
let result = (^wasmtime run -S http -S cli-exit-with-code=y --dir $'($fixture)::/' --env GIT_AUTHOR_NAME --env GIT_AUTHOR_EMAIL --env GIT_COMMITTER_NAME --env GIT_COMMITTER_EMAIL $component ...$args | complete)
if $result.exit_code != 0 {error make {msg: ($result | to json)}}
print $'HTTPS ($args | str join " "): PASS'
}
assert (($fixture | path join hello README) | path exists)
print $'Fixture: ($fixture)'
}
}