diff --git a/tests/hghave.py b/tests/hghave.py
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvaGdoYXZlLnB5..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvaGdoYXZlLnB5 100644
--- a/tests/hghave.py
+++ b/tests/hghave.py
@@ -733,7 +733,8 @@
     features = {
         'bundlerepo',
         'revlogstore',
+        'fncache',
     }
 
     # Features that imply other features.
     implies = {
@@ -736,8 +737,8 @@
     }
 
     # Features that imply other features.
     implies = {
-        'simplestore': ['-revlogstore', '-bundlerepo'],
+        'simplestore': ['-revlogstore', '-bundlerepo', '-fncache'],
     }
 
     for override in os.environ.get('HGREPOFEATURES', '').split(' '):
@@ -770,3 +771,7 @@
 @check('repobundlerepo', 'whether we can open bundle files as repos')
 def has_repobundlerepo():
     return 'bundlerepo' in getrepofeatures()
+
+@check('repofncache', 'repository has an fncache')
+def has_repofncache():
+    return 'fncache' in getrepofeatures()
diff --git a/tests/simplestorerepo.py b/tests/simplestorerepo.py
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvc2ltcGxlc3RvcmVyZXBvLnB5..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvc2ltcGxlc3RvcmVyZXBvLnB5 100644
--- a/tests/simplestorerepo.py
+++ b/tests/simplestorerepo.py
@@ -12,6 +12,8 @@
 
 from __future__ import absolute_import
 
+import stat
+
 from mercurial.i18n import _
 from mercurial.node import (
     bin,
@@ -26,4 +28,5 @@
     ancestor,
     bundlerepo,
     error,
+    extensions,
     filelog,
@@ -29,4 +32,5 @@
     filelog,
+    localrepo,
     mdiff,
     pycompat,
     revlog,
@@ -30,6 +34,7 @@
     mdiff,
     pycompat,
     revlog,
+    store,
 )
 
 # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
@@ -38,6 +43,8 @@
 # leave the attribute unspecified.
 testedwith = 'ships-with-hg-core'
 
+REQUIREMENT = 'testonly-simplestore'
+
 def validatenode(node):
     if isinstance(node, int):
         raise ValueError('expected node; got int')
@@ -581,6 +588,36 @@
         self._indexdata[rev:] = []
         self._reflectindexupdate()
 
+def issimplestorefile(f, kind, st):
+    if kind != stat.S_IFREG:
+        return False
+
+    if store.isrevlog(f, kind, st):
+        return False
+
+    # Ignore transaction undo files.
+    if f.startswith('undo.'):
+        return False
+
+    # Otherwise assume it belongs to the simple store.
+    return True
+
+class simplestore(store.encodedstore):
+    def datafiles(self):
+        for x in super(simplestore, self).datafiles():
+            yield x
+
+        # Supplement with non-revlog files.
+        extrafiles = self._walk('data', True, filefilter=issimplestorefile)
+
+        for unencoded, encoded, size in extrafiles:
+            try:
+                unencoded = store.decodefilename(unencoded)
+            except KeyError:
+                unencoded = None
+
+            yield unencoded, encoded, size
+
 def reposetup(ui, repo):
     if not repo.local():
         return
@@ -593,3 +630,35 @@
             return filestorage(self.svfs, f)
 
     repo.__class__ = simplestorerepo
+
+def featuresetup(ui, supported):
+    supported.add(REQUIREMENT)
+
+def newreporequirements(orig, repo):
+    """Modifies default requirements for new repos to use the simple store."""
+    requirements = orig(repo)
+
+    # These requirements are only used to affect creation of the store
+    # object. We have our own store. So we can remove them.
+    # TODO do this once we feel like taking the test hit.
+    #if 'fncache' in requirements:
+    #    requirements.remove('fncache')
+    #if 'dotencode' in requirements:
+    #    requirements.remove('dotencode')
+
+    requirements.add(REQUIREMENT)
+
+    return requirements
+
+def makestore(orig, requirements, path, vfstype):
+    if REQUIREMENT not in requirements:
+        return orig(requirements, path, vfstype)
+
+    return simplestore(path, vfstype)
+
+def extsetup(ui):
+    localrepo.featuresetupfuncs.add(featuresetup)
+
+    extensions.wrapfunction(localrepo, 'newreporequirements',
+                            newreporequirements)
+    extensions.wrapfunction(store, 'store', makestore)
diff --git a/tests/test-clone.t b/tests/test-clone.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1jbG9uZS50..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1jbG9uZS50 100644
--- a/tests/test-clone.t
+++ b/tests/test-clone.t
@@ -104,8 +104,7 @@
   linking: 15 (reposimplestore !)
   linking: 16 (reposimplestore !)
   linking: 17 (reposimplestore !)
