Skip to content

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")

src/clauz3/stdlib/git/tests/cases/runs_at_most_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.runs_at_most(2))
def main() -> None:
    git("status", [], "/repo")
    git("log", [], "/repo")