34 lines
1.3 KiB
Bash
Executable File
34 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
repo=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd -P)
|
|
tmp=${TMPDIR:-/tmp}/ink-skills-smoke-$$
|
|
trap 'rm -rf "$tmp"' EXIT HUP INT TERM
|
|
mkdir -p "$tmp/home" "$tmp/project"
|
|
|
|
list=$($repo/bin/ink-skills list)
|
|
printf '%s\n' "$list" | grep '^SKILL' >/dev/null
|
|
printf '%s\n' "$list" | grep '^audit-ink-cli' >/dev/null
|
|
printf '%s\n' "$list" | grep '^configure-ink-agent' >/dev/null
|
|
|
|
HOME=$tmp/home $repo/bin/ink-skills install audit-ink-cli >"$tmp/install.tsv"
|
|
grep "audit-ink-cli.*linked" "$tmp/install.tsv" >/dev/null
|
|
[ -L "$tmp/home/.ink/skills/audit-ink-cli" ]
|
|
[ "$(readlink "$tmp/home/.ink/skills/audit-ink-cli")" = "$repo/skills/audit-ink-cli" ]
|
|
|
|
HOME=$tmp/home $repo/bin/ink-skills install audit-ink-cli >"$tmp/reinstall.tsv"
|
|
grep "audit-ink-cli.*unchanged" "$tmp/reinstall.tsv" >/dev/null
|
|
|
|
mkdir -p "$tmp/home/.ink/skills/configure-ink-agent"
|
|
if HOME=$tmp/home $repo/bin/ink-skills install configure-ink-agent >/dev/null 2>"$tmp/collision.err"; then
|
|
echo 'expected collision refusal' >&2
|
|
exit 1
|
|
fi
|
|
grep 'refusing existing path' "$tmp/collision.err" >/dev/null
|
|
|
|
HOME=$tmp/home $repo/bin/ink-skills install --project "$tmp/project" create-ink-tool >"$tmp/project.tsv"
|
|
[ -L "$tmp/project/.ink/skills/create-ink-tool" ]
|
|
grep "create-ink-tool.*linked" "$tmp/project.tsv" >/dev/null
|
|
|
|
printf 'ok\n'
|