[PATCH v1] tests: getcwd.test
Jay Joshi
jay.r.joshi100 at gmail.com
Sun Mar 20 05:42:08 UTC 2016
On Sun, Mar 20, 2016 at 7:08 AM, Dmitry V. Levin <ldv at altlinux.org> wrote:
> On Sun, Mar 20, 2016 at 01:19:16AM +0530, Jay Joshi wrote:
>> --- /dev/null
>> +++ b/tests/getcwd.c
>> @@ -0,0 +1,40 @@
>> +#include "tests.h"
>> +
>> +#include <sys/syscall.h>
>> +
>> +#ifdef __NR_getcwd
>> +
>> +# include <stdio.h>
>> +# include <unistd.h>
>> +# include <errno.h>
>
> <nitpick> You no longer need <errno.h>. </nitpick>
>
>> +# include <sys/param.h>
>> +
>> +int
>> +main(void)
>> +{
>> + long res;
>> + char cur_dir[PATH_MAX + 1];
>> +
>> + res = syscall(__NR_getcwd, cur_dir, sizeof(cur_dir));
>> +
>> + if (res <= 0)
>> + perror_msg_and_fail("getcwd");
>> +
>> + printf("getcwd(\"");
>> + print_quoted_string(cur_dir);
>> + printf("\", %zu) = %ld\n", sizeof(cur_dir), res);
>> +
>> + syscall(__NR_getcwd, cur_dir, 0);
>> +
>> + printf("getcwd(%p, 0) = -1 ERANGE (%m)\n", cur_dir);
>> +
>> + puts("+++ exited with 0 +++");
>> +
>> + return 0;
>> +}
>
> Please reindent with TABs.
>
>> --- /dev/null
>> +++ b/tests/getcwd.test
>> @@ -0,0 +1,13 @@
>> +#!/bin/sh
>> +
>> +# Check getcwd syscall decoding
>
> This sentence should end with a period.
>
>> +print_quoted_string(const char *str)
>> +{
>> + unsigned int i=0;
>> + int c;
>> +
>> + while ((c = str[i++]) != '\0') {
>
> Wouldn't it be better without an iterator? e.g.
> while ((c = *(str++))) {
>
>> + if (c >= ' ' && c <= 0x7e)
>> + printf("%c",c);
>
> Wouldn't putchar(c) in cases like this look simpler?
>
>> + printf("\0");
>
> What is this?
>
>> --- a/tests/tests.h
>> +++ b/tests/tests.h
>> @@ -75,6 +75,9 @@ const char *hexquote_strndup(const char *, size_t);
>> /* Return inode number of socket descriptor. */
>> unsigned long inode_of_sockfd(int);
>>
>> +/* Print string in escaped format */
> This sentence should end with a period.
>
Patch is attached.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: c.patch
Type: text/x-patch
Size: 4795 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20160320/abe9e23e/attachment.bin>
More information about the Strace-devel
mailing list