summaryrefslogtreecommitdiff
path: root/src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test5/mapviewoffile.cpp
diff options
context:
space:
mode:
authorJiyoung Yun <jy910.yun@samsung.com>2016-12-27 16:46:08 +0900
committerJiyoung Yun <jy910.yun@samsung.com>2016-12-27 16:46:08 +0900
commitdb20f3f1bb8595633a7e16c8900fd401a453a6b5 (patch)
treee5435159cd1bf0519276363a6fe1663d1721bed3 /src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test5/mapviewoffile.cpp
parent4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (diff)
downloadcoreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.tar.gz
coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.tar.bz2
coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.zip
Imported Upstream version 1.0.0.9127upstream/1.0.0.9127
Diffstat (limited to 'src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test5/mapviewoffile.cpp')
-rw-r--r--src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test5/mapviewoffile.cpp131
1 files changed, 131 insertions, 0 deletions
diff --git a/src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test5/mapviewoffile.cpp b/src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test5/mapviewoffile.cpp
new file mode 100644
index 0000000000..219b3fa12a
--- /dev/null
+++ b/src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test5/mapviewoffile.cpp
@@ -0,0 +1,131 @@
+// 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: MapViewOfFile.c
+**
+** Purpose: Negative test the MapViewOfFile API.
+** Passing invalid values for the hFileMappingObject.
+**
+** Depends: CreatePipe,
+** CreateFile,
+** CreateFileMapping,
+** CloseHandle.
+**
+
+**
+**============================================================*/
+#include <palsuite.h>
+
+int __cdecl main(int argc, char *argv[])
+{
+
+ const int MAPPINGSIZE = 2048;
+ HANDLE hFileMapping;
+ LPVOID lpMapViewAddress;
+ HANDLE hReadPipe = NULL;
+ HANDLE hWritePipe = NULL;
+ BOOL bRetVal;
+
+ SECURITY_ATTRIBUTES lpPipeAttributes;
+
+ /* Initialize the PAL environment.
+ */
+ if(0 != PAL_Initialize(argc, argv))
+ {
+ return FAIL;
+ }
+
+
+ /* Attempt to create a MapViewOfFile with a NULL handle.
+ */
+ hFileMapping = NULL;
+
+ lpMapViewAddress = MapViewOfFile(
+ hFileMapping,
+ FILE_MAP_WRITE, /* access code */
+ 0, /* high order offset */
+ 0, /* low order offset */
+ MAPPINGSIZE); /* number of bytes for map */
+
+ if((NULL != lpMapViewAddress) &&
+ (GetLastError() != ERROR_INVALID_HANDLE))
+ {
+ Trace("ERROR:%u: Able to create a MapViewOfFile with "
+ "hFileMapping=0x%lx.\n",
+ GetLastError());
+ UnmapViewOfFile(lpMapViewAddress);
+ Fail("");
+ }
+
+ /* Attempt to create a MapViewOfFile with an invalid handle.
+ */
+ hFileMapping = INVALID_HANDLE_VALUE;
+
+ lpMapViewAddress = MapViewOfFile(
+ hFileMapping,
+ FILE_MAP_WRITE, /* access code */
+ 0, /* high order offset */
+ 0, /* low order offset */
+ MAPPINGSIZE); /* number of bytes for map */
+
+ if((NULL != lpMapViewAddress) &&
+ (GetLastError() != ERROR_INVALID_HANDLE))
+ {
+ Trace("ERROR:%u: Able to create a MapViewOfFile with "
+ "hFileMapping=0x%lx.\n",
+ GetLastError());
+ UnmapViewOfFile(lpMapViewAddress);
+ Fail("");
+ }
+
+ /* Setup SECURITY_ATTRIBUTES structure for CreatePipe.
+ */
+ lpPipeAttributes.nLength = sizeof(lpPipeAttributes);
+ lpPipeAttributes.lpSecurityDescriptor = NULL;
+ lpPipeAttributes.bInheritHandle = TRUE;
+
+ /* Create a Pipe.
+ */
+ bRetVal = CreatePipe(&hReadPipe, /* read handle*/
+ &hWritePipe, /* write handle */
+ &lpPipeAttributes,/* security attributes*/
+ 0); /* pipe size*/
+ if (bRetVal == FALSE)
+ {
+ Fail("ERROR: %ld :Unable to create pipe\n",
+ GetLastError());
+ }
+
+ /* Attempt creating a MapViewOfFile with a Pipe Handle.
+ */
+ lpMapViewAddress = MapViewOfFile(
+ hReadPipe,
+ FILE_MAP_WRITE, /* access code */
+ 0, /* high order offset */
+ 0, /* low order offset */
+ MAPPINGSIZE); /* number of bytes for map */
+
+ if((NULL != lpMapViewAddress) &&
+ (GetLastError() != ERROR_INVALID_HANDLE))
+ {
+ Trace("ERROR:%u: Able to create a MapViewOfFile with "
+ "hFileMapping=0x%lx.\n",
+ GetLastError());
+ CloseHandle(hReadPipe);
+ CloseHandle(hWritePipe);
+ UnmapViewOfFile(lpMapViewAddress);
+ Fail("");
+ }
+
+ /* Clean-up and Terminate the PAL.
+ */
+ CloseHandle(hReadPipe);
+ CloseHandle(hWritePipe);
+ PAL_Terminate();
+ return PASS;
+}
+
+