# HG changeset patch # User David R. MacIver # Date 1456319203 0 # Node ID 55325bdf6c13b8c48e7e5dfc9069da6885534645 # Parent f75f7d39cca36389828dfc9276e85ea3275b399a testing: expand Hypothesis tests with branch commands This builds on the previous work to add Hypothesis based stateful testing to add branching commands to the model. diff -r f75f7d39cca3 -r 55325bdf6c13 tests/test-verify-repo-operations.py --- a/tests/test-verify-repo-operations.py Wed Feb 24 13:05:45 2016 +0000 +++ b/tests/test-verify-repo-operations.py Wed Feb 24 13:06:43 2016 +0000 @@ -133,6 +133,7 @@ # be provided as arguments to future operations. paths = Bundle('paths') contents = Bundle('contents') + branches = Bundle('branches') committimes = Bundle('committimes') def __init__(self): @@ -250,6 +251,13 @@ def gencontent(self, content): return content + @rule( + target=branches, + name=safetext, + ) + def genbranch(self, name): + return name + @rule(target=paths, source=paths) def lowerpath(self, source): return source.lower() @@ -369,6 +377,32 @@ def export(self): self.hg("export") + # Section: Branch management + @rule() + def checkbranch(self): + self.hg("branch") + + @rule(branch=branches) + def switchbranch(self, branch): + with acceptableerrors( + 'cannot use an integer as a name', + 'cannot be used in a name', + 'a branch of the same name already exists', + 'is reserved', + ): + self.hg("branch", "--", branch) + + @rule(branch=branches, clean=st.booleans()) + def update(self, branch, clean): + with acceptableerrors( + 'unknown revision', + 'parse error', + ): + if clean: + self.hg("update", "-C", "--", branch) + else: + self.hg("update", "--", branch) + settings.register_profile( 'default', settings( timeout=300,