From 955c9c8e3bee62868c22f6981bda46201192d06e Mon Sep 17 00:00:00 2001 From: Michele Alberti <michele.alberti@cea.fr> Date: Mon, 14 Dec 2020 12:19:05 +0100 Subject: [PATCH] [server] Add msg-key to use relative filepath, especially in tests. --- src/plugins/server/kernel_main.ml | 7 ++++++- src/plugins/server/server_parameters.ml | 7 +++++++ src/plugins/server/server_parameters.mli | 2 ++ .../server/tests/batch/oracle/ast_services.out.json | 6 ++---- src/plugins/server/tests/batch/test_config | 2 +- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/plugins/server/kernel_main.ml b/src/plugins/server/kernel_main.ml index e3c92e75a42..f57033cb136 100644 --- a/src/plugins/server/kernel_main.ml +++ b/src/plugins/server/kernel_main.ml @@ -90,10 +90,15 @@ struct let to_json p = let path = Filepath.(Normalized.to_pretty_string p.pos_path) in + let file = + if Server_parameters.has_relative_filepath () + then path + else (p.Filepath.pos_path :> string) + in `Assoc [ "dir" , `String (Filename.dirname path) ; "base" , `String (Filename.basename path) ; - "file" , `String (p.Filepath.pos_path :> string) ; + "file" , `String file ; "line" , `Int p.Filepath.pos_lnum ; ] diff --git a/src/plugins/server/server_parameters.ml b/src/plugins/server/server_parameters.ml index be9b5da15c6..74a07c43b7f 100644 --- a/src/plugins/server/server_parameters.ml +++ b/src/plugins/server/server_parameters.ml @@ -73,3 +73,10 @@ let wkind = register_warn_category "inconsistent-kind" let wname = register_warn_category "invalid-name" (* -------------------------------------------------------------------------- *) +(* --- Filepath Normalization --- *) +(* -------------------------------------------------------------------------- *) + +let use_relative_filepath = register_category "use-relative-filepath" +let has_relative_filepath () = is_debug_key_enabled use_relative_filepath + +(* -------------------------------------------------------------------------- *) diff --git a/src/plugins/server/server_parameters.mli b/src/plugins/server/server_parameters.mli index af8c6dea9d1..ba41ba164c7 100644 --- a/src/plugins/server/server_parameters.mli +++ b/src/plugins/server/server_parameters.mli @@ -32,4 +32,6 @@ val wpage : warn_category (** Inconsistent page warning *) val wkind : warn_category (** Inconsistent category warning *) val wname : warn_category (** Invalid name warning *) +val has_relative_filepath: unit -> bool + (**************************************************************************) diff --git a/src/plugins/server/tests/batch/oracle/ast_services.out.json b/src/plugins/server/tests/batch/oracle/ast_services.out.json index 5ecfe153b22..a6223032cf2 100644 --- a/src/plugins/server/tests/batch/oracle/ast_services.out.json +++ b/src/plugins/server/tests/batch/oracle/ast_services.out.json @@ -11,8 +11,7 @@ "sloc": { "dir": "tests/batch", "base": "ast_services.i", - "file": - "/home/michele/work/frama-c/src/plugins/server/tests/batch/ast_services.i", + "file": "tests/batch/ast_services.i", "line": 2 } }, @@ -24,8 +23,7 @@ "sloc": { "dir": "tests/batch", "base": "ast_services.i", - "file": - "/home/michele/work/frama-c/src/plugins/server/tests/batch/ast_services.i", + "file": "tests/batch/ast_services.i", "line": 1 } } diff --git a/src/plugins/server/tests/batch/test_config b/src/plugins/server/tests/batch/test_config index 15a16cd4f95..4addf96dff8 100644 --- a/src/plugins/server/tests/batch/test_config +++ b/src/plugins/server/tests/batch/test_config @@ -1,2 +1,2 @@ LOG: @PTEST_NAME@.out.json -OPT: -no-autoload-plugins -load-module server -check -server-batch @PTEST_DIR@/@PTEST_NAME@.json -server-batch-output-dir @PTEST_RESULT@ +OPT: -no-autoload-plugins -load-module server -check -server-batch @PTEST_DIR@/@PTEST_NAME@.json -server-batch-output-dir @PTEST_RESULT@ -server-msg-key use-relative-filepath -- GitLab