Re: [Intel-gfx] [i-g-t PATCH 4/4] Convert shell script tests to C version

2017-05-09 Thread Petri Latvala
On Thu, Apr 20, 2017 at 11:13:48AM +0300, Abdiel Janulgue wrote:
> Converted:
>  - check_drm_clients (ensures no other clients are running.
>functionality provided by drm_open_driver_master).
>  - debugfs_emon_crash
>  - debugfs_wedged
>  - drv_debugfs_reader
>  - sysfs_l3_parity
>  - test_rte_check  (same as check_drm_clients)
>  - tools_test
>  - ZZ_check_dmesg
> 
> Cc: Daniel Vetter 
> Cc: Petri Latvala 
> Signed-off-by: Abdiel Janulgue 
> ---
>  tests/Makefile.sources   |   9 +---
>  tests/ZZ_check_dmesg |  11 -
>  tests/check_drm_clients  |   6 ---
>  tests/debugfs.c  |  75 
>  tests/debugfs_emon_crash |  16 ---
>  tests/debugfs_wedged |  10 -
>  tests/drv_debugfs_reader |   9 
>  tests/sysfs_l3_parity|  22 --
>  tests/test_rte_check |   6 ---
>  tests/tools.c| 111 
> +++
>  tests/tools_test |  16 ---
>  11 files changed, 188 insertions(+), 103 deletions(-)
>  delete mode 100755 tests/ZZ_check_dmesg
>  delete mode 100755 tests/check_drm_clients
>  create mode 100644 tests/debugfs.c
>  delete mode 100755 tests/debugfs_emon_crash
>  delete mode 100755 tests/debugfs_wedged
>  delete mode 100755 tests/drv_debugfs_reader
>  delete mode 100755 tests/sysfs_l3_parity
>  delete mode 100755 tests/test_rte_check
>  create mode 100644 tests/tools.c
>  delete mode 100755 tests/tools_test
> 
> diff --git a/tests/Makefile.sources b/tests/Makefile.sources
> index 7fa9b8f..089428d 100644
> --- a/tests/Makefile.sources
> +++ b/tests/Makefile.sources
> @@ -234,6 +234,8 @@ TESTS_progs = \
>   drv_module_reload \
>   kms_sysfs_edid_timing \
>   perf \
> + debugfs \
> + tools \
>   $(NULL)
>  
>  # IMPORTANT: The ZZ_ tests need to be run last!
> @@ -242,11 +244,6 @@ TESTS_scripts_M = \
>   $(NULL)
>  
>  TESTS_scripts = \
> - debugfs_emon_crash \
> - drv_debugfs_reader \
> - sysfs_l3_parity \
> - test_rte_check \
> - tools_test \
>   $(NULL)
>  
>  # This target contains testcases which support automagic subtest enumeration
> @@ -308,9 +305,7 @@ HANG = \
>   $(NULL)
>  
>  scripts = \
> - check_drm_clients \
>   ddx_intel_after_fbdev \
> - debugfs_wedged \
>   drm_lib.sh \
>   drm_getopt.sh \
>   $(NULL)
> diff --git a/tests/ZZ_check_dmesg b/tests/ZZ_check_dmesg
> deleted file mode 100755
> index e28ba35..000
> --- a/tests/ZZ_check_dmesg
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -#!/bin/sh
> -
> -if dmesg | grep '\*ERROR\*'  > /dev/null ; then
> - echo "DRM_ERROR dirt in dmesg"
> - exit 1
> -fi
> -
> -if dmesg | grep -- '--\[ cut here \]' > /dev/null  ; then
> - echo "found a backtrace in dmesg"
> - exit 1
> -fi
> diff --git a/tests/check_drm_clients b/tests/check_drm_clients
> deleted file mode 100755
> index 2a891b8..000
> --- a/tests/check_drm_clients
> +++ /dev/null
> @@ -1,6 +0,0 @@
> -#!/bin/bash
> -
> -SOURCE_DIR="$( dirname "${BASH_SOURCE[0]}" )"
> -. $SOURCE_DIR/drm_lib.sh
> -
> -exit $IGT_EXIT_SUCCESS
> diff --git a/tests/debugfs.c b/tests/debugfs.c
> new file mode 100644
> index 000..2e2f9bb
> --- /dev/null
> +++ b/tests/debugfs.c
> @@ -0,0 +1,75 @@
> +/*
> + * Copyright © 2017 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the next
> + * paragraph) shall be included in all copies or substantial portions of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
> DEALINGS
> + * IN THE SOFTWARE.
> + */
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +#include "igt.h"
> +
> +igt_main
> +{
> + int fd = -1;
> + igt_skip_on_simulation();
> +
> + igt_fixture {
> + fd = drm_open_driver_master(DRIVER_INTEL);
> + igt_require_gem(fd);
> + }
> +
> + igt_subtest_group {
> + igt_subtest("debugfs_emon_crash") {


These subtest names lead to redundant naming. This one for 

[Intel-gfx] [i-g-t PATCH 4/4] Convert shell script tests to C version

2017-04-20 Thread Abdiel Janulgue
Converted:
 - check_drm_clients (ensures no other clients are running.
   functionality provided by drm_open_driver_master).
 - debugfs_emon_crash
 - debugfs_wedged
 - drv_debugfs_reader
 - sysfs_l3_parity
 - test_rte_check  (same as check_drm_clients)
 - tools_test
 - ZZ_check_dmesg

Cc: Daniel Vetter 
Cc: Petri Latvala 
Signed-off-by: Abdiel Janulgue 
---
 tests/Makefile.sources   |   9 +---
 tests/ZZ_check_dmesg |  11 -
 tests/check_drm_clients  |   6 ---
 tests/debugfs.c  |  75 
 tests/debugfs_emon_crash |  16 ---
 tests/debugfs_wedged |  10 -
 tests/drv_debugfs_reader |   9 
 tests/sysfs_l3_parity|  22 --
 tests/test_rte_check |   6 ---
 tests/tools.c| 111 +++
 tests/tools_test |  16 ---
 11 files changed, 188 insertions(+), 103 deletions(-)
 delete mode 100755 tests/ZZ_check_dmesg
 delete mode 100755 tests/check_drm_clients
 create mode 100644 tests/debugfs.c
 delete mode 100755 tests/debugfs_emon_crash
 delete mode 100755 tests/debugfs_wedged
 delete mode 100755 tests/drv_debugfs_reader
 delete mode 100755 tests/sysfs_l3_parity
 delete mode 100755 tests/test_rte_check
 create mode 100644 tests/tools.c
 delete mode 100755 tests/tools_test

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 7fa9b8f..089428d 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -234,6 +234,8 @@ TESTS_progs = \
drv_module_reload \
kms_sysfs_edid_timing \
perf \
+   debugfs \
+   tools \
$(NULL)
 
 # IMPORTANT: The ZZ_ tests need to be run last!
@@ -242,11 +244,6 @@ TESTS_scripts_M = \
$(NULL)
 
 TESTS_scripts = \
-   debugfs_emon_crash \
-   drv_debugfs_reader \
-   sysfs_l3_parity \
-   test_rte_check \
-   tools_test \
$(NULL)
 
 # This target contains testcases which support automagic subtest enumeration
@@ -308,9 +305,7 @@ HANG = \
$(NULL)
 
 scripts = \
-   check_drm_clients \
ddx_intel_after_fbdev \
-   debugfs_wedged \
drm_lib.sh \
drm_getopt.sh \
$(NULL)
diff --git a/tests/ZZ_check_dmesg b/tests/ZZ_check_dmesg
deleted file mode 100755
index e28ba35..000
--- a/tests/ZZ_check_dmesg
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-if dmesg | grep '\*ERROR\*'  > /dev/null ; then
-   echo "DRM_ERROR dirt in dmesg"
-   exit 1
-fi
-
-if dmesg | grep -- '--\[ cut here \]' > /dev/null  ; then
-   echo "found a backtrace in dmesg"
-   exit 1
-fi
diff --git a/tests/check_drm_clients b/tests/check_drm_clients
deleted file mode 100755
index 2a891b8..000
--- a/tests/check_drm_clients
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-SOURCE_DIR="$( dirname "${BASH_SOURCE[0]}" )"
-. $SOURCE_DIR/drm_lib.sh
-
-exit $IGT_EXIT_SUCCESS
diff --git a/tests/debugfs.c b/tests/debugfs.c
new file mode 100644
index 000..2e2f9bb
--- /dev/null
+++ b/tests/debugfs.c
@@ -0,0 +1,75 @@
+/*
+ * Copyright © 2017 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "igt.h"
+
+igt_main
+{
+   int fd = -1;
+   igt_skip_on_simulation();
+
+   igt_fixture {
+   fd = drm_open_driver_master(DRIVER_INTEL);
+   igt_require_gem(fd);
+   }
+
+   igt_subtest_group {
+   igt_subtest("debugfs_emon_crash") {
+   int i;
+   char *cmd;
+   igt_assert(asprintf(, "cat %s/i915_emon_status",
+   igt_debugfs_path(fd)) != -1);
+
+   for (i = 0; i < 1000; i++)
+   igt_exec_quiet(cmd);
+
+   free(cmd);
+