Module: wine Branch: master Commit: fdd55977bc44a0a477fc5ec224f55f5678f50591 URL: http://source.winehq.org/git/wine.git/?a=commit;h=fdd55977bc44a0a477fc5ec224...
Author: James Hawkins jhawkins@codeweavers.com Date: Sun Mar 23 18:10:02 2008 -0700
msi: Don't hardcode the root drive.
---
dlls/msi/tests/format.c | 46 ++++++++++++++++++++++++++++++---------------- 1 files changed, 30 insertions(+), 16 deletions(-)
diff --git a/dlls/msi/tests/format.c b/dlls/msi/tests/format.c index aec347d..f4c1670 100644 --- a/dlls/msi/tests/format.c +++ b/dlls/msi/tests/format.c @@ -21,6 +21,7 @@
#include <stdio.h> #include <windows.h> +#include <shlwapi.h> #include <msi.h> #include <msiquery.h>
@@ -2176,6 +2177,7 @@ static void test_formatrecord_tables(void) CHAR buf[MAX_PATH]; CHAR curr_dir[MAX_PATH]; CHAR expected[MAX_PATH]; + CHAR root[MAX_PATH]; DWORD size; UINT r;
@@ -2304,48 +2306,57 @@ static void test_formatrecord_tables(void) r = MsiDoAction(hpkg, "CostFinalize"); ok( r == ERROR_SUCCESS, "CostFinalize failed: %d\n", r);
+ size = MAX_PATH; + MsiGetProperty( hpkg, "ROOTDRIVE", root, &size ); + + sprintf( expected, "1: %sfrontal.txt ", root); + /* frontal full file key */ size = MAX_PATH; MsiRecordSetString( hrec, 1, "[#frontal_file]" ); r = MsiFormatRecord( hpkg, hrec, buf, &size ); ok( r == ERROR_SUCCESS, "format record failed: %d\n", r); - ok( !lstrcmp( buf, "1: C:\frontal.txt " ), "Expected '1: C:\frontal.txt ', got %s\n", buf); + ok( !lstrcmp( buf, expected ), "Expected "%s", got "%s"\n", expected, buf);
/* frontal short file key */ size = MAX_PATH; MsiRecordSetString( hrec, 1, "[!frontal_file]" ); r = MsiFormatRecord( hpkg, hrec, buf, &size ); ok( r == ERROR_SUCCESS, "format record failed: %d\n", r); - ok( !lstrcmp( buf, "1: C:\frontal.txt " ), "Expected '1: C:\frontal.txt ', got %s\n", buf); + ok( !lstrcmp( buf, expected ), "Expected "%s", got "%s"\n", expected, buf); + + sprintf( expected, "1: %sI am a really long directory\temporal.txt ", root);
/* temporal full file key */ size = MAX_PATH; MsiRecordSetString( hrec, 1, "[#temporal_file]" ); r = MsiFormatRecord( hpkg, hrec, buf, &size ); ok( r == ERROR_SUCCESS, "format record failed: %d\n", r); - ok( !lstrcmp( buf, "1: C:\I am a really long directory\temporal.txt " ), - "Expected '1: C:\I am a really long directory\temporal.txt ', got %s\n", buf); + ok( !lstrcmp( buf, expected ), "Expected "%s", got "%s"\n", expected, buf);
/* temporal short file key */ size = MAX_PATH; MsiRecordSetString( hrec, 1, "[!temporal_file]" ); r = MsiFormatRecord( hpkg, hrec, buf, &size ); ok( r == ERROR_SUCCESS, "format record failed: %d\n", r); - ok( !lstrcmp( buf, "1: C:\I am a really long directory\temporal.txt " ), - "Expected '1: C:\I am a really long directory\temporal.txt ', got %s\n", buf); + ok( !lstrcmp( buf, expected ), "Expected "%s", got "%s"\n", expected, buf);
/* custom action 51, files don't exist */ r = MsiDoAction( hpkg, "MyCustom" ); ok( r == ERROR_SUCCESS, "MyCustom failed: %d\n", r);
+ sprintf( expected, "%sI am a really long directory\temporal.txt", root); + size = MAX_PATH; r = MsiGetProperty( hpkg, "prop", buf, &size ); ok( r == ERROR_SUCCESS, "get property failed: %d\n", r); - ok( !lstrcmp( buf, "C:\I am a really long directory\temporal.txt" ), - "Expected 'C:\I am a really long directory\temporal.txt', got %s\n", buf); + ok( !lstrcmp( buf, expected ), "Expected "%s", got "%s"\n", expected, buf); + + sprintf( buf, "%sI am a really long directory", root ); + CreateDirectory( buf, NULL );
- CreateDirectory( "C:\I am a really long directory", NULL ); - create_test_file( "C:\I am a really long directory\temporal.txt" ); + lstrcat( buf, "\temporal.txt" ); + create_test_file( buf );
/* custom action 51, files exist */ r = MsiDoAction( hpkg, "MyCustom" ); @@ -2356,8 +2367,7 @@ static void test_formatrecord_tables(void) ok( r == ERROR_SUCCESS, "get property failed: %d\n", r); todo_wine { - ok( !lstrcmp( buf, "C:\I am a really long directory\temporal.txt" ), - "Expected 'C:\I am a really long directory\temporal.txt', got %s\n", buf); + ok( !lstrcmp( buf, expected ), "Expected "%s", got "%s"\n", expected, buf); }
/* custom action 51, escaped text 1 */ @@ -2387,13 +2397,14 @@ static void test_formatrecord_tables(void) ok( r == ERROR_SUCCESS, "get property failed: %d\n", r); ok( !lstrcmp( buf, "" ), "Expected '', got %s\n", buf);
+ sprintf( expected, "1: %sI am a really long directory\ ", root); + /* component with INSTALLSTATE_LOCAL */ size = MAX_PATH; MsiRecordSetString( hrec, 1, "[$temporal]" ); r = MsiFormatRecord( hpkg, hrec, buf, &size ); ok( r == ERROR_SUCCESS, "format record failed: %d\n", r); - ok( !lstrcmp( buf, "1: C:\I am a really long directory\ " ), - "Expected '1: C:\I am a really long directory\ ', got %s\n", buf); + ok( !lstrcmp( buf, expected ), "Expected "%s", got "%s"\n", expected, buf);
r = MsiSetComponentState( hpkg, "temporal", INSTALLSTATE_SOURCE ); ok( r == ERROR_SUCCESS, "failed to set install state: %d\n", r); @@ -2408,8 +2419,11 @@ static void test_formatrecord_tables(void) ok( r == ERROR_SUCCESS, "format record failed: %d\n", r); ok( !lstrcmp( buf, expected ), "Expected '%s', got %s\n", expected, buf);
- DeleteFile( "C:\I am a really long directory\temporal.txt" ); - RemoveDirectory( "C:\I am a really long directory" ); + sprintf( buf, "%sI am a really long directory\temporal.txt", root ); + DeleteFile( buf ); + + sprintf( buf, "%sI am a really long directory", root ); + RemoveDirectory( buf );
MsiCloseHandle( hrec ); MsiCloseHandle( hpkg );