Fix after PR comments

1. Don't set IV onECB
2. Fix style issues
3. reduce number of tests
diff --git a/library/cipher.c b/library/cipher.c
index 2771b05..da55206 100644
--- a/library/cipher.c
+++ b/library/cipher.c
@@ -237,15 +237,11 @@
                    const unsigned char *iv, size_t iv_len )
 {
     size_t actual_iv_size;
-    if( NULL == ctx || NULL == ctx->cipher_info ||
-        ( NULL == iv && ( ctx->cipher_info->mode != MBEDTLS_MODE_ECB ) ) )
+    if( NULL == ctx || NULL == ctx->cipher_info )
+        return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
+    else if( NULL == iv && iv_len != 0  )
         return( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
 
-    if ( ctx->cipher_info->mode == MBEDTLS_MODE_ECB  )
-    {
-            ctx->iv_size = 0;
-            return ( 0 );
-    }
     /* avoid buffer overflow in ctx->iv */
     if( iv_len > MBEDTLS_MAX_IV_LENGTH )
         return( MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE );
@@ -273,8 +269,11 @@
     }
 #endif
 
-    memcpy( ctx->iv, iv, actual_iv_size );
-    ctx->iv_size = actual_iv_size;
+    if ( actual_iv_size )
+    {
+        memcpy( ctx->iv, iv, actual_iv_size );
+        ctx->iv_size = actual_iv_size;
+    }
 
     return( 0 );
 }