-  linking: 18 (reposimplestore !)
-  linked 18 files (reposimplestore !)
+  linked 17 files (reposimplestore !)
 #else
   $ hg --debug clone -U . ../c --config progress.debug=true
   linking: 1
@@ -126,8 +125,7 @@
   copying: 15 (reposimplestore !)
   copying: 16 (reposimplestore !)
   copying: 17 (reposimplestore !)
-  copying: 18 (reposimplestore !)
-  copied 18 files (reposimplestore !)
+  copied 17 files (reposimplestore !)
 #endif
   $ cd ../c
 
diff --git a/tests/test-convert.t b/tests/test-convert.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1jb252ZXJ0LnQ=..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1jb252ZXJ0LnQ= 100644
--- a/tests/test-convert.t
+++ b/tests/test-convert.t
@@ -515,6 +515,7 @@
 
 contents of fncache file:
 
+#if repofncache
   $ cat b/.hg/store/fncache | sort
   data/a.i (reporevlogstore !)
   data/b.i (reporevlogstore !)
@@ -518,12 +519,7 @@
   $ cat b/.hg/store/fncache | sort
   data/a.i (reporevlogstore !)
   data/b.i (reporevlogstore !)
-  data/a/0f3078c2d7345d887b54f7c9dab0d91bfa57fd07 (reposimplestore !)
-  data/a/4271c3e84237016935a176b6f282fde2128458b0 (reposimplestore !)
-  data/a/b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 (reposimplestore !)
-  data/a/index (reposimplestore !)
-  data/b/37d9b5d994eab34eda9c16b195ace52c7b129980 (reposimplestore !)
-  data/b/index (reposimplestore !)
+#endif
 
 test bogus URL
 
diff --git a/tests/test-fncache.t b/tests/test-fncache.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1mbmNhY2hlLnQ=..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1mbmNhY2hlLnQ= 100644
--- a/tests/test-fncache.t
+++ b/tests/test-fncache.t
@@ -1,3 +1,5 @@
+#require repofncache
+
 Init repo1:
 
   $ hg init repo1
diff --git a/tests/test-hardlinks.t b/tests/test-hardlinks.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1oYXJkbGlua3MudA==..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1oYXJkbGlua3MudA== 100644
--- a/tests/test-hardlinks.t
+++ b/tests/test-hardlinks.t
@@ -49,6 +49,6 @@
   1 r1/.hg/store/00manifest.i
   1 r1/.hg/store/data/d1/f2.i
   1 r1/.hg/store/data/f1.i
-  1 r1/.hg/store/fncache
+  1 r1/.hg/store/fncache (repofncache !)
   1 r1/.hg/store/phaseroots
   1 r1/.hg/store/undo
@@ -53,6 +53,6 @@
   1 r1/.hg/store/phaseroots
   1 r1/.hg/store/undo
-  1 r1/.hg/store/undo.backup.fncache
+  1 r1/.hg/store/undo.backup.fncache (repofncache !)
   1 r1/.hg/store/undo.backupfiles
   1 r1/.hg/store/undo.phaseroots
 
@@ -89,6 +89,6 @@
   2 r1/.hg/store/00manifest.i
   2 r1/.hg/store/data/d1/f2.i
   2 r1/.hg/store/data/f1.i
-  2 r1/.hg/store/fncache
+  2 r1/.hg/store/fncache (repofncache !)
   1 r1/.hg/store/phaseroots
   1 r1/.hg/store/undo
