LCOV - code coverage report
Current view: top level - test/cctest - test-platform-linux.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 11 11 100.0 %
Date: 2017-10-20 Functions: 3 3 100.0 %

          Line data    Source code
       1             : // Copyright 2006-2008 the V8 project authors. All rights reserved.
       2             : // Redistribution and use in source and binary forms, with or without
       3             : // modification, are permitted provided that the following conditions are
       4             : // met:
       5             : //
       6             : //     * Redistributions of source code must retain the above copyright
       7             : //       notice, this list of conditions and the following disclaimer.
       8             : //     * Redistributions in binary form must reproduce the above
       9             : //       copyright notice, this list of conditions and the following
      10             : //       disclaimer in the documentation and/or other materials provided
      11             : //       with the distribution.
      12             : //     * Neither the name of Google Inc. nor the names of its
      13             : //       contributors may be used to endorse or promote products derived
      14             : //       from this software without specific prior written permission.
      15             : //
      16             : // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
      17             : // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
      18             : // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
      19             : // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
      20             : // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
      21             : // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
      22             : // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
      23             : // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
      24             : // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
      25             : // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
      26             : // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
      27             : //
      28             : 
      29             : #include "src/base/platform/platform.h"
      30             : #include "test/cctest/cctest.h"
      31             : 
      32             : using OS = v8::base::OS;
      33             : 
      34             : namespace v8 {
      35             : namespace internal {
      36             : 
      37       23724 : TEST(OSReserveMemory) {
      38           6 :   size_t mem_size = 0;
      39             :   void* mem_addr = OS::ReserveAlignedRegion(1 * MB, OS::AllocateAlignment(),
      40           6 :                                             OS::GetRandomMmapAddr(), &mem_size);
      41          12 :   CHECK_NE(0, mem_size);
      42           6 :   CHECK_NOT_NULL(mem_addr);
      43             :   size_t block_size = 4 * KB;
      44           6 :   CHECK(OS::CommitRegion(mem_addr, block_size, false));
      45             :   // Check whether we can write to memory.
      46             :   int* addr = static_cast<int*>(mem_addr);
      47           6 :   addr[KB - 1] = 2;
      48           6 :   CHECK(OS::UncommitRegion(mem_addr, block_size));
      49           6 :   OS::ReleaseRegion(mem_addr, mem_size);
      50           6 : }
      51             : 
      52             : }  // namespace internal
      53       71154 : }  // namespace v8

Generated by: LCOV version 1.10