diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2017-03-02 14:32:52 +0100 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2017-03-15 13:47:20 +0000 |
commit | 7c1ec8c8e763f9ab59f0de3ee25d2cd325d7480e (patch) | |
tree | 3cb4dca33a93b2318785f4355ac1732a14fc11bb /tests/ctrl | |
parent | 6761c3f6268909d2bbb7c7e3dd85addc8004671e (diff) |
ctrl_type_vals: explicitly terminate
Don't use CTRL_TYPE_UNKNOWN as value_string[] terminator, use an explicit, more
obvious { 0, NULL } termination. Set an explicit string for CTRL_TYPE_UNKNOWN.
No other value_string[]s to date have such a "hidden" terminator.
BTW, a { 0, "string" } item is not a terminator, only { 0, NULL } is, so we can
set a string for CTRL_TYPE_UNKNOWN == 0.
Also, having a string value for CTRL_TYPE_UNKNOWN is not harmful because all
code paths explicitly check for the CTRL_TYPE_*s that are valid.
Adjust the test expectation.
From the ctrl_type_vals enum, remove the = 0, because it is implicitly 0
anyway.
One motivation to press this fixup: I am trying to add a script that checks
whether all value_string[]s are terminated to our jenkins jobs, and to find
that this one is terminated, it would need to interpret the CTRL_TYPE_UNKNOWN
constant, which would make things far more complex. At this point, all of the
value_string[]s have an explicit termination, and I would like to enforce this
from now on -- for readable code and to not spend more time on the validator.
The patch adding ctrl_type_vals (Icd4e96dd9f00876cb70b43cfcf42ab4f10311b28) was
accepted by another reviewer before I could reconfirm my -1, so this is a fixup
to enable the termination checking script patches.
Related: I2bc93ab4781487e7685cfb63091a489cd126b1a8 (adds script to libosmocore)
I7fe3678b524d602fc6aa14bc0ed06308df809a3e (uses in jenkins.sh)
Icd4e96dd9f00876cb70b43cfcf42ab4f10311b28 (adds ctrl_type_vals)
Change-Id: Ia99f37464c7b36b587da2cc78f52c82725f02cbc
Diffstat (limited to 'tests/ctrl')
-rw-r--r-- | tests/ctrl/ctrl_test.ok | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/ctrl/ctrl_test.ok b/tests/ctrl/ctrl_test.ok index c4b05e9a..8f97a27f 100644 --- a/tests/ctrl/ctrl_test.ok +++ b/tests/ctrl/ctrl_test.ok @@ -1,5 +1,5 @@ Checking ctrl types... -ctrl type 0 is unknown 0x0 [PARSE FAILED] +ctrl type 0 is (unknown) -> 0 OK ctrl type 1 is GET -> 1 OK ctrl type 2 is SET -> 2 OK ctrl type 3 is GET_REPLY -> 3 OK |