@@ -93,6 +93,6 @@
   1 r1/.hg/store/phaseroots
   1 r1/.hg/store/undo
-  1 r1/.hg/store/undo.backup.fncache
+  1 r1/.hg/store/undo.backup.fncache (repofncache !)
   1 r1/.hg/store/undo.backupfiles
   1 r1/.hg/store/undo.phaseroots
 
@@ -101,7 +101,7 @@
   2 r2/.hg/store/00manifest.i
   2 r2/.hg/store/data/d1/f2.i
   2 r2/.hg/store/data/f1.i
-  2 r2/.hg/store/fncache
+  2 r2/.hg/store/fncache (repofncache !)
 
 Repo r3 should not be hardlinked:
 
@@ -110,7 +110,7 @@
   1 r3/.hg/store/00manifest.i
   1 r3/.hg/store/data/d1/f2.i
   1 r3/.hg/store/data/f1.i
-  1 r3/.hg/store/fncache
+  1 r3/.hg/store/fncache (repofncache !)
   1 r3/.hg/store/phaseroots
   1 r3/.hg/store/undo
   1 r3/.hg/store/undo.backupfiles
@@ -136,6 +136,6 @@
   1 r3/.hg/store/data/d1/f2.d
   1 r3/.hg/store/data/d1/f2.i
   1 r3/.hg/store/data/f1.i
-  1 r3/.hg/store/fncache
+  1 r3/.hg/store/fncache (repofncache !)
   1 r3/.hg/store/phaseroots
   1 r3/.hg/store/undo
@@ -140,6 +140,6 @@
   1 r3/.hg/store/phaseroots
   1 r3/.hg/store/undo
-  1 r3/.hg/store/undo.backup.fncache
+  1 r3/.hg/store/undo.backup.fncache (repofncache !)
   1 r3/.hg/store/undo.backup.phaseroots
   1 r3/.hg/store/undo.backupfiles
   1 r3/.hg/store/undo.phaseroots
@@ -169,5 +169,5 @@
   1 r2/.hg/store/00manifest.i
   1 r2/.hg/store/data/d1/f2.i
   2 r2/.hg/store/data/f1.i
-  [12] r2/\.hg/store/fncache (re)
+  [12] r2/\.hg/store/fncache (re) (repofncache !)
 
@@ -173,5 +173,5 @@
 
-#if hardlink-whitelisted
+#if hardlink-whitelisted repofncache
   $ nlinksdir r2/.hg/store/fncache
   2 r2/.hg/store/fncache
 #endif
@@ -199,5 +199,5 @@
   1 r2/.hg/store/00manifest.i
   1 r2/.hg/store/data/d1/f2.i
   1 r2/.hg/store/data/f1.i
-  [12] r2/\.hg/store/fncache (re)
+  [12] r2/\.hg/store/fncache (re) (repofncache !)
 
@@ -203,5 +203,5 @@
 
-#if hardlink-whitelisted
+#if hardlink-whitelisted repofncache
   $ nlinksdir r2/.hg/store/fncache
   2 r2/.hg/store/fncache
 #endif
@@ -254,6 +254,6 @@
   2 r4/.hg/store/data/d1/f2.i
   2 r4/.hg/store/data/f1.i
   2 r4/.hg/store/data/f3.i
-  2 r4/.hg/store/fncache
+  2 r4/.hg/store/fncache (repofncache !)
   2 r4/.hg/store/phaseroots
   2 r4/.hg/store/undo
@@ -258,6 +258,6 @@
   2 r4/.hg/store/phaseroots
   2 r4/.hg/store/undo
-  2 r4/.hg/store/undo.backup.fncache
+  2 r4/.hg/store/undo.backup.fncache (repofncache !)
   2 r4/.hg/store/undo.backup.phaseroots
   2 r4/.hg/store/undo.backupfiles
   2 r4/.hg/store/undo.phaseroots
@@ -307,7 +307,7 @@
   2 r4/.hg/store/fncache
   2 r4/.hg/store/phaseroots
   2 r4/.hg/store/undo
