Exemple #1
0
/* Test case 1 - file creation & definition. 
 */
static int test1(struct testinfo *ip, struct dimdef *dims, int ndims)
{
  int varid;
  int stat;
  int i;

  /* Test case #1 - file creation 
   */
  ip->name = micreate_tempfile();
  if (ip->name == NULL) {
    FUNC_ERROR("micreate_tempfile\n");
  }

  ip->fd = micreate(ip->name, NC_CLOBBER);
  if (ip->fd < 0) {
    FUNC_ERROR("micreate");
  }

  /* Have to use ncdimdef() here since there is no MINC equivalent.  Sigh. 
   */
  for (i = 0; i < ndims; i++) {

    /* Define the dimension 
     */
    ip->dim[i] = ncdimdef(ip->fd, dims[i].name, dims[i].length);
    if (ip->dim[i] < 0) {
      FUNC_ERROR("ncdimdef");
    }

    /* Create the dimension variable.
     */
    varid = micreate_std_variable(ip->fd, dims[i].name, NC_DOUBLE, 0, 
				  &ip->dim[i]);
    if (varid < 0) {
      FUNC_ERROR("micreate_std_variable");
    }
    stat = miattputdbl(ip->fd, varid, MIstep, 0.8);
    if (stat < 0) {
      FUNC_ERROR("miattputdbl");
    }
    stat = miattputdbl(ip->fd, varid, MIstart, 22.0);
    if (stat < 0) {
      FUNC_ERROR("miattputdbl");
    }
  }

  /* Create the image-max variable.
   */
  ip->maxid = micreate_std_variable(ip->fd, MIimagemax, NC_FLOAT, 0, NULL);
  if (ip->maxid < 0) {
    FUNC_ERROR("micreate_std_variable");
  }

  /* Create the image-min variable.
   */
  ip->minid = micreate_std_variable(ip->fd, MIimagemin, NC_FLOAT, 0, NULL);
  if (ip->minid < 0) {
    FUNC_ERROR("micreate_std_variable");
  }

  ip->imgid = micreate_std_variable(ip->fd, MIimage, NC_INT, ndims, ip->dim);
  if (ip->imgid < 0) {
    FUNC_ERROR("micreate_std_variable");
  }
  
  ip->test_group = ncvardef(ip->fd,(char*)"test",NC_INT,0,0);/* micreate_group_variable(ip->fd,(char*)"test");*/
  if(ip->test_group<0)
  {
    FUNC_ERROR("micreate_group_variable");
  }
  
  ip->large_attribute=calloc(ip->attribute_size,sizeof(char));
  memset(ip->large_attribute,'X',ip->attribute_size-1);
  
  ip->test_attribute = ncattput(ip->fd, ip->test_group, "test", NC_CHAR, ip->attribute_size, ip->large_attribute);
  
  return (0);
}
Exemple #2
0
/* Test case 1 - file creation & definition.
 */
int
test1(struct testinfo *ip, struct dimdef *dims, int ndims)
{
    int fd2;
    int varid;
    int stat;
    int i;

    /* Test case #1 - file creation
     */
    ip->name = micreate_tempfile();
    if (ip->name == NULL) {
        FUNC_ERROR("micreate_tempfile\n");
    }

    ip->fd = micreate(ip->name, NC_CLOBBER);
    if (ip->fd < 0) {
        FUNC_ERROR("micreate");
    }

    /* Try to create another file of the same name - should fail.
     */
    fd2 = micreate(ip->name, NC_NOCLOBBER);
    if (fd2 >= 0) {
        FUNC_ERROR("micreate");
    }

    /* Try to open the file for write - should fail.
     */
    /* VF: it doesn't fail!
    fd2 = miopen(ip->name, NC_WRITE);
    if (fd2 >= 0) {
      FUNC_ERROR("miopen");
    } */

    /* Have to use ncdimdef() here since there is no MINC equivalent.  Sigh.
     */
    for (i = 0; i < ndims; i++) {

        /* Define the dimension
         */
        ip->dim[i] = ncdimdef(ip->fd, dims[i].name, dims[i].length);
        if (ip->dim[i] < 0) {
            FUNC_ERROR("ncdimdef");
        }

        /* Create the dimension variable.
         */
        varid = micreate_std_variable(ip->fd, dims[i].name, NC_DOUBLE, 0,
                                      &ip->dim[i]);
        if (varid < 0) {
            FUNC_ERROR("micreate_std_variable");
        }
        stat = miattputdbl(ip->fd, varid, MIstep, 0.8);
        if (stat < 0) {
            FUNC_ERROR("miattputdbl");
        }
        stat = miattputdbl(ip->fd, varid, MIstart, 22.0);
        if (stat < 0) {
            FUNC_ERROR("miattputdbl");
        }
    }

    /* Try to create a bogus variable.  This should trigger an error.
     */
    varid = micreate_std_variable(ip->fd, "xyzzy", NC_DOUBLE, 0, NULL);
    if (varid >= 0) {
        FUNC_ERROR("micreate_std_variable");
    }

    /* Create the image-max variable.
     */
    ip->maxid = micreate_std_variable(ip->fd, MIimagemax, NC_FLOAT, 0, NULL);
    if (ip->maxid < 0) {
        FUNC_ERROR("micreate_std_variable");
    }

    /* Create the image-min variable.
     */
    ip->minid = micreate_std_variable(ip->fd, MIimagemin, NC_FLOAT, 0, NULL);
    if (ip->minid < 0) {
        FUNC_ERROR("micreate_std_variable");
    }

    ip->imgid = micreate_std_variable(ip->fd, MIimage, NC_INT, ndims, ip->dim);
    if (ip->imgid < 0) {
        FUNC_ERROR("micreate_std_variable");
    }
    return (0);
}