1/*
2  Copyright 2007, UCAR/Unidata
3  See COPYRIGHT file for copying and redistribution conditions.
4
5  This is part of netCDF.
6
7  This program runs some extra tests.
8
9  $Id: tst_misc.c,v 1.6 2010/05/05 22:15:36 dmh Exp $
10*/
11
12#include "config.h"
13#include <stdio.h>
14#include <stdlib.h>
15#include "netcdf.h"
16#include "nc_tests.h"
17#include "err_macros.h"
18#ifdef USE_PARALLEL
19#include "netcdf_par.h"
20#endif
21
22#define FILE_NAME "tst_misc.nc"
23
24int
25main(int argc, char **argv)
26{
27#ifdef TEST_PNETCDF
28   MPI_Init(&argc, &argv);
29#endif
30   printf("\n*** Testing some extra stuff.\n");
31   printf("*** Trying to open non-netCDF files of tiny length...");
32   {
33#define DATA_LEN 32
34     int ncid,openstat;
35      char dummy_data[DATA_LEN];
36      FILE *file;
37      int i;
38
39      /* Appease valgrind by initializing our data. */
40      for (i = 0; i < DATA_LENi++)
41  dummy_data[i] = i;
42
43      for (i = DATA_LENi >= 0; i--)
44      {
45  /* Create a small file which is not a netCDF file. */
46  if (!(file = fopen(FILE_NAME, "w+"))) ERR;
47  if (fwrite(dummy_data, 1, ifile) != iERR;
48  if (fclose(file)) ERR;
49
50  /* Make sure that netCDF rejects this file politely. */
51#ifdef TEST_PNETCDF
52        openstat = nc_open_par(FILE_NAMENC_PNETCDFMPI_COMM_WORLDMPI_INFO_NULL, &ncid);
53#else
54         openstat = nc_open(FILE_NAME, 0, &ncid);
55#endif
56  /* Some platforms (OSX, buddy) return stat = 2 (file not found)
57     for index i == 2.  Not sure why, but this is a work around. */
58  if(openstat != NC_ENOTNC && openstat != 2) ERR;
59
60      }
61   }
62
63   SUMMARIZE_ERR;
64#ifdef TEST_PNETCDF
65   MPI_Finalize();
66#endif
67   FINAL_RESULTS;
68}


HyperKWIC - Version 7.20DA executed at 11:37 on 27 Oct 2017 | Polyhedron Solutions - INTERNAL USE | COMMERCIAL (Any O/S) SN 4AKIed