diff options
| author | Enrico Tassi | 2020-09-18 13:59:30 +0200 |
|---|---|---|
| committer | Enrico Tassi | 2020-09-18 13:59:30 +0200 |
| commit | 2b258e90df02448341c051ac21b84cf1c7c20428 (patch) | |
| tree | 7d16f7030e9b1d96be23ae27811195e376354465 | |
| parent | ff508baf8de691dfa94b9d65d7c77cf395127381 (diff) | |
[lib] make canonical_path_name always absolute (fix #13031)
| -rw-r--r-- | clib/cUnix.ml | 2 | ||||
| -rwxr-xr-x | test-suite/misc/coq_makefile_destination_of.sh | 26 |
2 files changed, 27 insertions, 1 deletions
diff --git a/clib/cUnix.ml b/clib/cUnix.ml index 75ed73540e..3a10e33369 100644 --- a/clib/cUnix.ml +++ b/clib/cUnix.ml @@ -69,7 +69,7 @@ let canonical_path_name p = p' with Sys_error _ -> (* We give up to find a canonical name and just simplify it... *) - strip_path p + current ^ dirsep ^ strip_path p let make_suffix name suffix = if Filename.check_suffix name suffix then name else (name ^ suffix) diff --git a/test-suite/misc/coq_makefile_destination_of.sh b/test-suite/misc/coq_makefile_destination_of.sh new file mode 100755 index 0000000000..fc8e089ccf --- /dev/null +++ b/test-suite/misc/coq_makefile_destination_of.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +export COQBIN=$BIN +export PATH=$COQBIN:$PATH + +TMP=`mktemp -d` +cd $TMP + +function assert_eq() { + if [ "$1" != "$2" ]; then + echo "coq_makefile generates destination" $1 "!=" $2 + cd / + rm -rf $TMP + exit 1 + fi +} + +assert_eq `coq_makefile -destination-of src/Y/Z/Test.v -Q src X` "X//Y/Z" +mkdir src +assert_eq `coq_makefile -destination-of src/Y/Z/Test.v -Q src X` "X//Y/Z" +mkdir -p src/Y/Z +touch src/Y/Z/Test.v +assert_eq `coq_makefile -destination-of src/Y/Z/Test.v -Q src X` "X//Y/Z" +cd / +rm -rf $TMP +exit 0 |
