selftests: watchdog: use getopt_long()
authorEugeniu Rosca <erosca@de.adit-jv.com>
Sat, 1 Jul 2017 12:57:26 +0000 (14:57 +0200)
committerShuah Khan <shuahkh@osg.samsung.com>
Mon, 24 Jul 2017 18:36:29 +0000 (12:36 -0600)
commit749fb263b304faf60adbbf34988624fa7f33db1b
tree3a78030d4d2f84776fc5793b48affd082189db28
parent0c528da87790db4ba1ec440931b9bb2b506eac79
selftests: watchdog: use getopt_long()

Switch from manual argv[] parsing to getopt_long() argument processing.
This creates more readable code and allows easier feature addition.
This also fixes some segmentation faults introduced by
commit 1dbdcc810928 ("selftests: watchdog: accept multiple params on
command line"), when options -t or -p are not given the required value:

./watchdog-test -p 1 -t
./watchdog-test -t 1 -p

No changes are intended in the way watchdog-test interacts with the
kernel. The only noticible changes, tightly related to the addition
of getopt (and done for easier maintenance),  are:
- help message has been reworked and migrated to a dedicated function.
- all short/long options and the help message are sorted alphabetically.
- all case statements inside the getopt loop are sorted alphabetically.

Fixes: 1dbdcc810928 ("selftests: watchdog: accept multiple params on command line")
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
tools/testing/selftests/watchdog/watchdog-test.c