[Gluster-devel] 1st results: gcov/lcov code coverage of glusterfs

John Smith lbalbalba at gmail.com
Thu May 16 20:40:11 UTC 2013


Oh, I forgot to include this strace snippet from the cmd 'strace -f
prove foo.t' :

# strace -f prove ./tests/basic/posixonly.t 2>&1 | grep "/mnt/glusterfs/"
[pid 17137] read(3, "M0=${M0:=/mnt/glusterfs/0};   # "..., 4616) = 4616
[pid 17144] execve("/usr/bin/mkdir", ["mkdir", "-p",
"/mnt/glusterfs/0", "/mnt/glusterfs/1"], [/* 30 vars */]) = 0
[pid 17163] execve("/usr/bin/umount", ["umount", "-l",
"/mnt/glusterfs/0"], [/* 30 vars */]) = 0
[pid 17163] readlink("/mnt/glusterfs/0", 0xbf9cc929, 4096) = -1 EINVAL
(Invalid argument)
[pid 17163] stat64("/mnt/glusterfs/0", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
[pid 17163] umount("/mnt/glusterfs/0", MNT_DETACH) = -1 EINVAL
(Invalid argument)
[pid 17163] write(2, "/mnt/glusterfs/0: not mounted", 29) = 29
[pid 17164] execve("/usr/bin/umount", ["umount", "-l",
"/mnt/glusterfs/1"], [/* 30 vars */]) = 0
[pid 17164] readlink("/mnt/glusterfs/1", 0xbff54689, 4096) = -1 EINVAL
(Invalid argument)
[pid 17164] stat64("/mnt/glusterfs/1", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
[pid 17164] umount("/mnt/glusterfs/1", MNT_DETACH) = -1 EINVAL
(Invalid argument)
[pid 17164] write(2, "/mnt/glusterfs/1: not mounted", 29) = 29
[pid 17170] execve("/usr/local/glusterfs/sbin/glusterfs",
["glusterfs", "-f", "/d/backends/posixonly.vol", "/mnt/glusterfs/0"],
[/* 30 vars */]) = 0
[pid 17170] stat64("/mnt/glusterfs/0", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
[pid 17171] mount("/d/backends/posixonly.vol", "/mnt/glusterfs/0",
"fuse.glusterfs", 0, "default_permissions,allow_other,"... <unfinished
...>
[pid 17180] execve("/usr/bin/touch", ["touch",
"/mnt/glusterfs/0/filename"], [/* 30 vars */]) = 0
[pid 17180] open("/mnt/glusterfs/0/filename",
O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_LARGEFILE, 0666 <unfinished
...>
[pid 17182] execve("/usr/bin/stat", ["stat",
"/mnt/glusterfs/0/filename"], [/* 30 vars */]) = 0
[pid 17182] lstat64("/mnt/glusterfs/0/filename",  <unfinished ...>
[pid 17182] write(1, "  File: `/mnt/glusterfs/0/filena"..., 379) = 379
[pid 17184] execve("/usr/bin/mkdir", ["mkdir",
"/mnt/glusterfs/0/dirname"], [/* 30 vars */]) = 0
[pid 17184] mkdir("/mnt/glusterfs/0/dirname", 0777 <unfinished ...>
[pid 17186] execve("/usr/bin/stat", ["stat",
"/mnt/glusterfs/0/dirname"], [/* 30 vars */]) = 0
[pid 17186] lstat64("/mnt/glusterfs/0/dirname",  <unfinished ...>
[pid 17186] write(1, "  File: `/mnt/glusterfs/0/dirnam"..., 369) = 369
[pid 17188] execve("/usr/bin/touch", ["touch",
"/mnt/glusterfs/0/dirname/filenam"...], [/* 30 vars */]) = 0
[pid 17188] open("/mnt/glusterfs/0/dirname/filename",
O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_LARGEFILE, 0666 <unfinished
...>
[pid 17190] execve("/usr/bin/stat", ["stat",
"/mnt/glusterfs/0/dirname/filenam"...], [/* 30 vars */]) = 0
[pid 17190] lstat64("/mnt/glusterfs/0/dirname/filename",  <unfinished ...>
[pid 17190] write(1, "  File: `/mnt/glusterfs/0/dirnam"..., 387) = 387
[pid 17192] execve("/usr/bin/ln", ["ln",
"/mnt/glusterfs/0/dirname/filenam"...,
"/mnt/glusterfs/0/dirname/linknam"...], [/* 30 vars */]) = 0
[pid 17192] stat64("/mnt/glusterfs/0/dirname/linkname",  <unfinished ...>
[pid 17192] lstat64("/mnt/glusterfs/0/dirname/filename",
{st_mode=S_IFREG|0644, st_size=0, ...}) = 0
[pid 17192] linkat(AT_FDCWD, "/mnt/glusterfs/0/dirname/filename",
AT_FDCWD, "/mnt/glusterfs/0/dirname/linkname", 0 <unfinished ...>
[pid 17194] execve("/usr/bin/chown", ["chown", "100:100",
"/mnt/glusterfs/0/dirname/filenam"...], [/* 30 vars */]) = 0
[pid 17194] fstatat64(AT_FDCWD, "/mnt/glusterfs/0/dirname/filename",
<unfinished ...>
[pid 17194] fchownat(AT_FDCWD, "/mnt/glusterfs/0/dirname/filename",
100, 100, 0 <unfinished ...>
[pid 17196] execve("/usr/bin/chown", ["chown", "100:100",
"/mnt/glusterfs/0/dirname"], [/* 30 vars */]) = 0
[pid 17196] fstatat64(AT_FDCWD, "/mnt/glusterfs/0/dirname",
{st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 17196] fchownat(AT_FDCWD, "/mnt/glusterfs/0/dirname", 100, 100, 0
<unfinished ...>
[pid 17198] execve("/usr/bin/rm", ["rm", "-rf",
"/mnt/glusterfs/0/filename", "/mnt/glusterfs/0/dirname"], [/* 30 vars
*/]) = 0
[pid 17198] fstatat64(AT_FDCWD, "/mnt/glusterfs/0/filename",
{st_mode=S_IFREG|0644, st_size=0, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 17198] unlinkat(AT_FDCWD, "/mnt/glusterfs/0/filename", 0 <unfinished ...>
[pid 17198] fstatat64(AT_FDCWD, "/mnt/glusterfs/0/dirname",  <unfinished ...>
[pid 17198] openat(AT_FDCWD, "/mnt/glusterfs/0/dirname",
O_RDONLY|O_NOCTTY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_NOFOLLOW
<unfinished ...>
[pid 17198] unlinkat(AT_FDCWD, "/mnt/glusterfs/0/dirname",
AT_REMOVEDIR <unfinished ...>
[pid 17200] execve("/usr/bin/umount", ["umount", "/mnt/glusterfs/0"],
[/* 30 vars */]) = 0
[pid 17200] oldumount("/mnt/glusterfs/0" <unfinished ...>
[pid 17215] execve("/usr/bin/umount", ["umount", "-l",
"/mnt/glusterfs/0"], [/* 30 vars */]) = 0
[pid 17215] readlink("/mnt/glusterfs/0", 0xbfad8d19, 4096) = -1 EINVAL
(Invalid argument)
[pid 17215] stat64("/mnt/glusterfs/0", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
[pid 17215] umount("/mnt/glusterfs/0", MNT_DETACH) = -1 EINVAL
(Invalid argument)
[pid 17215] write(2, "/mnt/glusterfs/0: not mounted", 29) = 29
[pid 17216] execve("/usr/bin/umount", ["umount", "-l",
"/mnt/glusterfs/1"], [/* 30 vars */]) = 0
[pid 17216] readlink("/mnt/glusterfs/1", 0xbfa419f9, 4096) = -1 EINVAL
(Invalid argument)
[pid 17216] stat64("/mnt/glusterfs/1", {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
[pid 17216] umount("/mnt/glusterfs/1", MNT_DETACH) = -1 EINVAL
(Invalid argument)
[pid 17216] write(2, "/mnt/glusterfs/1: not mounted", 29) = 29




On Thu, May 16, 2013 at 10:31 PM, John Smith <lbalbalba at gmail.com> wrote:
> Hi,
>
>
> Im not quite sure what im seeing here, but ...
>
> the prove test './tests/basic/posixonly.t' should test, well, posix ;).
>
> and yet the gcov report says its not being hit:
> http://lbalbalba.x90x.net/lcov/glusterfs/usr/local/glusterfs/lib/glusterfs/3git/xlator/storage/posix.c.gcov.html
>
> Does anyone who has a deeper understanding of both the codebase and
> the test know if that test should indeed hit that file ? If so, the
> report is wrong. And if not, the test may need to be changed.
>
>
>
> Regards,
>
>
> John Smith




More information about the Gluster-devel mailing list