netcdf-c/ncdap_test/t_misc.c
Dennis Heimbigner 9380790ea8 Support MSYS2/Mingw platform
re:

The current netcdf-c release has some problems with the mingw platform
on windows. Mostly they are path issues.

Changes to support mingw+msys2:
-------------------------------
* Enable option of looking into the windows registry to find
  the mingw root path. In aid of proper path handling.
* Add mingw+msys as a specific platform in configure.ac and move testing
  of the platform to the front so it is available early.
* Handle mingw X libncpoco (dynamic loader) properly even though
  mingw does not yet support it.
* Handle mingw X plugins properly even though mingw does not yet support it.
* Alias pwd='pwd -W' to better handle paths in shell scripts.
* Plus a number of other minor compile irritations.
* Disallow the use of multiple nc_open's on the same file for windows
  (and mingw) because windows does not seem to handle these properly.
  Not sure why we did not catch this earlier.
* Add mountpoint info to dpathmgr.c to help support mingw.
* Cleanup dpathmgr conversions.

Known problems:
---------------
* I have not been able to get shared libraries to work, so
  plugins/filters must be disabled.
* There is some kind of problem with libcurl that I have not solved,
  so all uses of libcurl (currently DAP+Byterange) must be disabled.

Misc. other fixes:
------------------
* Cleanup the relationship between ENABLE_PLUGINS and various other flags
  in CMakeLists.txt and configure.ac.
* Re-arrange the TESTDIRS order in Makefile.am.
* Add pseudo-breakpoint to nclog.[ch] for debugging.
* Improve the documentation of the path manager code in ncpathmgr.h
* Add better support for relative paths in dpathmgr.c
* Default the mode args to NCfopen to include "b" (binary) for windows.
* Add optional debugging output in various places.
* Make sure that everything builds with plugins disabled.
* Fix numerous (s)printf inconsistencies betweenb the format spec
  and the arguments.
2021-12-23 22:18:56 -07:00

73 lines
1.5 KiB
C

/*! \file
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
2015, 2016, 2017, 2018
University Corporation for Atmospheric Research/Unidata.
See \ref copyright file for more info.
*/
#include "config.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "netcdf.h"
#include "nctestserver.h"
#define FURL "%s"
static char url[4096];
#ifdef DEBUG
static void
CHECK(int e, const char* msg)
{
if(e == NC_NOERR) return;
if(msg == NULL) msg = "Error";
printf("%s: %s\n", msg, nc_strerror(e));
exit(1);
}
#endif
static void
XFAIL(int e, const char* msg)
{
if(e == NC_NOERR) return;
if(msg == NULL) msg = "XFAIL";
printf("%s: %s\n", msg, nc_strerror(e));
}
int
main()
{
int ncid,retval;
char* serverlist = NULL;
char* svcurl = NULL;
const char* servlet = "dts";
#ifdef REMOTETESTSERVERS
serverlist = strdup(REMOTETESTSERVERS);
#endif
if(serverlist == NULL || strlen(serverlist) == 0) {
fprintf(stderr,"WARNING: Cannot determine a server list");
exit(0);
}
svcurl = nc_findtestserver(servlet,serverlist);
if(svcurl == NULL) {
fprintf(stderr,"WARNING: Server not found: %s\n",servlet);
exit(0);
}
snprintf(url,sizeof(url),FURL,svcurl);
printf("Testing: Misc. Tests url=|%s|\n",url);
retval = nc_open(url, 0, &ncid);
XFAIL(retval,"*** XFail : No trailing slash in url");
retval = nc_close(ncid);
/* cleanup */
free(serverlist);
free(svcurl);
return 0;
}