Re: [PATCH] selftests: futex: print testcase-name and PASS/FAIL/ERROR status

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/22/2017 01:17 AM, naresh.kamboju@xxxxxxxxxx wrote:
> From: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx>
> 
> Most of the tests under selftests follow a pattern for their results,
> which can then be parsed easily by other external tools easily. Though
> futex tests do print the test results very well, it doesn't really
> follow the general selftests pattern.
> 
> This patch makes necessary changes to fix that.
> 
> Output before this patch:
> futex_requeue_pi: Test requeue functionality
>         Arguments: broadcast=0 locked=0 owner=0 timeout=0ns
> Result:  PASS
> 
> Output after this patch:
> futex_requeue_pi: Test requeue functionality
>         Arguments: broadcast=0 locked=0 owner=0 timeout=0ns
> selftests: futex-requeue-pi [PASS]
> 
> Signed-off-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx>

Thanks. Applied to linux-kselftest next for 4.13-rc1

-- Shuah

> ---
>  tools/testing/selftests/futex/functional/futex_requeue_pi.c          | 3 ++-
>  .../selftests/futex/functional/futex_requeue_pi_mismatched_ops.c     | 4 +++-
>  .../selftests/futex/functional/futex_requeue_pi_signal_restart.c     | 3 ++-
>  .../selftests/futex/functional/futex_wait_private_mapped_file.c      | 5 +++--
>  tools/testing/selftests/futex/functional/futex_wait_timeout.c        | 4 +++-
>  .../selftests/futex/functional/futex_wait_uninitialized_heap.c       | 3 ++-
>  tools/testing/selftests/futex/functional/futex_wait_wouldblock.c     | 3 ++-
>  tools/testing/selftests/futex/include/logging.h                      | 4 ++--
>  8 files changed, 19 insertions(+), 10 deletions(-)
> 
> diff --git a/tools/testing/selftests/futex/functional/futex_requeue_pi.c b/tools/testing/selftests/futex/functional/futex_requeue_pi.c
> index 3da06ad23996..d24ab7421e73 100644
> --- a/tools/testing/selftests/futex/functional/futex_requeue_pi.c
> +++ b/tools/testing/selftests/futex/functional/futex_requeue_pi.c
> @@ -32,6 +32,7 @@
>  #include "futextest.h"
>  #include "logging.h"
>  
> +#define TEST_NAME "futex-requeue-pi"
>  #define MAX_WAKE_ITERS 1000
>  #define THREAD_MAX 10
>  #define SIGNAL_PERIOD_US 100
> @@ -404,6 +405,6 @@ int main(int argc, char *argv[])
>  	 */
>  	ret = unit_test(broadcast, locked, owner, timeout_ns);
>  
> -	print_result(ret);
> +	print_result(TEST_NAME, ret);
>  	return ret;
>  }
> diff --git a/tools/testing/selftests/futex/functional/futex_requeue_pi_mismatched_ops.c b/tools/testing/selftests/futex/functional/futex_requeue_pi_mismatched_ops.c
> index d5e4f2c4da2a..e0a798ad0d21 100644
> --- a/tools/testing/selftests/futex/functional/futex_requeue_pi_mismatched_ops.c
> +++ b/tools/testing/selftests/futex/functional/futex_requeue_pi_mismatched_ops.c
> @@ -30,6 +30,8 @@
>  #include "futextest.h"
>  #include "logging.h"
>  
> +#define TEST_NAME "futex-requeue-pi-mismatched-ops"
> +
>  futex_t f1 = FUTEX_INITIALIZER;
>  futex_t f2 = FUTEX_INITIALIZER;
>  int child_ret = 0;
> @@ -130,6 +132,6 @@ int main(int argc, char *argv[])
>  
>   out:
>  	/* If the kernel crashes, we shouldn't return at all. */
> -	print_result(ret);
> +	print_result(TEST_NAME, ret);
>  	return ret;
>  }
> diff --git a/tools/testing/selftests/futex/functional/futex_requeue_pi_signal_restart.c b/tools/testing/selftests/futex/functional/futex_requeue_pi_signal_restart.c
> index 3d7dc6afc3f8..982f83577501 100644
> --- a/tools/testing/selftests/futex/functional/futex_requeue_pi_signal_restart.c
> +++ b/tools/testing/selftests/futex/functional/futex_requeue_pi_signal_restart.c
> @@ -32,6 +32,7 @@
>  #include "futextest.h"
>  #include "logging.h"
>  
> +#define TEST_NAME "futex-requeue-pi-signal-restart"
>  #define DELAY_US 100
>  
>  futex_t f1 = FUTEX_INITIALIZER;
> @@ -218,6 +219,6 @@ int main(int argc, char *argv[])
>  	if (ret == RET_PASS && waiter_ret)
>  		ret = waiter_ret;
>  
> -	print_result(ret);
> +	print_result(TEST_NAME, ret);
>  	return ret;
>  }
> diff --git a/tools/testing/selftests/futex/functional/futex_wait_private_mapped_file.c b/tools/testing/selftests/futex/functional/futex_wait_private_mapped_file.c
> index 5f687f247454..bdc48dc047e5 100644
> --- a/tools/testing/selftests/futex/functional/futex_wait_private_mapped_file.c
> +++ b/tools/testing/selftests/futex/functional/futex_wait_private_mapped_file.c
> @@ -34,6 +34,7 @@
>  #include "logging.h"
>  #include "futextest.h"
>  
> +#define TEST_NAME "futex-wait-private-mapped-file"
>  #define PAGE_SZ 4096
>  
>  char pad[PAGE_SZ] = {1};
> @@ -60,7 +61,7 @@ void *thr_futex_wait(void *arg)
>  	ret = futex_wait(&val, 1, &wait_timeout, 0);
>  	if (ret && errno != EWOULDBLOCK && errno != ETIMEDOUT) {
>  		error("futex error.\n", errno);
> -		print_result(RET_ERROR);
> +		print_result(TEST_NAME, RET_ERROR);
>  		exit(RET_ERROR);
>  	}
>  
> @@ -120,6 +121,6 @@ int main(int argc, char **argv)
>  	pthread_join(thr, NULL);
>  
>   out:
> -	print_result(ret);
> +	print_result(TEST_NAME, ret);
>  	return ret;
>  }
> diff --git a/tools/testing/selftests/futex/functional/futex_wait_timeout.c b/tools/testing/selftests/futex/functional/futex_wait_timeout.c
> index ab428ca894de..6aadd560366e 100644
> --- a/tools/testing/selftests/futex/functional/futex_wait_timeout.c
> +++ b/tools/testing/selftests/futex/functional/futex_wait_timeout.c
> @@ -27,6 +27,8 @@
>  #include "futextest.h"
>  #include "logging.h"
>  
> +#define TEST_NAME "futex-wait-timeout"
> +
>  static long timeout_ns = 100000;	/* 100us default timeout */
>  
>  void usage(char *prog)
> @@ -81,6 +83,6 @@ int main(int argc, char *argv[])
>  		ret = RET_FAIL;
>  	}
>  
> -	print_result(ret);
> +	print_result(TEST_NAME, ret);
>  	return ret;
>  }
> diff --git a/tools/testing/selftests/futex/functional/futex_wait_uninitialized_heap.c b/tools/testing/selftests/futex/functional/futex_wait_uninitialized_heap.c
> index fe7aee96844b..d237a8b702f0 100644
> --- a/tools/testing/selftests/futex/functional/futex_wait_uninitialized_heap.c
> +++ b/tools/testing/selftests/futex/functional/futex_wait_uninitialized_heap.c
> @@ -36,6 +36,7 @@
>  #include "logging.h"
>  #include "futextest.h"
>  
> +#define TEST_NAME "futex-wait-uninitialized-heap"
>  #define WAIT_US 5000000
>  
>  static int child_blocked = 1;
> @@ -119,6 +120,6 @@ int main(int argc, char **argv)
>  	}
>  
>   out:
> -	print_result(ret);
> +	print_result(TEST_NAME, ret);
>  	return ret;
>  }
> diff --git a/tools/testing/selftests/futex/functional/futex_wait_wouldblock.c b/tools/testing/selftests/futex/functional/futex_wait_wouldblock.c
> index b6b027448825..9a2c56fa7305 100644
> --- a/tools/testing/selftests/futex/functional/futex_wait_wouldblock.c
> +++ b/tools/testing/selftests/futex/functional/futex_wait_wouldblock.c
> @@ -28,6 +28,7 @@
>  #include "futextest.h"
>  #include "logging.h"
>  
> +#define TEST_NAME "futex-wait-wouldblock"
>  #define timeout_ns 100000
>  
>  void usage(char *prog)
> @@ -74,6 +75,6 @@ int main(int argc, char *argv[])
>  		ret = RET_FAIL;
>  	}
>  
> -	print_result(ret);
> +	print_result(TEST_NAME, ret);
>  	return ret;
>  }
> diff --git a/tools/testing/selftests/futex/include/logging.h b/tools/testing/selftests/futex/include/logging.h
> index e14469103f07..4e7944984fbb 100644
> --- a/tools/testing/selftests/futex/include/logging.h
> +++ b/tools/testing/selftests/futex/include/logging.h
> @@ -107,7 +107,7 @@ void log_verbosity(int level)
>   *
>   * print_result() is primarily intended for functional tests.
>   */
> -void print_result(int ret)
> +void print_result(const char *test_name, int ret)
>  {
>  	const char *result = "Unknown return code";
>  
> @@ -124,7 +124,7 @@ void print_result(int ret)
>  		result = FAIL;
>  		break;
>  	}
> -	printf("Result: %s\n", result);
> +	printf("selftests: %s [%s]\n", test_name, result);
>  }
>  
>  /* log level macros */
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux