summaryrefslogtreecommitdiffstats
path: root/python/mozversioncontrol/test/test_remove_current_commit.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/mozversioncontrol/test/test_remove_current_commit.py')
-rw-r--r--python/mozversioncontrol/test/test_remove_current_commit.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/python/mozversioncontrol/test/test_remove_current_commit.py b/python/mozversioncontrol/test/test_remove_current_commit.py
new file mode 100644
index 0000000000..cec20c1ef4
--- /dev/null
+++ b/python/mozversioncontrol/test/test_remove_current_commit.py
@@ -0,0 +1,44 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+import mozunit
+import pytest
+
+from mozversioncontrol import get_repository_object
+
+STEPS = {
+ "hg": [
+ """
+ echo "{}" > try_task_config.json
+ hg add try_task_config.json
+ hg commit -m "Try config commit"
+ """
+ ],
+ "git": [
+ """
+ echo "{}" > try_task_config.json
+ git add try_task_config.json
+ git commit -m "Try config commit"
+ """
+ ],
+}
+
+
+@pytest.mark.xfail(reason="Requires the Mercurial evolve extension.", strict=False)
+def test_remove_current_commit(repo):
+ vcs = get_repository_object(repo.dir)
+ initial_head_ref = vcs.head_ref
+
+ # Create a new commit.
+ repo.execute_next_step()
+
+ vcs.remove_current_commit()
+
+ assert (
+ vcs.head_ref == initial_head_ref
+ ), "Removing current commit should revert to previous head."
+
+
+if __name__ == "__main__":
+ mozunit.main()