Skip to content
Snippets Groups Projects
Commit 9e563ad2 authored by David Bühler's avatar David Bühler
Browse files

Merge branch 'fix/tests/stabilize-dune-oracle' into 'master'

ensures  `user_directories.unix` cram test is stable across dune versions

See merge request frama-c/frama-c!4882
parents a1d8b73c 8b1208d4
No related branches found
No related tags found
No related merge requests found
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]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment