diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/basic/gfapi/glfs_sysrq.c | 61 | ||||
| -rwxr-xr-x | tests/basic/gfapi/glfs_sysrq.t | 39 | 
2 files changed, 100 insertions, 0 deletions
diff --git a/tests/basic/gfapi/glfs_sysrq.c b/tests/basic/gfapi/glfs_sysrq.c new file mode 100644 index 00000000000..c843c2a3559 --- /dev/null +++ b/tests/basic/gfapi/glfs_sysrq.c @@ -0,0 +1,61 @@ +/** glfs_sysrq.c + * + * Simple test application to run all glfs_syqrq() debugging calls. + * + * Usage: ./glfs_sysrq <host> <volume> <logfile> + */ +#include <errno.h> +#include <stdio.h> + +#include <glusterfs/api/glfs.h> + +int +main (int argc, char *argv[]) +{ +        /* cmdline arguments */ +        char   *host    = NULL; +        char   *volume  = NULL; +        char   *logfile = NULL; + +        /* other variables */ +        glfs_t *fs      = NULL; +        int     ret     = 0; + +        if (argc != 4) { +                fprintf (stderr, "Usage: %s <host> <volume> <logfile>\n", +                         argv[0]); +                return -1; +        } + +        host = argv[1]; +        volume = argv[2]; +        logfile = argv[3]; + +        fs = glfs_new (volume); +        if (!fs) { +                return -1; +        } + +        ret = glfs_set_logging (fs, logfile, 7); +        if (ret < 0) { +                return -1; +        } + +        ret = glfs_set_volfile_server (fs, "tcp", host, 24007); +        if (ret < 0) { +                return -1; +        } + +        ret = glfs_init (fs); +        if (ret < 0) { +                return -1; +        } + +        /* checking of the results is easier in the script running this test */ +        glfs_sysrq (fs, GLFS_SYSRQ_HELP); +        glfs_sysrq (fs, GLFS_SYSRQ_STATEDUMP); + +        glfs_fini (fs); + +        return 0; +} diff --git a/tests/basic/gfapi/glfs_sysrq.t b/tests/basic/gfapi/glfs_sysrq.t new file mode 100755 index 00000000000..d1a0e9bc248 --- /dev/null +++ b/tests/basic/gfapi/glfs_sysrq.t @@ -0,0 +1,39 @@ +#!/bin/bash +# +# Run glfs_sysrq, a gfapi applications calling all glfs_sysrq() commands. +# Each command generates a specific log message, or something else that can be +# tested for existance. +# + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +cleanup + +TEST glusterd +TEST pidof glusterd +TEST $CLI volume create $V0 $H0:$B0/brick1 +EXPECT 'Created' volinfo_field $V0 'Status' + +TEST $CLI volume start $V0; +EXPECT 'Started' volinfo_field $V0 'Status' + +logdir=$(gluster --print-logdir) + +# clear all statedumps +cleanup_statedump +TEST ! test -e $statedumpdir/*.dump.* +# vim friendly command */ + +build_tester $(dirname $0)/glfs_sysrq.c -lgfapi +TEST $(dirname $0)/glfs_sysrq $H0 $V0 $logdir/glfs_sysrq.log + +# check for the help message in the log +TEST grep -q '"(H)elp"' $logdir/glfs_sysrq.log + +# see if there is a statedump +TEST test -e $statedumpdir/*.dump.* +# vim friendly command */ + +cleanup_tester $(dirname $0)/glfs_sysrq +cleanup  | 
