LCOV - code coverage report
Current view: directory - src/trusted/service_runtime - nacl_resource_test.c (source / functions) Found Hit Coverage
Test: coverage.lcov Lines: 25 13 52.0 %
Date: 2014-06-18 Functions: 0 0 -

       1                 : /*
       2                 :  * Copyright (c) 2012 The Native Client Authors. All rights reserved.
       3                 :  * Use of this source code is governed by a BSD-style license that can be
       4                 :  * found in the LICENSE file.
       5                 :  */
       6                 : 
       7                 : #include <stdio.h>
       8                 : 
       9                 : #include "native_client/src/include/nacl_base.h"
      10                 : #include "native_client/src/include/nacl_macros.h"
      11                 : #include "native_client/src/shared/platform/nacl_check.h"
      12                 : #include "native_client/src/shared/platform/nacl_log.h"
      13                 : #include "native_client/src/trusted/desc/nacl_desc_base.h"
      14                 : #include "native_client/src/trusted/service_runtime/include/sys/fcntl.h"
      15                 : #include "native_client/src/trusted/service_runtime/sel_ldr.h"
      16                 : #include "native_client/src/trusted/service_runtime/nacl_all_modules.h"
      17                 : #include "native_client/src/trusted/service_runtime/nacl_resource.h"
      18                 : 
      19                 : #define MEGABYTE (1000000)
      20                 : 
      21                 : int main(void) {
      22               1 :   struct NaClApp ap;
      23               1 :   struct NaClApp *nap = &ap;
      24               1 :   struct NaClDesc *d_null;
      25                 : 
      26               1 :   NaClAllModulesInit();
      27                 : 
      28               1 :   if (!NaClAppCtor(nap)) {
      29               0 :     NaClLog(LOG_FATAL, "NaClAppCtor failed\n");
      30               0 :   }
      31               1 :   if (!NaClResourceNaClAppInit(&nap->resources, nap)) {
      32               0 :     NaClLog(LOG_FATAL, "NaClResourceNaClAppInit failed\n");
      33               0 :   }
      34               1 :   d_null = NaClResourceOpen((struct NaClResource *) &nap->resources,
      35                 :                             "/dev/null",
      36                 :                             NACL_ABI_O_RDWR,
      37                 :                             0777);
      38               1 :   if (NULL == d_null) {
      39               0 :     NaClLog(LOG_FATAL, "NaClResourceOpen failed\n");
      40               0 :   }
      41                 : 
      42               1 :   if (NACL_VTBL(NaClDesc, d_null)->typeTag != NACL_DESC_NULL) {
      43               0 :     NaClLog(LOG_FATAL, "NaClResourceOpen did not return a null descriptor\n");
      44               0 :   }
      45               1 :   if ((*NACL_VTBL(NaClDesc, d_null)->Write)(d_null, NULL, MEGABYTE)
      46                 :       != MEGABYTE) {
      47               0 :     NaClLog(LOG_FATAL, "Write failed\n");
      48               0 :   }
      49               1 :   if ((*NACL_VTBL(NaClDesc, d_null)->Read)(d_null, NULL, MEGABYTE)
      50                 :       != 0) {
      51               0 :     NaClLog(LOG_FATAL, "Read failed\n");
      52               0 :   }
      53                 : 
      54               1 :   printf("Passed.\n");
      55               1 :   return 0;
      56                 : }

Generated by: LCOV version 1.7