qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] crypto: fix initialization of crypto in tests


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PATCH] crypto: fix initialization of crypto in tests
Date: Tue, 4 Oct 2016 16:21:03 +0100
User-agent: Mutt/1.7.0 (2016-08-17)

* Daniel P. Berrange (address@hidden) wrote:
> The test-io-channel-tls test was missing a call to qcrypto_init
> and test-crypto-hash was initializing it multiple times,
> 
> Signed-off-by: Daniel P. Berrange <address@hidden>

I still seem to have a failure on rhel6 with this; but not everytime,
maybe it's passing 10-20%ish ?

Dave

GTESTER tests/test-io-channel-tls
test-io-channel-tls: ath.c:193: _gcry_ath_mutex_lock: Assertion `*lock == 
((ath_mutex_t) 0)' failed.
GTester: last random seed: R02S804c19865af34376817b500c2a170214

#12 0x00007ffff66cd186 in ?? () from /usr/lib64/libgnutls.so.26
#13 0x00007ffff66ca546 in _gnutls_recv_int () from /usr/lib64/libgnutls.so.26
#14 0x00007ffff7f75f8d in qcrypto_tls_session_read (session=<value optimized 
out>, buf=<value optimized out>,
    len=<value optimized out>) at /root/hmp/qemu/crypto/tlssession.c:420
#15 0x00007ffff7f6d5e7 in qio_channel_tls_readv (ioc=<value optimized out>, 
iov=<value optimized out>, niov=250,
    fds=<value optimized out>, nfds=<value optimized out>, errp=0x7ffff837a850)
    at /root/hmp/qemu/io/channel-tls.c:249
#16 0x00007ffff7f686ca in test_io_thread_reader (opaque=0x7ffff837a800)
    at /root/hmp/qemu/tests/io-channel-helpers.c:129
#17 0x00007ffff7459374 in ?? () from /lib64/libglib-2.0.so.0
#18 0x00007ffff5afbaa1 in start_thread () from /lib64/libpthread.so.0
#19 0x00007ffff5848aad in clone () from /lib64/libc.so.6

> ---
>  tests/test-crypto-hash.c    | 12 ++----------
>  tests/test-io-channel-tls.c |  3 +++
>  2 files changed, 5 insertions(+), 10 deletions(-)
> 
> diff --git a/tests/test-crypto-hash.c b/tests/test-crypto-hash.c
> index 42fc77a..214a9f7 100644
> --- a/tests/test-crypto-hash.c
> +++ b/tests/test-crypto-hash.c
> @@ -89,8 +89,6 @@ static void test_hash_alloc(void)
>  {
>      size_t i;
>  
> -    g_assert(qcrypto_init(NULL) == 0);
> -
>      for (i = 0; i < G_N_ELEMENTS(expected_outputs) ; i++) {
>          uint8_t *result = NULL;
>          size_t resultlen = 0;
> @@ -123,8 +121,6 @@ static void test_hash_prealloc(void)
>  {
>      size_t i;
>  
> -    g_assert(qcrypto_init(NULL) == 0);
> -
>      for (i = 0; i < G_N_ELEMENTS(expected_outputs) ; i++) {
>          uint8_t *result;
>          size_t resultlen;
> @@ -161,8 +157,6 @@ static void test_hash_iov(void)
>  {
>      size_t i;
>  
> -    g_assert(qcrypto_init(NULL) == 0);
> -
>      for (i = 0; i < G_N_ELEMENTS(expected_outputs) ; i++) {
>          struct iovec iov[3] = {
>              { .iov_base = (char *)INPUT_TEXT1, .iov_len = 
> strlen(INPUT_TEXT1) },
> @@ -199,8 +193,6 @@ static void test_hash_digest(void)
>  {
>      size_t i;
>  
> -    g_assert(qcrypto_init(NULL) == 0);
> -
>      for (i = 0; i < G_N_ELEMENTS(expected_outputs) ; i++) {
>          int ret;
>          char *digest;
> @@ -230,8 +222,6 @@ static void test_hash_base64(void)
>  {
>      size_t i;
>  
> -    g_assert(qcrypto_init(NULL) == 0);
> -
>      for (i = 0; i < G_N_ELEMENTS(expected_outputs) ; i++) {
>          int ret;
>          char *digest;
> @@ -253,6 +243,8 @@ static void test_hash_base64(void)
>  
>  int main(int argc, char **argv)
>  {
> +    g_assert(qcrypto_init(NULL) == 0);
> +
>      g_test_init(&argc, &argv, NULL);
>      g_test_add_func("/crypto/hash/iov", test_hash_iov);
>      g_test_add_func("/crypto/hash/alloc", test_hash_alloc);
> diff --git a/tests/test-io-channel-tls.c b/tests/test-io-channel-tls.c
> index 3c361a7..bd3ae2b 100644
> --- a/tests/test-io-channel-tls.c
> +++ b/tests/test-io-channel-tls.c
> @@ -27,6 +27,7 @@
>  #include "io/channel-tls.h"
>  #include "io/channel-socket.h"
>  #include "io-channel-helpers.h"
> +#include "crypto/init.h"
>  #include "crypto/tlscredsx509.h"
>  #include "qemu/acl.h"
>  #include "qom/object_interfaces.h"
> @@ -265,6 +266,8 @@ int main(int argc, char **argv)
>  {
>      int ret;
>  
> +    g_assert(qcrypto_init(NULL) == 0);
> +
>      module_call_init(MODULE_INIT_QOM);
>      g_test_init(&argc, &argv, NULL);
>      setenv("GNUTLS_FORCE_FIPS_MODE", "2", 1);
> -- 
> 2.7.4
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]