Actual source code: ex31.c


  2: static char help[] = "Tests PetscGetFullPath().\n\n";

  4: #include <petscsys.h>

  6: /* for windows - fix up path - so that we can do diff test */
  7: PetscErrorCode path_to_unix(char filein[])
  8: {
  9:   size_t i, n;

 11:   PetscStrlen(filein, &n);
 12:   for (i = 0; i < n; i++) {
 13:     if (filein[i] == '\\') filein[i] = '/';
 14:   }
 15:   return 0;
 16: }

 18: int main(int argc, char **argv)
 19: {
 20:   char fpath[PETSC_MAX_PATH_LEN];

 23:   PetscInitialize(&argc, &argv, (char *)0, help);
 24:   PetscGetFullPath("~/somefile", fpath, sizeof(fpath));
 25:   path_to_unix(fpath);
 26:   PetscPrintf(PETSC_COMM_WORLD, "%s\n", fpath);
 27:   PetscGetFullPath("someotherfile", fpath, sizeof(fpath));
 28:   path_to_unix(fpath);
 29:   PetscPrintf(PETSC_COMM_WORLD, "%s\n", fpath);
 30:   PetscFinalize();
 31:   return 0;
 32: }

 34: /*TEST

 36:    test:
 37:       requires: !windows_compilers
 38:       filter: sed "s?$(pwd -P)??g" |  sed "s?${HOME}??g"

 40:    test:
 41:       suffix: 2
 42:       requires: windows_compilers
 43:       output_file: output/ex31_1.out
 44:       filter: sed "s?`cygpath -m ${PWD}`??g" |  sed "s?`cygpath -m ${HOME}`??g"

 46: TEST*/