[libvirt] [PATCHv2 13/33] test: storage: Initialize storage source to correct type

Peter Krempa pkrempa at redhat.com
Thu May 22 13:47:52 UTC 2014


Stat the path of the storage file being tested to set the correct type
into the virStorageSource. This will avoid breaking the test suite when
inquiring metadata of directory paths in the next patches.
---
 tests/virstoragetest.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c
index fb96c71..746bf63 100644
--- a/tests/virstoragetest.c
+++ b/tests/virstoragetest.c
@@ -98,6 +98,7 @@ testStorageFileGetMetadata(const char *path,
                            uid_t uid, gid_t gid,
                            bool allow_probe)
 {
+    struct stat st;
     virStorageSourcePtr ret = NULL;

     if (VIR_ALLOC(ret) < 0)
@@ -106,6 +107,15 @@ testStorageFileGetMetadata(const char *path,
     ret->type = VIR_STORAGE_TYPE_FILE;
     ret->format = format;

+    if (stat(path, &st) == 0) {
+        if (S_ISDIR(st.st_mode)) {
+            ret->type = VIR_STORAGE_TYPE_DIR;
+            ret->format = VIR_STORAGE_FILE_DIR;
+        } else if (S_ISBLK(st.st_mode)) {
+            ret->type = VIR_STORAGE_TYPE_BLOCK;
+        }
+    }
+
     if (VIR_STRDUP(ret->relPath, path) < 0)
         goto error;

-- 
1.9.3




More information about the libvir-list mailing list