-  2 r4/.hg/store/undo.backup.fncache
+  2 r4/.hg/store/undo.backup.fncache (repofncache !)
   2 r4/.hg/store/undo.backup.phaseroots
   2 r4/.hg/store/undo.backupfiles
   2 r4/.hg/store/undo.phaseroots
diff --git a/tests/test-hook.t b/tests/test-hook.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1ob29rLnQ=..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1ob29rLnQ= 100644
--- a/tests/test-hook.t
+++ b/tests/test-hook.t
@@ -190,7 +190,7 @@
   00changelog.i
   00manifest.i
   data
-  fncache
+  fncache (repofncache !)
   journal.phaseroots
   phaseroots
   undo
@@ -194,7 +194,7 @@
   journal.phaseroots
   phaseroots
   undo
-  undo.backup.fncache
+  undo.backup.fncache (repofncache !)
   undo.backupfiles
   undo.phaseroots
 
diff --git a/tests/test-inherit-mode.t b/tests/test-inherit-mode.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1pbmhlcml0LW1vZGUudA==..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1pbmhlcml0LW1vZGUudA== 100644
--- a/tests/test-inherit-mode.t
+++ b/tests/test-inherit-mode.t
@@ -82,7 +82,7 @@
   00770 ./.hg/store/data/dir/
   00660 ./.hg/store/data/dir/bar.i
   00660 ./.hg/store/data/foo.i
-  00660 ./.hg/store/fncache
+  00660 ./.hg/store/fncache (repofncache !)
   00660 ./.hg/store/phaseroots
   00660 ./.hg/store/undo
   00660 ./.hg/store/undo.backupfiles
@@ -128,7 +128,7 @@
   00770 ../push/.hg/store/data/dir/
   00660 ../push/.hg/store/data/dir/bar.i
   00660 ../push/.hg/store/data/foo.i
-  00660 ../push/.hg/store/fncache
+  00660 ../push/.hg/store/fncache (repofncache !)
   00660 ../push/.hg/store/undo
   00660 ../push/.hg/store/undo.backupfiles
   00660 ../push/.hg/store/undo.phaseroots
diff --git a/tests/test-init.t b/tests/test-init.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1pbml0LnQ=..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1pbml0LnQ= 100644
--- a/tests/test-init.t
+++ b/tests/test-init.t
@@ -23,6 +23,7 @@
   generaldelta
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
   $ echo this > local/foo
   $ hg ci --cwd local -A -m "init"
   adding foo
@@ -58,6 +59,7 @@
   $ checknewrepo old
   generaldelta
   revlogv1
+  testonly-simplestore (reposimplestore !)
 
 creating repo with format.usefncache=false
 
@@ -68,6 +70,7 @@
   generaldelta
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
 creating repo with format.dotencode=false
 
@@ -79,6 +82,7 @@
   generaldelta
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
 creating repo with format.dotencode=false
 
@@ -90,6 +94,7 @@
   fncache
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
 test failure
 
@@ -206,6 +211,7 @@
   generaldelta
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
 prepare test of init of url configured from paths
 
@@ -224,6 +230,7 @@
   generaldelta
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
 verify that clone also expand urls
 
@@ -238,6 +245,7 @@
   generaldelta
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
 clone bookmarks
 
diff --git a/tests/test-narrow-clone-no-ellipsis.t b/tests/test-narrow-clone-no-ellipsis.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1uYXJyb3ctY2xvbmUtbm8tZWxsaXBzaXMudA==..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1uYXJyb3ctY2xvbmUtbm8tZWxsaXBzaXMudA== 100644
--- a/tests/test-narrow-clone-no-ellipsis.t
+++ b/tests/test-narrow-clone-no-ellipsis.t
@@ -28,6 +28,7 @@
   narrowhg-experimental
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
   $ cat .hg/narrowspec
   [includes]
diff --git a/tests/test-narrow-clone.t b/tests/test-narrow-clone.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1uYXJyb3ctY2xvbmUudA==..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1uYXJyb3ctY2xvbmUudA== 100644
--- a/tests/test-narrow-clone.t
+++ b/tests/test-narrow-clone.t
@@ -32,6 +32,7 @@
   narrowhg-experimental
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
   $ cat .hg/narrowspec
   [includes]
