diff --git a/tests/misc/user_directories.unix.t/run.t b/tests/misc/user_directories.unix.t/run.t
index 45724acbd7316d421032175ebb0564d338642465..d37609b9f5f9058977e87375af0f49ccf9881e91 100644
--- a/tests/misc/user_directories.unix.t/run.t
+++ b/tests/misc/user_directories.unix.t/run.t
@@ -1,10 +1,12 @@
 In all these tests please set HOME before executing commands so that it does not
 touch the actual user HOME.
+In addition, make sure that you use dune with option `--cache=disabled`,
+in order not to pollute `home/.cache` in dune >= 3.16
 
   $ dune build --root . @install
 
 Basic case
-  $ HOME=home dune exec -- frama-c
+  $ HOME=home dune exec --cache=disabled -- frama-c
   [dirs] Not created:
   [dirs] home/.cache/frama-c/dirs/not_created
   [dirs] home/.config/frama-c/dirs/not_created
@@ -29,7 +31,7 @@ Basic case
   $ rm -rf home
 
 Customized via variables: XDG level
-  $ HOME=home XDG_CACHE_HOME=cache XDG_CONFIG_HOME=config XDG_STATE_HOME=state dune exec -- frama-c
+  $ HOME=home XDG_CACHE_HOME=cache XDG_CONFIG_HOME=config XDG_STATE_HOME=state dune exec --cache=disabled -- frama-c
   [dirs] Not created:
   [dirs] cache/frama-c/dirs/not_created
   [dirs] config/frama-c/dirs/not_created
@@ -56,7 +58,7 @@ Customized via variables: XDG level
   $ rm -rf home cache config state
 
 Customized via variables: Kernel level
-  $ HOME=home FRAMAC_CACHE=cache FRAMAC_CONFIG=config FRAMAC_STATE=state FRAMAC_SESSION=session dune exec -- frama-c
+  $ HOME=home FRAMAC_CACHE=cache FRAMAC_CONFIG=config FRAMAC_STATE=state FRAMAC_SESSION=session dune exec --cache=disabled -- frama-c
   [dirs] Not created:
   [dirs] cache/dirs/not_created
   [dirs] config/dirs/not_created
@@ -80,7 +82,7 @@ Customized via variables: Kernel level
   $ rm -rf home cache config state
 
 Customized via variables: Plugin level
-  $ HOME=home FRAMAC_DIRS_CACHE=cache FRAMAC_DIRS_CONFIG=config FRAMAC_DIRS_STATE=state FRAMAC_DIRS_SESSION=session dune exec -- frama-c
+  $ HOME=home FRAMAC_DIRS_CACHE=cache FRAMAC_DIRS_CONFIG=config FRAMAC_DIRS_STATE=state FRAMAC_DIRS_SESSION=session dune exec --cache=disabled -- frama-c
   [dirs] Not created:
   [dirs] cache/not_created
   [dirs] config/not_created
@@ -101,7 +103,7 @@ Customized via variables: Plugin level
   $ rm -rf home cache config state
 
 Customized via options kernel level
-  $ HOME=home dune exec -- frama-c -cache cache -config config -state state -session session
+  $ HOME=home dune exec --cache=disabled -- frama-c -cache cache -config config -state state -session session
   [dirs] Not created:
   [dirs] cache/dirs/not_created
   [dirs] config/dirs/not_created
@@ -125,7 +127,7 @@ Customized via options kernel level
   $ rm -rf home cache config state
 
 Customized via options plug-in level
-  $ HOME=home dune exec -- frama-c -dirs-cache cache -dirs-config config -dirs-state state -dirs-session session
+  $ HOME=home dune exec --cache=disabled -- frama-c -dirs-cache cache -dirs-config config -dirs-state state -dirs-session session
   [dirs] Not created:
   [dirs] cache/not_created
   [dirs] config/not_created
@@ -146,43 +148,43 @@ Customized via options plug-in level
   $ rm -rf home cache config state
 
 Customized plug-in subdir option > plug-in subdir variable
