=?UTF-8?Q?Fr=C3=A9d=C3=A9ric=20Delanoy=20?=: cmd/tests: Correctly determine script path for root directories.
Alexandre Julliard
julliard at winehq.org
Tue Mar 11 14:45:40 CDT 2014
Module: wine
Branch: master
Commit: f80dd2469f0560714710f6f4e1d4905b17abb8bd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f80dd2469f0560714710f6f4e1d4905b17abb8bd
Author: Frédéric Delanoy <frederic.delanoy at gmail.com>
Date: Tue Mar 11 00:16:27 2014 +0100
cmd/tests: Correctly determine script path for root directories.
---
programs/cmd/tests/batch.c | 10 ++++++++--
programs/cmd/tests/test_builtins.cmd | 7 +++++++
programs/cmd/tests/test_builtins.cmd.exp | 3 +++
3 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/programs/cmd/tests/batch.c b/programs/cmd/tests/batch.c
index c011d70..9df0bc5 100644
--- a/programs/cmd/tests/batch.c
+++ b/programs/cmd/tests/batch.c
@@ -459,8 +459,14 @@ START_TEST(batch)
drive[0] = workdir[0];
drive[1] = workdir[1]; /* Should be ':' */
memcpy(path, workdir + drive_len, (workdir_len - drive_len) * sizeof(drive[0]));
- path[workdir_len - drive_len] = '\\';
- path_len = workdir_len - drive_len + 1;
+
+ /* Only add trailing backslash to 'path' for non-root directory */
+ if (workdir_len - drive_len > 1) {
+ path[workdir_len - drive_len] = '\\';
+ path_len = workdir_len - drive_len + 1;
+ } else {
+ path_len = 1; /* \ */
+ }
shortpath_len = GetShortPathNameA(path, shortpath,
sizeof(shortpath)/sizeof(shortpath[0]));
diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd
index 1d1eea4..16fdd43 100644
--- a/programs/cmd/tests/test_builtins.cmd
+++ b/programs/cmd/tests/test_builtins.cmd
@@ -308,6 +308,13 @@ set WINE_FOO=
echo ------------ Testing variable expansion ------------
call :setError 0
+echo ~p0 should be path containing batch file
+echo %~p0
+mkdir dummydir
+cd dummydir
+echo %~p0
+cd ..
+rmdir dummydir
echo ~dp0 should be directory containing batch file
echo %~dp0
mkdir dummydir
diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp
index 7380185..1575984 100644
--- a/programs/cmd/tests/test_builtins.cmd.exp
+++ b/programs/cmd/tests/test_builtins.cmd.exp
@@ -259,6 +259,9 @@ foo
'jim'
'apple"banana"grape'
------------ Testing variable expansion ------------
+~p0 should be path containing batch file
+ at path@
+ at path@
~dp0 should be directory containing batch file
@pwd@\
@pwd@\
More information about the wine-cvs
mailing list