neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/15546 )
Change subject: tdef: Introduce min_val and max_val fields ...................................................................... Patch Set 1: Code-Review-1 (7 comments) All in all very nice. Please also add range tests to all of the *.vty transcript tests, see tests/tdef/tdef_vty*, so that we can also verify the VTY behavior. BTW, in order to benefit from the range checks, all tdef users need to be changed to use osmo_tdef_set() instead of osmo_tdef_get_entry()? Do you have related patches? ... just realizing that this only needs to be done as soon as an application actually sets min and max values, so that should be fine. But this should be mentioned in the API doc of the new min and max members. https://gerrit.osmocom.org/#/c/15546/1/src/tdef.c File src/tdef.c: https://gerrit.osmocom.org/#/c/15546/1/src/tdef.c@137 PS1, Line 137: Set all osmo_tdef values to the default_val. > Please update documentation too as you're introducing additional > functionality. IMHO this doesn't need a doc update... https://gerrit.osmocom.org/#/c/15546/1/src/tdef.c@235 PS1, Line 235: EINVAL > How about ERANGE? also prefer -ERANGE. Does a cfg file with out-of-range value cause a proper errmsg and stop the program from starting? https://gerrit.osmocom.org/#/c/15546/1/src/vty/tdef_vty.c File src/vty/tdef_vty.c: https://gerrit.osmocom.org/#/c/15546/1/src/vty/tdef_vty.c@127 PS1, Line 127: Invalid T timer value %lu (should be %lu <= val <= %lu) > This message could be more concrete: […] I also prefer fixeria's errmsg, and please also output the T number (using OSMO_T_FMT and OSMO_T_FMT_ARGS like in line 90). The reason is that otherwise it is really really hard to figure out which .cfg line was responsible for the error. https://gerrit.osmocom.org/#/c/15546/1/src/vty/tdef_vty.c@128 PS1, Line 128: new_val, t->min_val, t->max_val ? : (unsigned long) -1 , VTY_NEWLINE); rather ULONG_MAX from limits.h https://gerrit.osmocom.org/#/c/15546/1/src/vty/tdef_vty.c@188 PS1, Line 188: vty_out(vty, ", range: [%lu,%lu]", t->min_val, t->max_val ? : (unsigned long) -1); ULONG_MAX https://gerrit.osmocom.org/#/c/15546/1/tests/tdef/tdef_test.c File tests/tdef/tdef_test.c: https://gerrit.osmocom.org/#/c/15546/1/tests/tdef/tdef_test.c@164 PS1, Line 164: printf("setting 7 = 10 (EINVAL)\n"); (also -ERANGE) https://gerrit.osmocom.org/#/c/15546/1/tests/tdef/tdef_test.c@183 PS1, Line 183: OSMO_ASSERT(osmo_tdef_set(tdefs, 23, 50, OSMO_TDEF_S) == -EEXIST); this is a nice test to add, but seems unrelated to this patch? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/15546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4661ac41c29a009a1d5fc57d87aaee6041c7d1b2 Gerrit-Change-Number: 15546 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pes...@sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <axilira...@gmail.com> Gerrit-Reviewer: neels <nhofm...@sysmocom.de> Gerrit-CC: laforge <lafo...@gnumonks.org> Gerrit-Comment-Date: Tue, 17 Sep 2019 23:33:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria <axilira...@gmail.com> Gerrit-MessageType: comment