Re: [PATCH] tools: msgque improve error handling when not running as root

From: Davidlohr Bueso
Date: Wed Jun 25 2014 - 16:22:22 EST


On Wed, 2014-06-25 at 14:15 -0600, Shuah Khan wrote:
> On 06/25/2014 02:05 PM, Davidlohr Bueso wrote:
> > On Wed, 2014-06-25 at 13:40 -0600, Shuah Khan wrote:
> >> The test fails in the middle when it is not run as root while
> >> accessing /proc/sys/kernel/msg_next_id. Changed it to check
> >> for root at the beginning of the test. Also added messages
> >> to indicate start and test pass status.
> >>
> >> Signed-off-by: Shuah Khan <shuah.kh@xxxxxxxxxxx>
> >> ---
> >> tools/testing/selftests/ipc/msgque.c | 7 +++++++
> >> 1 file changed, 7 insertions(+)
> >>
> >> diff --git a/tools/testing/selftests/ipc/msgque.c b/tools/testing/selftests/ipc/msgque.c
> >> index aa290c0..30c627a 100644
> >> --- a/tools/testing/selftests/ipc/msgque.c
> >> +++ b/tools/testing/selftests/ipc/msgque.c
> >> @@ -193,6 +193,12 @@ int main(int argc, char **argv)
> >> int msg, pid, err;
> >> struct msgque_data msgque;
> >>
> >> + if (getuid() != 0) {
> >> + fprintf(stderr, "Please run the test as root - Exiting.\n");
> >> + exit(1);
> >> + }
> >
> > Please use err(3).
>
> I will make this printf to be consistent with the rest of the
> printfs in this file.

Can you please update the file then. err(EXIT_FAILURE, ...) is a lot
nicer than fprintf+exit combos all over the place.

>
> >
> >> + printf("Starting ipc tests:\n");
> >
> > This is unnecessary and adds nothing to the program.
>
> The reason for doing this is it becomes easier to parse when this test
> is run as part of run_tests at the top level:

Parsing reasons should not determine such things. What if I add shm, or
semaphore tests to the ipc dir?? Then the text would be bogus. What if
not all tests pass? There is no way of determining a percentage of
completeness. Please do not add such things for a simple msg queue
program as it doesn't necessarily represent ipc selftests.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/