diff options
Diffstat (limited to 'src/pal/tests/palsuite/file_io/SetCurrentDirectoryW/test1/SetCurrentDirectoryW.c')
-rw-r--r-- | src/pal/tests/palsuite/file_io/SetCurrentDirectoryW/test1/SetCurrentDirectoryW.c | 178 |
1 files changed, 0 insertions, 178 deletions
diff --git a/src/pal/tests/palsuite/file_io/SetCurrentDirectoryW/test1/SetCurrentDirectoryW.c b/src/pal/tests/palsuite/file_io/SetCurrentDirectoryW/test1/SetCurrentDirectoryW.c deleted file mode 100644 index 257d016ffb..0000000000 --- a/src/pal/tests/palsuite/file_io/SetCurrentDirectoryW/test1/SetCurrentDirectoryW.c +++ /dev/null @@ -1,178 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -/*===================================================================== -** -** Source: SetCurrentDirectoryW.c (test 1) -** -** Purpose: Tests the PAL implementation of the SetCurrentDirectoryW function. -** -** -**===================================================================*/ - -#include <palsuite.h> - -const char* szFileName = "blah"; -const char* szDirName = "testing"; - - -// In order to avoid the "chicken and egg" scenario, this is another -// method of getting the current directory. GetFullPathNameW is called with -// a dummy file name and then the file name is stripped off leaving the -// current working directory -BOOL GetCurrentDir(WCHAR* szwCurrentDir) -{ - DWORD dwRc = 0; - WCHAR szwReturnedPath[_MAX_DIR+1]; - LPWSTR pPathPtr; - WCHAR* szwFileName = NULL; - WCHAR* szwDirName = NULL; - int nCount = 0; - - // use GetFullPathName to to get the current path by stripping - // the file name off the end - memset(szwReturnedPath, 0, sizeof(WCHAR)*(_MAX_DIR+1)); - szwFileName = convert((char*)szFileName); - dwRc = GetFullPathNameW(szwFileName, - _MAX_DIR, - szwReturnedPath, - &pPathPtr); - - if (dwRc == 0) - { - // GetFullPathName failed - Trace("SetCurrentDirectoryW: ERROR -> GetFullPathNameW failed " - "with error code: %ld.\n", GetLastError()); - RemoveDirectoryW(szwDirName); - free(szwFileName); - return(FALSE); - } - - // now strip the file name from the full path to get the current path - nCount = lstrlenW(szwReturnedPath) - lstrlenW(szwFileName); - memset(szwCurrentDir, 0, sizeof(WCHAR)*(_MAX_DIR+1)); - lstrcpynW(szwCurrentDir, szwReturnedPath, nCount); - - free(szwFileName); - return(TRUE); -} - -int __cdecl main(int argc, char *argv[]) -{ - WCHAR* szwDirName = NULL; - WCHAR szwNewDir[_MAX_DIR+1]; - WCHAR szwBuiltDir[_MAX_DIR+1]; - WCHAR szwHomeDir[_MAX_DIR+1]; -#if WIN32 - WCHAR szwSlash[] = {'\\','\0'}; -#else - WCHAR szwSlash[] = {'/','\0'}; -#endif - - if (0 != PAL_Initialize(argc,argv)) - { - return FAIL; - } - - // remove the directory just in case a previous run of the test didn't - szwDirName = convert((char*)szDirName); - RemoveDirectoryW(szwDirName); - - // create a temp directory off the current directory - if (CreateDirectoryW(szwDirName, NULL) != TRUE) - { - Trace("SetCurrentDirectoryW: ERROR -> CreateDirectoryW failed " - "with error code: %ld.\n", GetLastError()); - RemoveDirectoryW(szwDirName); - free(szwDirName); - Fail(""); - } - - // find out what the current "home" directory is - memset(szwHomeDir, 0, sizeof(WCHAR)*(_MAX_DIR+1)); - if(GetCurrentDir(szwHomeDir) != TRUE) - { - RemoveDirectoryW(szwDirName); - free(szwDirName); - PAL_TerminateEx(FAIL); - return FAIL; - } - - // set the current directory to the temp directory - if (SetCurrentDirectoryW(szwDirName) != TRUE) - { - Trace("SetCurrentDirectoryW: ERROR -> Unable to set current " - "directory. Failed with error code: %ld.\n", GetLastError()); - RemoveDirectoryW(szwDirName); - free(szwDirName); - Fail(""); - } - - // append the temp name to the "home" directory - memset(szwBuiltDir, 0, sizeof(WCHAR)*(_MAX_DIR+1)); - wcscpy(szwBuiltDir, szwHomeDir); - wcscat(szwBuiltDir, szwSlash); - wcscat(szwBuiltDir, szwDirName); - - // get the new current directory - memset(szwNewDir, 0, sizeof(WCHAR)*(_MAX_DIR+1)); - if(GetCurrentDir(szwNewDir) != TRUE) - { - RemoveDirectoryW(szwDirName); - free(szwDirName); - PAL_TerminateEx(FAIL); - return FAIL; - } - - // compare the new current dir to the compiled current dir - if (wcsncmp(szwNewDir, szwBuiltDir, wcslen(szwNewDir)) != 0) - { - RemoveDirectoryW(szwDirName); - free(szwDirName); - Fail("SetCurrentDirectoryW: ERROR -> The set directory does not " - "compare to the built directory.\n"); - } - - - - // set the current dir back to the original - if (SetCurrentDirectoryW(szwHomeDir) != TRUE) - { - Trace("SetCurrentDirectoryW: ERROR -> Unable to set current " - "directory. Failed with error code: %ld.\n", GetLastError()); - RemoveDirectoryW(szwDirName); - free(szwDirName); - Fail(""); - } - - - // get the new current directory - memset(szwNewDir, 0, sizeof(WCHAR)*(_MAX_DIR+1)); - if(GetCurrentDir(szwNewDir) != TRUE) - { - RemoveDirectoryW(szwDirName); - free(szwDirName); - PAL_TerminateEx(FAIL); - return FAIL; - } - - // ensure it compares to the "home" directory which is where - // we should be now - if (wcsncmp(szwNewDir, szwHomeDir, wcslen(szwNewDir)) != 0) - { - RemoveDirectoryW(szwDirName); - free(szwDirName); - Fail("SetCurrentDirectoryW: ERROR -> The set directory does not " - "compare to the built directory.\n"); - } - - - RemoveDirectoryW(szwDirName); - free(szwDirName); - PAL_Terminate(); - - return PASS; -} - - |