With the structured logging it makes more sense to tune this down a
bit. Also, this way it is consistent with Thomas Wood's new activity
indicator helper.

Spotted while discussing Thomas' patch with him.

v2: Thomas noticed that I've forgotten the fflush. Extract
igt_interactive_info for both igt_progress and igt_print_activity.

v3: Interactive output should go to stderr. Also extract the "is this
a terminal" check.

Cc: Thomas Wood <[email protected]>
Cc: Chris Wilson <[email protected]>
Signed-off-by: Daniel Vetter <[email protected]>
---
 lib/igt_aux.c | 32 +++++++++++++++++++++-----------
 1 file changed, 21 insertions(+), 11 deletions(-)

diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index 7c07b7d0722c..b32297ee508c 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -214,6 +214,23 @@ void igt_permute_array(void *array, unsigned size,
        }
 }
 
+__attribute__((format(printf, 1, 2)))
+static void igt_interactive_info(const char *format, ...)
+{
+       va_list args;
+
+       if (!isatty(STDERR_FILENO))
+               return;
+
+       if (igt_log_level > IGT_LOG_INFO)
+               return;
+
+       va_start(args, format);
+       vfprintf(stderr, format, args);
+       va_end(args);
+}
+
+
 /**
  * igt_progress:
  * @header: header string to prepend to the progress indicator
@@ -229,11 +246,8 @@ void igt_progress(const char *header, uint64_t i, uint64_t 
total)
 {
        int divider = 200;
 
-       if (!isatty(fileno(stderr)))
-               return;
-
        if (i+1 >= total) {
-               igt_warn("\r%s100%%\n", header);
+               igt_interactive_info("\r%s100%%\n", header);
                return;
        }
 
@@ -242,8 +256,8 @@ void igt_progress(const char *header, uint64_t i, uint64_t 
total)
 
        /* only bother updating about every 0.5% */
        if (i % (total / divider) == 0)
-               igt_warn("\r%s%3llu%%", header,
-                        (long long unsigned)i * 100 / total);
+               igt_interactive_info("\r%s%3llu%%", header,
+                                    (long long unsigned)i * 100 / total);
 }
 
 /**
@@ -254,11 +268,7 @@ void igt_progress(const char *header, uint64_t i, uint64_t 
total)
  */
 void igt_print_activity(void)
 {
-       if (!isatty(STDOUT_FILENO))
-               return;
-
-       igt_info(".");
-       fflush(stdout);
+       igt_interactive_info(".");
 }
 
 /* mappable aperture trasher helper */
-- 
2.1.1

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to