# HG changeset patch
# User Pierre-Yves David <pierre-yves.david@octobus.net>
# Date 1649122591 -7200
#      Tue Apr 05 03:36:31 2022 +0200
# Node ID 1c233af99316878e44468d5a5617cda275008d57
# Parent  411d591e0a270b22b09bcbe2c0092ace01db5ad3
auto-upgrade: add a test case with no permission to lock the repository

This show the current behavior when the repository is unlockable.

The current behavior is to abort, which is probably not great. Now that we have
a proper test, we can think about the behavior we want in a later changeset.

Differential Revision: https://phab.mercurial-scm.org/D12615

diff --git a/tests/test-upgrade-repo.t b/tests/test-upgrade-repo.t
--- a/tests/test-upgrade-repo.t
+++ b/tests/test-upgrade-repo.t
@@ -2061,3 +2061,18 @@
   tracked-hint:        no
   share-safe:         yes
 
+Attempting Auto-upgrade on a read-only repository
+-------------------------------------------------
+
+  $ chmod -R a-w auto-upgrade
+
+  $ hg status -R auto-upgrade \
+  >     --config format.use-dirstate-v2.automatic-upgrade-of-mismatching-repositories=yes \
+  >     --config format.use-dirstate-v2=no
+  abort: could not lock working directory of auto-upgrade: Permission denied
+  [20]
+  $ hg debugformat -R auto-upgrade | grep dirstate-v2
+  dirstate-v2:        yes
+
+  $ chmod -R u+w auto-upgrade
+