tree a5ceaf94070ac87bb9cd483c5aac034c1266d15c
parent 7bcfc0a9aeced4d4f011ba7865682d961e932c71
author Gilles Peskine <Gilles.Peskine@arm.com> 1529332534 +0200
committer itayzafrir <itay.zafrir@arm.com> 1536758284 +0300

Hygiene improvements in PSA crypto test code

Get rid of many redundant casts. In particular, it is not useful to
cast uint32_t values to size_t before performing arithmetic or
comparisons on them.

Rewrap a number of function calls, many of which now have narrower
arguments thanks to the removed casts. When a function call doesn't
fit on a single line, avoid grouping unrelated parameters together,
but do try to group a buffer pointer and the associated size.

Define more auxiliary variables xxx of a particular integer
type (psa_algorithm_t, psa_key_usage_t, etc.) corresponding to a test
function xxx_arg which has the type int. This avoids the need to cast
xxx_arg to an unsigned type sometimes in the code.
