git — all cases¶
Every case file under src/clauz3/stdlib/git/tests/cases/,
inlined. _pass cases must prove; _fail cases must not.
See the curated walk-through for the trusted module and contract vocabulary.
src/clauz3/stdlib/git/tests/cases/never_subcommands_fail.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git
import clauz3
@clauz3.guarantee(git_rules.never_subcommands(["reset", "clean", "rebase"]))
def main() -> None:
git("clean", ["-fd"], "/repo")
src/clauz3/stdlib/git/tests/cases/never_subcommands_pass.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git
import clauz3
@clauz3.guarantee(git_rules.never_subcommands(["reset", "clean", "rebase"]))
def main() -> None:
git("status", [], "/repo")
git("commit", ["-m", "ok"], "/repo")
src/clauz3/stdlib/git/tests/cases/no_git_fail.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git
import clauz3
@clauz3.guarantee(git_rules.no_git())
def main() -> None:
git("status", [], "/repo")
src/clauz3/stdlib/git/tests/cases/no_git_pass.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git_push
import clauz3
@clauz3.guarantee(git_rules.no_git())
def main() -> None:
git_push("origin", "main", "/repo")
src/clauz3/stdlib/git/tests/cases/no_push_fail.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git_push
import clauz3
@clauz3.guarantee(git_rules.no_push())
def main() -> None:
git_push("origin", "main", "/repo")
src/clauz3/stdlib/git/tests/cases/no_push_pass.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git
import clauz3
@clauz3.guarantee(git_rules.no_push())
def main() -> None:
git("status", [], "/repo")
src/clauz3/stdlib/git/tests/cases/only_in_fail.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git
import clauz3
@clauz3.guarantee(git_rules.only_in("/repo"))
def main() -> None:
git("status", [], "/etc")
src/clauz3/stdlib/git/tests/cases/only_in_pass.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git
import clauz3
@clauz3.guarantee(git_rules.only_in("/repo"))
def main() -> None:
git("status", [], "/repo/subdir")
src/clauz3/stdlib/git/tests/cases/only_push_to_branch_fail.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git_push
import clauz3
@clauz3.guarantee(git_rules.only_push_to_branch("main"))
def main() -> None:
git_push("origin", "wip", "/repo")
src/clauz3/stdlib/git/tests/cases/only_push_to_branch_pass.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git_push
import clauz3
@clauz3.guarantee(git_rules.only_push_to_branch("main"))
def main() -> None:
git_push("origin", "main", "/repo")
src/clauz3/stdlib/git/tests/cases/only_push_to_remote_fail.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git_push
import clauz3
@clauz3.guarantee(git_rules.only_push_to_remote("origin"))
def main() -> None:
git_push("upstream", "main", "/repo")
src/clauz3/stdlib/git/tests/cases/only_push_to_remote_pass.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git_push
import clauz3
@clauz3.guarantee(git_rules.only_push_to_remote("origin"))
def main() -> None:
git_push("origin", "feature", "/repo")
src/clauz3/stdlib/git/tests/cases/only_subcommands_fail.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git
import clauz3
@clauz3.guarantee(git_rules.only_subcommands(["status", "add", "commit"]))
def main() -> None:
git("reset", ["--hard"], "/repo")
src/clauz3/stdlib/git/tests/cases/only_subcommands_pass.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git
import clauz3
@clauz3.guarantee(git_rules.only_subcommands(["status", "add", "commit"]))
def main() -> None:
git("add", ["-A"], "/repo")
git("commit", ["-m", "work"], "/repo")
src/clauz3/stdlib/git/tests/cases/read_only_fail.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git
import clauz3
@clauz3.guarantee(git_rules.read_only())
def main() -> None:
git("commit", ["-m", "tweak"], "/repo")
src/clauz3/stdlib/git/tests/cases/read_only_pass.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git
import clauz3
@clauz3.guarantee(git_rules.read_only())
def main() -> None:
git("status", [], "/repo")
git("log", ["--oneline", "-5"], "/repo")
src/clauz3/stdlib/git/tests/cases/runs_at_most_fail.py¶
# ruff: noqa: F821
from tools.git.trusted import contracts as git_rules
from tools.git.trusted.effects import git
import clauz3
@clauz3.guarantee(git_rules.runs_at_most(2))
def main() -> None:
git("status", [], "/repo")
git("log", [], "/repo")
git("diff", [], "/repo")