Whamcloud - gitweb
new upstream libsysio snapshot (20041101)
[fs/lustre-release.git] / libsysio / tests / startup.c
index 54c56d1..fcb54d4 100644 (file)
@@ -1,16 +1,19 @@
 #include <stdlib.h>
+#include <string.h>
 #include <errno.h>
 #include <sys/types.h>
 #include <sys/queue.h>
 
-#include "sysio.h"
-
+#include "xtio.h"
 #include "test.h"
 
+#include "sysio.h"
+
 int
 _test_sysio_startup()
 {
        int     err;
+       const char *cwd;
        const char *s;
 
        err = _sysio_init();
@@ -20,8 +23,35 @@ _test_sysio_startup()
        if (err)
                return err;
        s = getenv("SYSIO_NAMESPACE");
-       err = s ? _sysio_boot(s) : -ENOTTY;
+       if (!(s || (s = getenv("SYSIO_MANUAL")))) {
+               /*
+                * Assume a native mount at root.
+                */
+               s = "{mnt,dev=\"native:/\",dir=/,fl=0}";
+       }
+       cwd = getenv("SYSIO_CWD");
+#if DEFER_INIT_CWD
+       err = _sysio_boot(s, cwd ? cwd : "/");
+#else
+       err = _sysio_boot(s);
+#endif
+       if (err)
+               return err;
+
+#if !DEFER_INIT_CWD
+       if (!cwd)
+               s = "/";
+       err = chdir(s);
        if (err)
                return err;
+#endif
+
        return 0;
 }
+
+void
+_test_sysio_shutdown()
+{
+
+       _sysio_shutdown();
+}