Fix parsing issue when int parameter is in base 16

Fix error `ValueError: invalid literal for int() with base 10:` that
is caused when a parameter is given in base 16. Use relevant base
when calling `int()` function.
diff --git a/tests/scripts/mbedtls_test.py b/tests/scripts/mbedtls_test.py
index b7b9dc0..6ac68a4 100755
--- a/tests/scripts/mbedtls_test.py
+++ b/tests/scripts/mbedtls_test.py
@@ -80,6 +80,7 @@
         if len(split_char) > 1:
             raise ValueError('Expected split character. Found string!')
         out = list(map(split_colon_fn, re.split(r'(?<!\\)' + split_char, inp_str)))
+        out = [x for x in out if x]
         return out
 
     def __parse(self, data_f):
@@ -260,7 +261,7 @@
         data_bytes += bytearray([function_id, len(parameters)])
         for typ, param in parameters:
             if typ == 'int' or typ == 'exp':
-                i = int(param)
+                i = int(param, 0)
                 data_bytes += b'I' if typ == 'int' else b'E'
                 self.align_32bit(data_bytes)
                 data_bytes += self.int32_to_big_endian_bytes(i)