diff options
Diffstat (limited to 'tests/features')
| -rwxr-xr-x | tests/features/ipc.t | 21 | ||||
| -rwxr-xr-x | tests/features/ipctest.py | 28 | 
2 files changed, 49 insertions, 0 deletions
diff --git a/tests/features/ipc.t b/tests/features/ipc.t new file mode 100755 index 00000000000..2aaca6620bf --- /dev/null +++ b/tests/features/ipc.t @@ -0,0 +1,21 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc + +cleanup; +mkdir -p $B0/1 +mkdir -p $M0 + +TEST glusterd +TEST pidof glusterd +TEST $CLI volume info; + +TEST $CLI volume create $V0 $H0:$B0/1 +TEST $CLI volume start $V0 + +# This is a pretty lame test.  Basically we just want to make sure that we +# get all the way through the translator stacks on client and server to get a +# simple error (95 = EOPNOTUPP) instead of a crash, RPC error, etc. +EXPECT 95 $PYTHON $(dirname $0)/ipctest.py $H0 $V0 + +cleanup; diff --git a/tests/features/ipctest.py b/tests/features/ipctest.py new file mode 100755 index 00000000000..0592bae3bbc --- /dev/null +++ b/tests/features/ipctest.py @@ -0,0 +1,28 @@ +#!/usr/bin/python + +import ctypes +import ctypes.util + +api = ctypes.CDLL(ctypes.util.find_library("gfapi")) +api.glfs_ipc.argtypes = [ ctypes.c_void_p, ctypes.c_int ] +api.glfs_ipc.restype = ctypes.c_int + +def do_ipc (host, volume): +	fs = api.glfs_new(volume) +	#api.glfs_set_logging(fs,"/dev/stderr",7) +	api.glfs_set_volfile_server(fs,"tcp",host,24007) + +	api.glfs_init(fs) +	ret  = api.glfs_ipc(fs,1470369258) +	api.glfs_fini(fs) + +	return ret + +if __name__ == "__main__": +	import sys + +	try: +		res = apply(do_ipc,sys.argv[1:3]) +		print res +	except: +		print "IPC failed (volume not started?)"  | 
