Whamcloud - gitweb
new upstream libsysio snapshot (20041101)
[fs/lustre-release.git] / libsysio / tests / startup.c
1 #include <stdlib.h>
2 #include <string.h>
3 #include <errno.h>
4 #include <sys/types.h>
5 #include <sys/queue.h>
6
7 #include "xtio.h"
8 #include "test.h"
9
10 #include "sysio.h"
11
12 int
13 _test_sysio_startup()
14 {
15         int     err;
16         const char *cwd;
17         const char *s;
18
19         err = _sysio_init();
20         if (err)
21                 return err;
22         err = drv_init_all();
23         if (err)
24                 return err;
25         s = getenv("SYSIO_NAMESPACE");
26         if (!(s || (s = getenv("SYSIO_MANUAL")))) {
27                 /*
28                  * Assume a native mount at root.
29                  */
30                 s = "{mnt,dev=\"native:/\",dir=/,fl=0}";
31         }
32         cwd = getenv("SYSIO_CWD");
33 #if DEFER_INIT_CWD
34         err = _sysio_boot(s, cwd ? cwd : "/");
35 #else
36         err = _sysio_boot(s);
37 #endif
38         if (err)
39                 return err;
40
41 #if !DEFER_INIT_CWD
42         if (!cwd)
43                 s = "/";
44         err = chdir(s);
45         if (err)
46                 return err;
47 #endif
48
49         return 0;
50 }
51
52 void
53 _test_sysio_shutdown()
54 {
55
56         _sysio_shutdown();
57 }