diff --git a/tests/test-narrow.t b/tests/test-narrow.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1uYXJyb3cudA==..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1uYXJyb3cudA== 100644
--- a/tests/test-narrow.t
+++ b/tests/test-narrow.t
@@ -128,6 +128,7 @@
   * (glob)
   saved backup bundle to $TESTTMP/narrow-local-changes/.hg/strip-backup/*-narrow.hg (glob)
   deleting data/d0/f.i (reporevlogstore !)
+  deleting meta/d0/00manifest.i (tree !)
   deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !)
   deleting data/d0/f/4374b5650fc5ae54ac857c0f0381971fdde376f7 (reposimplestore !)
   deleting data/d0/f/index (reposimplestore !)
@@ -131,7 +132,6 @@
   deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !)
   deleting data/d0/f/4374b5650fc5ae54ac857c0f0381971fdde376f7 (reposimplestore !)
   deleting data/d0/f/index (reposimplestore !)
-  deleting meta/d0/00manifest.i (tree !)
 
   $ hg log -T "{node|short}: {desc} {outsidenarrow}\n"
   *: local change to d3  (glob)
@@ -159,6 +159,7 @@
   looking for local changes to affected paths
   saved backup bundle to $TESTTMP/narrow-local-changes/.hg/strip-backup/*-narrow.hg (glob)
   deleting data/d0/f.i (reporevlogstore !)
+  deleting meta/d0/00manifest.i (tree !)
   deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !)
   deleting data/d0/f/4374b5650fc5ae54ac857c0f0381971fdde376f7 (reposimplestore !)
   deleting data/d0/f/index (reposimplestore !)
@@ -162,7 +163,6 @@
   deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !)
   deleting data/d0/f/4374b5650fc5ae54ac857c0f0381971fdde376f7 (reposimplestore !)
   deleting data/d0/f/index (reposimplestore !)
-  deleting meta/d0/00manifest.i (tree !)
 
 Updates off of stripped commit if necessary
   $ hg co -r 'desc("local change to d3")' -q
@@ -178,6 +178,7 @@
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   saved backup bundle to $TESTTMP/narrow-local-changes/.hg/strip-backup/*-narrow.hg (glob)
   deleting data/d3/f.i (reporevlogstore !)
+  deleting meta/d3/00manifest.i (tree !)
   deleting data/d3/f/2661d26c649684b482d10f91960cc3db683c38b4 (reposimplestore !)
   deleting data/d3/f/99fa7136105a15e2045ce3d9152e4837c5349e4d (reposimplestore !)
   deleting data/d3/f/index (reposimplestore !)
@@ -181,7 +182,6 @@
   deleting data/d3/f/2661d26c649684b482d10f91960cc3db683c38b4 (reposimplestore !)
   deleting data/d3/f/99fa7136105a15e2045ce3d9152e4837c5349e4d (reposimplestore !)
   deleting data/d3/f/index (reposimplestore !)
-  deleting meta/d3/00manifest.i (tree !)
   $ hg log -T '{desc}\n' -r .
   add d10/f
 Updates to nullid if necessary
@@ -201,6 +201,7 @@
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   saved backup bundle to $TESTTMP/narrow-local-changes/.hg/strip-backup/*-narrow.hg (glob)
   deleting data/d3/f.i (reporevlogstore !)
+  deleting meta/d3/00manifest.i (tree !)
   deleting data/d3/f/2661d26c649684b482d10f91960cc3db683c38b4 (reposimplestore !)
   deleting data/d3/f/5ce0767945cbdbca3b924bb9fbf5143f72ab40ac (reposimplestore !)
   deleting data/d3/f/index (reposimplestore !)
@@ -204,7 +205,6 @@
   deleting data/d3/f/2661d26c649684b482d10f91960cc3db683c38b4 (reposimplestore !)
   deleting data/d3/f/5ce0767945cbdbca3b924bb9fbf5143f72ab40ac (reposimplestore !)
   deleting data/d3/f/index (reposimplestore !)
-  deleting meta/d3/00manifest.i (tree !)
   $ hg id
   000000000000
   $ cd ..
@@ -224,5 +224,6 @@
   searching for changes
   looking for local changes to affected paths
   deleting data/d0/f.i (reporevlogstore !)
+  deleting meta/d0/00manifest.i (tree !)
   deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !)
   deleting data/d0/f/index (reposimplestore !)
@@ -227,6 +228,5 @@
   deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !)
   deleting data/d0/f/index (reposimplestore !)
-  deleting meta/d0/00manifest.i (tree !)
   $ hg tracked
   $ hg files
   [1]
@@ -282,5 +282,6 @@
   searching for changes
   looking for local changes to affected paths
   deleting data/d6/f.i (reporevlogstore !)
+  deleting meta/d6/00manifest.i (tree !)
   deleting data/d6/f/7339d30678f451ac8c3f38753beeb4cf2e1655c7 (reposimplestore !)
   deleting data/d6/f/index (reposimplestore !)
@@ -285,7 +286,6 @@
   deleting data/d6/f/7339d30678f451ac8c3f38753beeb4cf2e1655c7 (reposimplestore !)
   deleting data/d6/f/index (reposimplestore !)
-  deleting meta/d6/00manifest.i (tree !)
   $ hg tracked
   I path:d0
   I path:d3
   I path:d9
@@ -288,6 +288,7 @@
   $ hg tracked
   I path:d0
   I path:d3
   I path:d9
+#if repofncache
   $ hg debugrebuildfncache
   fncache already up to date
@@ -292,5 +293,6 @@
   $ hg debugrebuildfncache
   fncache already up to date
+#endif
   $ find *
   d0
   d0/f
@@ -304,8 +306,10 @@
   searching for changes
   looking for local changes to affected paths
   deleting data/d3/f.i (reporevlogstore !)
+  deleting data/d3/f/2661d26c649684b482d10f91960cc3db683c38b4 (reposimplestore !)
+  deleting data/d3/f/index (reposimplestore !)
   $ hg tracked
   I path:d0
   I path:d3
   I path:d9
   X path:d3/f
@@ -307,7 +311,8 @@
   $ hg tracked
   I path:d0
   I path:d3
   I path:d9
   X path:d3/f
+#if repofncache
   $ hg debugrebuildfncache
   fncache already up to date
@@ -312,5 +317,6 @@
   $ hg debugrebuildfncache
   fncache already up to date
+#endif
   $ find *
   d0
   d0/f
@@ -323,8 +329,10 @@
   looking for local changes to affected paths
   deleting data/d0/f.i (reporevlogstore !)
   deleting meta/d0/00manifest.i (tree !)
+  deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !)
+  deleting data/d0/f/index (reposimplestore !)
   $ hg tracked
   I path:d3
   I path:d9
   X path:d0
   X path:d3/f
@@ -326,7 +334,8 @@
   $ hg tracked
   I path:d3
   I path:d9
   X path:d0
   X path:d3/f
+#if repofncache
   $ hg debugrebuildfncache
   fncache already up to date
@@ -331,5 +340,6 @@
   $ hg debugrebuildfncache
   fncache already up to date
+#endif
   $ find *
   d9
   d9/f
diff --git a/tests/test-repo-compengines.t b/tests/test-repo-compengines.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1yZXBvLWNvbXBlbmdpbmVzLnQ=..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1yZXBvLWNvbXBlbmdpbmVzLnQ= 100644
--- a/tests/test-repo-compengines.t
+++ b/tests/test-repo-compengines.t
@@ -8,6 +8,7 @@
   generaldelta
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
   $ touch foo
   $ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text to trigger compression'
@@ -47,6 +48,7 @@
   generaldelta
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
   $ touch foo
   $ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text'
@@ -70,6 +72,7 @@
   generaldelta
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
   $ hg debugrevlog -c | grep 0x78
       0x78 (x)  :   2 (100.00%)
diff --git a/tests/test-sparse-requirement.t b/tests/test-sparse-requirement.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1zcGFyc2UtcmVxdWlyZW1lbnQudA==..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1zcGFyc2UtcmVxdWlyZW1lbnQudA== 100644
--- a/tests/test-sparse-requirement.t
+++ b/tests/test-sparse-requirement.t
@@ -22,6 +22,7 @@
   generaldelta
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
   $ hg debugsparse --config extensions.sparse= --enable-profile frontend.sparse
   $ ls
@@ -37,6 +38,7 @@
   generaldelta
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
 Client without sparse enabled reacts properly
 
@@ -54,6 +56,7 @@
   generaldelta
   revlogv1
   store
+  testonly-simplestore (reposimplestore !)
 
 And client without sparse can access
 
diff --git a/tests/test-strip.t b/tests/test-strip.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1zdHJpcC50..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1zdHJpcC50 100644
--- a/tests/test-strip.t
+++ b/tests/test-strip.t
@@ -445,6 +445,7 @@
 
   $ touch a
   $ hg ci -qAm a
+#if repofncache
   $ cat .hg/store/fncache | sort
   data/a.i
   data/bar.i
@@ -448,7 +449,8 @@
   $ cat .hg/store/fncache | sort
   data/a.i
   data/bar.i
+#endif
 
   $ hg strip tip
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
@@ -451,6 +453,7 @@
 
   $ hg strip tip
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)
+#if repofncache
   $ cat .hg/store/fncache
   data/bar.i
@@ -455,5 +458,6 @@
   $ cat .hg/store/fncache
   data/bar.i
+#endif
 
 stripping an empty revset
 
diff --git a/tests/test-subrepo-deep-nested-change.t b/tests/test-subrepo-deep-nested-change.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1zdWJyZXBvLWRlZXAtbmVzdGVkLWNoYW5nZS50..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1zdWJyZXBvLWRlZXAtbmVzdGVkLWNoYW5nZS50 100644
--- a/tests/test-subrepo-deep-nested-change.t
+++ b/tests/test-subrepo-deep-nested-change.t
@@ -34,7 +34,6 @@
   linking [    <=>                                        ] 4\r (no-eol) (esc)
   linking [     <=>                                       ] 5\r (no-eol) (esc)
   linking [      <=>                                      ] 6\r (no-eol) (esc)
-  linking [       <=>                                     ] 7\r (no-eol) (esc) (reposimplestore !)
                                                               \r (no-eol) (esc)
   \r (no-eol) (esc)
   updating [===========================================>] 1/1\r (no-eol) (esc)
@@ -63,7 +62,6 @@
   linking [        <=>                                    ] 8\r (no-eol) (esc)
   linking [         <=>                                   ] 9\r (no-eol) (esc) (reposimplestore !)
   linking [          <=>                                 ] 10\r (no-eol) (esc) (reposimplestore !)
-  linking [           <=>                                ] 11\r (no-eol) (esc) (reposimplestore !)
                                                               \r (no-eol) (esc)
   \r (no-eol) (esc)
   updating [===========================================>] 3/3\r (no-eol) (esc)
@@ -75,7 +73,6 @@
   linking [    <=>                                        ] 4\r (no-eol) (esc)
   linking [     <=>                                       ] 5\r (no-eol) (esc)
   linking [      <=>                                      ] 6\r (no-eol) (esc)
-  linking [       <=>                                     ] 7\r (no-eol) (esc) (reposimplestore !)
   updating [===========================================>] 1/1\r (no-eol) (esc)
                                                               \r (no-eol) (esc)
   updating to branch default
@@ -168,7 +165,6 @@
   linking [        <=>                                    ] 8\r (no-eol) (esc)
   linking [         <=>                                   ] 9\r (no-eol) (esc) (reposimplestore !)
   linking [          <=>                                 ] 10\r (no-eol) (esc) (reposimplestore !)
-  linking [           <=>                                ] 11\r (no-eol) (esc) (reposimplestore !)
                                                               \r (no-eol) (esc)
   \r (no-eol) (esc)
   updating [===========================================>] 3/3\r (no-eol) (esc)
@@ -184,7 +180,6 @@
   linking [        <=>                                    ] 8\r (no-eol) (esc)
   linking [         <=>                                   ] 9\r (no-eol) (esc) (reposimplestore !)
   linking [          <=>                                 ] 10\r (no-eol) (esc) (reposimplestore !)
-  linking [           <=>                                ] 11\r (no-eol) (esc) (reposimplestore !)
   updating [===========================================>] 3/3\r (no-eol) (esc)
                                                               \r (no-eol) (esc)
   \r (no-eol) (esc)
@@ -200,7 +195,6 @@
   linking [               <=>                             ] 4\r (no-eol) (esc) (reposimplestore !)
   linking [                <=>                            ] 5\r (no-eol) (esc) (reposimplestore !)
   linking [                 <=>                           ] 6\r (no-eol) (esc) (reposimplestore !)
-  linking [                  <=>                          ] 7\r (no-eol) (esc) (reposimplestore !)
   updating [===========================================>] 1/1\r (no-eol) (esc)
                                                               \r (no-eol) (esc)
   updating to branch default
diff --git a/tests/test-subrepo-recursion.t b/tests/test-subrepo-recursion.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC1zdWJyZXBvLXJlY3Vyc2lvbi50..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC1zdWJyZXBvLXJlY3Vyc2lvbi50 100644
--- a/tests/test-subrepo-recursion.t
+++ b/tests/test-subrepo-recursion.t
@@ -466,7 +466,6 @@
   linking [          <=>                                 ] 10\r (no-eol) (esc) (reposimplestore !)
   linking [           <=>                                ] 11\r (no-eol) (esc) (reposimplestore !)
   linking [            <=>                               ] 12\r (no-eol) (esc) (reposimplestore !)
-  linking [             <=>                              ] 13\r (no-eol) (esc) (reposimplestore !)
                                                               \r (no-eol) (esc)
 #else
   $ hg clone -U . ../empty
@@ -498,7 +497,6 @@
   linking [            <=>                               ] 12\r (no-eol) (esc) (reposimplestore !)
   linking [             <=>                              ] 13\r (no-eol) (esc) (reposimplestore !)
   linking [              <=>                             ] 14\r (no-eol) (esc) (reposimplestore !)
-  linking [               <=>                            ] 15\r (no-eol) (esc) (reposimplestore !)
                                                               \r (no-eol) (esc)
   \r (no-eol) (esc)
   archiving (foo) [                                     ] 0/3\r (no-eol) (esc)
@@ -515,7 +513,6 @@
   linking [      <=>                                      ] 6\r (no-eol) (esc)
   linking [       <=>                                     ] 7\r (no-eol) (esc) (reposimplestore !)
   linking [        <=>                                    ] 8\r (no-eol) (esc) (reposimplestore !)
-  linking [         <=>                                   ] 9\r (no-eol) (esc) (reposimplestore !)
                                                               \r (no-eol) (esc)
   \r (no-eol) (esc)
   archiving (foo/bar) [                                 ] 0/1\r (no-eol) (esc)
diff --git a/tests/test-treemanifest.t b/tests/test-treemanifest.t
index 2d965bfeb8f6326eed0b86e5070366a67f074387_dGVzdHMvdGVzdC10cmVlbWFuaWZlc3QudA==..c2c8962a9465aaad003b6bcc2161fb38d9eab6f5_dGVzdHMvdGVzdC10cmVlbWFuaWZlc3QudA== 100644
--- a/tests/test-treemanifest.t
+++ b/tests/test-treemanifest.t
@@ -557,6 +557,7 @@
   checking files
   8 files, 4 changesets, 18 total revisions
 
+#if repofncache
 Dirlogs are included in fncache
   $ grep meta/.A/00manifest.i .hg/store/fncache
   meta/.A/00manifest.i
@@ -581,6 +582,7 @@
   adding meta/b/foo/apple/00manifest.i
   adding meta/b/foo/apple/bees/00manifest.i
   16 items added, 0 removed from fncache
+#endif
 
 Finish first server
   $ killdaemons.py