Skip to content
Snippets Groups Projects

Resolve "Segmentation fault in sfind"

Closed Ramon Nou requested to merge 138-segmentation-fault-in-sfind into master
1 unresolved thread
Compare and Show latest version
3 files
+ 16
2
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -178,6 +178,7 @@ def test_mkdir(gkfs_daemon, gkfs_client):
return
# Test dirents_singleserver using an external application calling a gekkofs function.
def test_extended(gkfs_daemon, gkfs_shell, gkfs_client):
topdir = gkfs_daemon.mountdir / "test_extended"
longer = Path(topdir.parent, topdir.name + "_plus")
@@ -193,24 +194,28 @@ def test_extended(gkfs_daemon, gkfs_shell, gkfs_client):
assert ret.retval == 0
# create topdir/dir_a
ret = gkfs_client.mkdir(
dir_a,
stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO)
assert ret.retval == 0
# create topdir/dir_b
ret = gkfs_client.mkdir(
dir_b,
stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO)
assert ret.retval == 0
# create topdir/dir_a/subdir_a
ret = gkfs_client.mkdir(
subdir_a,
stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO)
assert ret.retval == 0
# create a topdir/file_a with 1 byte
ret = gkfs_client.open(file_a,
os.O_CREAT,
stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO)
@@ -220,9 +225,13 @@ def test_extended(gkfs_daemon, gkfs_shell, gkfs_client):
ret = gkfs_client.write(file_a, buf, 1)
assert ret.retval == 1
# launch sfind that will check 4 entries (dir_a, dir_b, subdir_a and file_a)
# None will pass the filter as we expect size == 1 and a k in the name.
preload = 'LIBGKFS_HOSTS_FILE='+str(gkfs_client._patched_env['LIBGKFS_HOSTS_FILE'])+' LD_PRELOAD='+str(gkfs_client._preload_library)
stream = os.popen(preload+' ./sfind '+str(topdir)+' -M '+str(gkfs_daemon.mountdir)+' -S 1 -name "*_k*"');
output = stream.read()
assert output == "MATCHED 0/4\n"
Loading