int main(int argc, char** argv) { char* url = NULL; const char* servlet = NULL; const char* proto = NULL; char* serverlist = NULL; int isdap4 = 0; /* 1 => dap4 */ argc--; argv++; if(argc < 2) usage(); proto = strdup(argv[0]); servlet = strdup(argv[1]); if(argc >= 3) serverlist = strdup(argv[2]); #ifdef ENABLE_DAP if(strcasecmp(proto,"dap2")==0) isdap4 = 0; else #endif #ifdef ENABLE_DAP4 if(strcasecmp(proto,"dap4")==0) isdap4 = 1; else #endif usage(); if(serverlist == NULL) { #ifdef REMOTETESTSERVERS serverlist = strdup(REMOTETESTSERVERS); #endif } if(serverlist == NULL || strlen(serverlist) == 0) fprintf(stderr,"Cannot determine a server list"); url = nc_findtestserver(servlet,isdap4,serverlist); if(url == NULL) { url = ""; fprintf(stderr,"not found: %s\n",servlet); } printf("%s",url); fflush(stdout); /* clean up */ free(serverlist); free(url); exit(0); }
int main() { int ncid, varid; int retval,i; size_t start[RANK]; size_t count[RANK]; char URL[4096]; const char* svc = NULL; /* Find Test Server */ svc = nc_findtestserver("dts",0); if(svc == NULL) { fprintf(stderr,"Cannot locate test server\n"); exit(1); } printf("Using test server: %s\n",svc); strncpy(URL,svc,sizeof(URL)); strlcat(URL,DTSTEST,sizeof(URL)); memset((void*)target,0,sizeof(target)); if((retval = nc_open(URL, NC_NOWRITE, &ncid))) ERR(retval); if((retval = nc_inq_varid(ncid, NCVAR, &varid))) ERR(retval); printf("test 1: Read the whole variable\n"); memcpy(start,start0,sizeof(start0)); memcpy(count,count0,sizeof(count0)); if((retval = nc_get_vara_float(ncid,varid,start,count,(float*)target))) ERR(retval); if(!check(start,count)) goto fail; printf("test 2: Read the top half\n"); memcpy(start,start0,sizeof(start0)); memcpy(count,count0,sizeof(count0)); start[0] += count0[0]/2; count[0] = count0[0] - start[0]; if((retval = nc_get_vara_float(ncid,varid,start,count,(float*)target))) ERR(retval); if(!check(start,count)) goto fail; printf("test 3: Read the slice with X=1\n"); memcpy(start,start0,sizeof(start0)); memcpy(count,count0,sizeof(count0)); start[0] = 1; count[0] = 1; if((retval = nc_get_vara_float(ncid,varid,start,count,(float*)target))) ERR(retval); if(!check(start,count)) goto fail; if((retval = nc_close(ncid))) ERR(retval); printf("*** PASS\n"); return 0; fail: printf("*** FAIL\n"); return 1; }