summaryrefslogtreecommitdiff
path: root/src/pal/tests/palsuite/file_io/SetCurrentDirectoryW/test1/SetCurrentDirectoryW.c
diff options
context:
space:
mode:
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.c178
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;
-}
-
-