Author: gadamopoulos
Date: Sun Jan 15 11:51:06 2017
New Revision: 73554
URL:
http://svn.reactos.org/svn/reactos?rev=73554&view=rev
Log:
[NTDLL_APITEST] -Create a copy of the test in testdata and add along three empty files:
ntdll_apitest.exe.local, shell32.dll and test.dll. Make the test start the subprocess from
testdata to avoid any kind of interference of the .local to all the other tests. The empty
dlls are needed there because there is no way to rename the files while adding them to the
cab file like we do with NAME_ON_CD and creating them at runtime is not reliable as
caching can cause random failures.
Added:
trunk/rostests/apitests/ntdll/ntdll_apitest.exe.local
trunk/rostests/apitests/ntdll/shell32.dll
trunk/rostests/apitests/ntdll/test.dll
Modified:
trunk/rostests/apitests/ntdll/CMakeLists.txt
trunk/rostests/apitests/ntdll/RtlDosApplyFileIsolationRedirection_Ustr.c
Modified: trunk/rostests/apitests/ntdll/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/ntdll/CMakeLists…
==============================================================================
--- trunk/rostests/apitests/ntdll/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/rostests/apitests/ntdll/CMakeLists.txt [iso-8859-1] Sun Jan 15 11:51:06 2017
@@ -64,3 +64,8 @@
endif()
add_rostests_file(TARGET ntdll_apitest)
+add_rostests_file(TARGET ntdll_apitest SUBDIR testdata)
+# These are empty files
+add_rostests_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/ntdll_apitest.exe.local"
SUBDIR testdata)
+add_rostests_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/shell32.dll" SUBDIR
testdata)
+add_rostests_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/test.dll" SUBDIR testdata)
Modified: trunk/rostests/apitests/ntdll/RtlDosApplyFileIsolationRedirection_Ustr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/ntdll/RtlDosAppl…
==============================================================================
--- trunk/rostests/apitests/ntdll/RtlDosApplyFileIsolationRedirection_Ustr.c [iso-8859-1]
(original)
+++ trunk/rostests/apitests/ntdll/RtlDosApplyFileIsolationRedirection_Ustr.c [iso-8859-1]
Sun Jan 15 11:51:06 2017
@@ -41,7 +41,6 @@
/* But redirecting gdiplus from a different directory doesn't work */
{__LINE__, STATUS_SXS_KEY_NOT_FOUND, L"c:\\GDIPLUS.DLL", NULL},
{__LINE__, STATUS_SXS_KEY_NOT_FOUND, L"c:\\comctl32.DLL", NULL},
-#if 0
/* Redirection based on .local */
{__LINE__, STATUS_SUCCESS, L"test", EXPECT_IN_SAME_DIR},
{__LINE__, STATUS_SUCCESS, L"test.dll", EXPECT_IN_SAME_DIR},
@@ -50,7 +49,6 @@
{__LINE__, STATUS_SUCCESS, L"shell32", EXPECT_IN_SAME_DIR},
{__LINE__, STATUS_SUCCESS, L"shell32.dll", EXPECT_IN_SAME_DIR},
{__LINE__, STATUS_SUCCESS, L"c:\\shell32.dll", EXPECT_IN_SAME_DIR}
-#endif
};
void TestRedirection(void)
@@ -125,39 +123,33 @@
START_TEST(RtlDosApplyFileIsolationRedirection_Ustr)
{
-#if 0
- WCHAR TestPath[MAX_PATH];
- WCHAR* separator;
- STARTUPINFOW si = { sizeof(si) };
- PROCESS_INFORMATION pi;
- BOOL created;
- HANDLE file;
+ int argc;
+ char **test_argv;
+ argc = winetest_get_mainargs( &test_argv );
+ if (argc >= 3)
+ {
+ TestRedirection();
+ }
+ else
+ {
+ WCHAR TestPath[MAX_PATH];
+ WCHAR* separator;
+ STARTUPINFOW si = { sizeof(si) };
+ PROCESS_INFORMATION pi;
+ BOOL created;
- /* Create .local files */
- GetModuleFileNameW(NULL, TestPath, MAX_PATH);
-
- wcscat(TestPath, L".local");
- file = CreateFileW(TestPath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
FILE_FLAG_NO_BUFFERING , NULL);
- CloseHandle(file);
- separator = wcsrchr(TestPath, L'\\');
- separator++;
- wcscpy(separator, L"test.dll");
- file = CreateFileW(TestPath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
FILE_FLAG_NO_BUFFERING , NULL);
- CloseHandle(file);
- wcscpy(separator, L"shell32.dll");
- file = CreateFileW(TestPath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
FILE_FLAG_NO_BUFFERING , NULL);
- CloseHandle(file);
- *separator = 0;
-#endif
- TestRedirection();
-#if 0
- /*Cleanup*/
- wcscpy(separator, L"test.dll");
- DeleteFileW(TestPath);
- wcscpy(separator, L"shell32.dll");
- DeleteFileW(TestPath);
- GetModuleFileNameW(NULL, TestPath, MAX_PATH);
- wcscat(TestPath, L".local");
- DeleteFileW(TestPath);
-#endif
+ GetModuleFileNameW(NULL, TestPath, MAX_PATH);
+ separator = wcsrchr(TestPath, L'\\');
+ separator++;
+ wcscpy(separator, L"testdata\\ntdll_apitest.exe
RtlDosApplyFileIsolationRedirection_Ustr DoTest");
+
+ created = CreateProcessW(NULL, TestPath, NULL, NULL, FALSE, 0, NULL, NULL,
&si, &pi);
+ ok(created, "Expected CreateProcess to succeed\n");
+ if (created)
+ {
+ winetest_wait_child_process(pi.hProcess);
+ CloseHandle(pi.hThread);
+ CloseHandle(pi.hProcess);
+ }
+ }
}
Added: trunk/rostests/apitests/ntdll/ntdll_apitest.exe.local
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/ntdll/ntdll_apit…
==============================================================================
(empty)
Added: trunk/rostests/apitests/ntdll/shell32.dll
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/ntdll/shell32.dl…
==============================================================================
(empty)
Added: trunk/rostests/apitests/ntdll/test.dll
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/ntdll/test.dll?r…
==============================================================================
(empty)