-  $ HOME=home FRAMAC_DIRS_VAR=subdir_bad dune exec -- frama-c -dirs-cache-only -dirs-optvar subdir
+  $ HOME=home FRAMAC_DIRS_VAR=subdir_bad dune exec --cache=disabled -- frama-c -dirs-cache-only -dirs-optvar subdir
   [dirs] User Error: home/.cache/frama-c/dirs/created is expected to be a file
   [dirs] User Error: subdir is expected to be a file
   $ rm -rf home cache subdir
 
 Customized plug-in subdir variable > plug-in option
-  $ HOME=home FRAMAC_DIRS_VAR=subdir dune exec -- frama-c -dirs-cache-only -dirs-cache cache
+  $ HOME=home FRAMAC_DIRS_VAR=subdir dune exec --cache=disabled -- frama-c -dirs-cache-only -dirs-cache cache
   [dirs] User Error: cache/created is expected to be a file
   [dirs] User Error: subdir is expected to be a file
   $ rm -rf home cache subdir
 
 Customized plug-in option > plug-in var
-  $ HOME=home FRAMAC_DIRS_CACHE=cache_bad dune exec -- frama-c -dirs-cache-only -dirs-cache cache
+  $ HOME=home FRAMAC_DIRS_CACHE=cache_bad dune exec --cache=disabled -- frama-c -dirs-cache-only -dirs-cache cache
   [dirs] User Error: cache/created is expected to be a file
   [dirs] User Error: cache/optvar is expected to be a file
   $ rm -rf home cache
 
 Customized plug-in var > kernel option
-  $ HOME=home FRAMAC_DIRS_CACHE=cache dune exec -- frama-c -dirs-cache-only -cache cache_bad
+  $ HOME=home FRAMAC_DIRS_CACHE=cache dune exec --cache=disabled -- frama-c -dirs-cache-only -cache cache_bad
   [dirs] User Error: cache/created is expected to be a file
   [dirs] User Error: cache/optvar is expected to be a file
   $ rm -rf home cache
 
 Customized kernel option > kernel var
-  $ HOME=home FRAMAC_CACHE=cache_bad dune exec -- frama-c -dirs-cache-only -cache cache
+  $ HOME=home FRAMAC_CACHE=cache_bad dune exec --cache=disabled -- frama-c -dirs-cache-only -cache cache
   [dirs] User Error: cache/dirs/created is expected to be a file
   [dirs] User Error: cache/dirs/optvar is expected to be a file
   $ rm -rf home cache
 
 Customized kernel var > xdg var
-  $ HOME=home XDG_CACHE_HOME=cache_bad FRAMAC_CACHE=cache dune exec -- frama-c -dirs-cache-only
+  $ HOME=home XDG_CACHE_HOME=cache_bad FRAMAC_CACHE=cache dune exec --cache=disabled -- frama-c -dirs-cache-only
   [dirs] User Error: cache/dirs/created is expected to be a file
   [dirs] User Error: cache/dirs/optvar is expected to be a file
   $ rm -rf home cache
 
 Bad home value
-  $ HOME= dune exec -- frama-c
+  $ HOME= dune exec --cache=disabled -- frama-c
   [dirs] User Error: Failure when creating directories
   [dirs] User Error: Deferred error message was emitted during execution. See above messages for more information.
   [kernel] Plug-in dirs aborted: invalid user input.
@@ -191,7 +193,7 @@ Bad home value
 Bad home permission
   $ mkdir home
   $ chmod -w home
-  $ HOME=home dune exec -- frama-c
+  $ HOME=home dune exec --cache=disabled -- frama-c
   [dirs] User Error: cannot create cache directory `home/.cache/frama-c/dirs/created'
   [kernel] Plug-in dirs aborted: invalid user input.
   [1]
@@ -200,7 +202,7 @@ Bad home permission
 File already exists were a directory is expected
   $ mkdir cache
   $ touch cache/created
-  $ HOME=home dune exec -- frama-c -dirs-cache cache
+  $ HOME=home dune exec --cache=disabled -- frama-c -dirs-cache cache
   [dirs] User Error: cache/created is expected to be a directory
   [kernel] Plug-in dirs aborted: invalid user input.
   [1]