diff options
author | Soumya Koduri <skoduri@redhat.com> | 2014-06-17 17:44:11 +0530 |
---|---|---|
committer | Kaleb KEITHLEY <kkeithle@redhat.com> | 2015-03-26 12:26:38 -0700 |
commit | bf8a5c9f21381690dc8ba25bcfba44619a6e2434 (patch) | |
tree | 648261a2f77d71aa28d2b683649c0f383425a91d /tests/basic/gfapi/libgfapi-fini-hang.c | |
parent | 02c045790136fc6e979a82d4d7fa8d1d298478fb (diff) |
tests: Added a script to test the glfs_fini hang fix
The script has been added as '.sh' instead of '.t' to avoid regression
tests failure which may happen due to instability of glfs_fini.
In addition, there is still some support needed to compile libgfapi*
tests in our current regression test framework.
BUG: 1093594
Change-Id: If66817f330320e8c092340008b36616e1d954127
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Reviewed-on: http://review.gluster.org/8092
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Diffstat (limited to 'tests/basic/gfapi/libgfapi-fini-hang.c')
-rw-r--r-- | tests/basic/gfapi/libgfapi-fini-hang.c | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/basic/gfapi/libgfapi-fini-hang.c b/tests/basic/gfapi/libgfapi-fini-hang.c new file mode 100644 index 00000000000..ee16bd7ce58 --- /dev/null +++ b/tests/basic/gfapi/libgfapi-fini-hang.c @@ -0,0 +1,58 @@ +#include <fcntl.h> +#include <unistd.h> +#include <time.h> +#include <limits.h> +#include <alloca.h> +#include <string.h> +#include <stdio.h> +#include <stdlib.h> +#include "api/glfs.h" +#include "api/glfs-handles.h" + +#define LOG_ERR(func, ret) do { \ + if (ret != 0) { \ + fprintf (stderr, "%s : returned error %d\n", func, ret); \ + exit(1); \ + } else { \ + fprintf (stderr, "%s : returned %d\n", func, ret); \ + } \ +} while (0) + +int +main (int argc, char *argv[]) +{ + glfs_t *fs = NULL; + int ret = 0, i; + glfs_fd_t *fd = NULL; + char readbuf[32]; + char *filename = "a1"; + + fprintf (stderr, "Starting libgfapi_fini\n"); + + if (argc < 2) { + fprintf (stderr, "Invalid argument\n"); + exit(1); + } + + fs = glfs_new (argv[1]); + if (!fs) { + fprintf (stderr, "glfs_new: returned NULL\n"); + exit(1); + } + + ret = glfs_set_volfile_server (fs, "tcp", "localhost", 0); + LOG_ERR("glfs_set_volfile_server", ret); + + ret = glfs_set_logging (fs, "/dev/stderr", 7); + LOG_ERR("glfs_set_logging", ret); + + /* Do not call glfs_init. + * glfs_fini() shouldn't hang in that case*/ + ret = glfs_fini(fs); + LOG_ERR("glfs_fini", ret); + fprintf (stderr, "End of libgfapi_fini\n"); + + exit(0); +} + + |