[Intel-gfx] [PATCH] intel-gpu-tools: remove the --cmd option from gem_seqno_wrap
Mika Kuoppala
mika.kuoppala at linux.intel.com
Mon Jun 16 14:32:35 CEST 2014
tim.gore at intel.com writes:
> From: Tim Gore <tim.gore at intel.com>
>
> gem_seqno_wrap was not being built on Android because it uses
> wordexp which is not in Bionic.
> After discussion with Mika Kuoppala (the test author) it seems
> that wordexp was used to implement the --cmd option that was
> really only intended for use during development of the test and
> is no longer needed. So I have removed support for this option
> and enabled this test for Android.
>
> Signed-off-by: Tim Gore <tim.gore at intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala at intel.com>
> ---
> tests/Android.mk | 1 -
> tests/gem_seqno_wrap.c | 77 ++------------------------------------------------
> 2 files changed, 3 insertions(+), 75 deletions(-)
>
> diff --git a/tests/Android.mk b/tests/Android.mk
> index 9db6625..f085d35 100644
> --- a/tests/Android.mk
> +++ b/tests/Android.mk
> @@ -28,7 +28,6 @@ endef
>
> # some tests still do not build under android
> skip_tests_list :=
> -skip_tests_list += gem_seqno_wrap
> skip_tests_list += testdisplay # needs glib.h
> skip_tests_list += pm_rpm
>
> diff --git a/tests/gem_seqno_wrap.c b/tests/gem_seqno_wrap.c
> index fa38f1f..ad4f839 100644
> --- a/tests/gem_seqno_wrap.c
> +++ b/tests/gem_seqno_wrap.c
> @@ -38,7 +38,6 @@
> #include <sys/types.h>
> #include <sys/wait.h>
> #include <limits.h>
> -#include <wordexp.h>
> #include <getopt.h>
> #include <signal.h>
> #include <errno.h>
> @@ -62,7 +61,6 @@ static struct intel_batchbuffer *batch_3d;
> struct option_struct {
> int rounds;
> int background;
> - char cmd[1024];
> int timeout;
> int dontwrap;
> int prewrap_space;
> @@ -281,64 +279,6 @@ static void run_sync_test(int num_buffers, bool verify)
> close(fd);
> }
>
> -static int run_cmd(char *s)
> -{
> - int pid;
> - int r = -1;
> - int status = 0;
> - wordexp_t wexp;
> - int i;
> - r = wordexp(s, &wexp, 0);
> - if (r != 0) {
> - printf("can't parse %s\n", s);
> - return r;
> - }
> -
> - for(i = 0; i < wexp.we_wordc; i++)
> - printf("argv[%d] = %s\n", i, wexp.we_wordv[i]);
> -
> - pid = fork();
> -
> - if (pid == 0) {
> - char path[PATH_MAX];
> - char full_path[PATH_MAX];
> -
> - if (getcwd(path, PATH_MAX) == NULL)
> - perror("getcwd");
> -
> - igt_assert(snprintf(full_path, PATH_MAX, "%s/%s", path, wexp.we_wordv[0]) > 0);
> -
> - r = execv(full_path, wexp.we_wordv);
> - if (r == -1)
> - perror("execv failed");
> - } else {
> - int waitcount = options.timeout;
> -
> - while(waitcount-- > 0) {
> - r = waitpid(pid, &status, WNOHANG);
> - if (r == pid) {
> - if(WIFEXITED(status)) {
> - if (WEXITSTATUS(status))
> - fprintf(stderr,
> - "child returned with %d\n",
> - WEXITSTATUS(status));
> - return WEXITSTATUS(status);
> - }
> - } else if (r != 0) {
> - perror("waitpid");
> - return -errno;
> - }
> -
> - sleep(3);
> - }
> -
> - kill(pid, SIGKILL);
> - return -ETIMEDOUT;
> - }
> -
> - return r;
> -}
> -
> static const char *dfs_base = "/sys/kernel/debug/dri";
> static const char *dfs_entry = "i915_next_seqno";
>
> @@ -415,7 +355,7 @@ static int write_seqno(uint32_t seqno)
> int fh;
> char buf[32];
> int r;
> - uint32_t rb;
> + uint32_t rb = -1;
>
> if (options.dontwrap)
> return 0;
> @@ -461,10 +401,7 @@ static uint32_t calc_prewrap_val(void)
>
> static void run_test(void)
> {
> - if (strnlen(options.cmd, sizeof(options.cmd)) > 0)
> - igt_assert(run_cmd(options.cmd) == 0);
> - else
> - run_sync_test(options.buffers, true);
> + run_sync_test(options.buffers, true);
> }
>
> static void preset_run_once(void)
> @@ -521,7 +458,6 @@ static void print_usage(const char *s)
> printf("%s: [OPTION]...\n", s);
> printf(" where options are:\n");
> printf(" -b --background run in background inducing wraps\n");
> - printf(" -c --cmd=cmdstring use cmdstring to cross wrap\n");
> printf(" -n --rounds=num run num times across wrap boundary, 0 == forever\n");
> printf(" -t --timeout=sec set timeout to wait for testrun to sec seconds\n");
> printf(" -d --dontwrap don't wrap just run the test\n");
> @@ -536,7 +472,6 @@ static void parse_options(int argc, char **argv)
> int c;
> int option_index = 0;
> static struct option long_options[] = {
> - {"cmd", required_argument, 0, 'c'},
> {"rounds", required_argument, 0, 'n'},
> {"background", no_argument, 0, 'b'},
> {"timeout", required_argument, 0, 't'},
> @@ -546,7 +481,6 @@ static void parse_options(int argc, char **argv)
> {"buffers", required_argument, 0, 'i'},
> };
>
> - strcpy(options.cmd, "");
> options.rounds = SLOW_QUICK(50, 2);
> options.background = 0;
> options.dontwrap = 0;
> @@ -555,7 +489,7 @@ static void parse_options(int argc, char **argv)
> options.prewrap_space = 21;
> options.buffers = 10;
>
> - while((c = getopt_long(argc, argv, "c:n:bvt:dp:ri:",
> + while((c = getopt_long(argc, argv, "n:bvt:dp:ri:",
> long_options, &option_index)) != -1) {
> switch(c) {
> case 'b':
> @@ -570,11 +504,6 @@ static void parse_options(int argc, char **argv)
> options.rounds = atoi(optarg);
> printf("running %d rounds\n", options.rounds);
> break;
> - case 'c':
> - strncpy(options.cmd, optarg, sizeof(options.cmd) - 1);
> - options.cmd[sizeof(options.cmd) - 1] = 0;
> - printf("cmd set to %s\n", options.cmd);
> - break;
> case 'i':
> options.buffers = atoi(optarg);
> printf("buffers %d\n", options.buffers);
> --
> 1.9.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list