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: PetscFunctionBegin;
12: PetscCall(PetscStrlen(filein, &n));
13: for (i = 0; i < n; i++) {
14: if (filein[i] == '\\') filein[i] = '/';
15: }
16: PetscFunctionReturn(PETSC_SUCCESS);
17: }
19: int main(int argc, char **argv)
20: {
21: char fpath[PETSC_MAX_PATH_LEN];
23: PetscFunctionBeginUser;
24: PetscCall(PetscInitialize(&argc, &argv, (char *)0, help));
25: PetscCall(PetscGetFullPath("~/somefile", fpath, sizeof(fpath)));
26: PetscCall(path_to_unix(fpath));
27: PetscCall(PetscPrintf(PETSC_COMM_WORLD, "%s\n", fpath));
28: PetscCall(PetscGetFullPath("someotherfile", fpath, sizeof(fpath)));
29: PetscCall(path_to_unix(fpath));
30: PetscCall(PetscPrintf(PETSC_COMM_WORLD, "%s\n", fpath));
31: PetscCall(PetscFinalize());
32: return 0;
33: }
35: /*TEST
37: test:
38: requires: !windows_compilers
39: filter: sed "s?$(pwd -P)??g" | sed "s?${HOME}??g"
41: test:
42: suffix: 2
43: requires: windows_compilers
44: output_file: output/ex31_1.out
45: filter: sed "s?`cygpath -m ${PWD}`??g" | sed "s?`cygpath -m ${HOME}`??g"
47: TEST*/