fix "aio_error" test
PATCH 1/1 fix "aio_error" test
Hi,
"conformance/interfaces/aio_error/3-1" failed with following message:
------------
conformance/interfaces/aio_error/3-1: execution: FAILED: Output:
aio_error/3-1.c bad aio_read return value()
------------
This testset seems to be the error root test for "aio_error()". Therefore, "aio_error()" must be called after failure of "aio_write()", I think.
But, "exit()" is called when expected failure of "aio_write()" occurred:
------------(3-1.c)
if (aio_write(&aiocb) != 0)
{
printf(TNAME " bad aio_read return value()\n");
exit(PTS_FAIL); }
------------
I think that "exit()" must be called when "aio_write()" succeeded.
And the message of unexpected movement of "aio_write()" is "aio_read()"'s one.
And the indent of this program "3-1.c" seems to include both space and tab. I want to revise them, too.
============
---
a/testcases/open_posix_testsuite/conformance/interfaces/aio_error/3-1.c 2010
-09-22 22:31:24.000000000 +0900
+++
b/testcases/open_posix_testsuite/conformance/interfaces/aio_error/3-1.c 2010
-09-30 09:51:42.000000000 +0900
@@ -36,42 +36,41 @@
int main()
{
-
- char tmpfname[256];
+ char tmpfname[256];
#define BUF_SIZE 512
- char buf[BUF_SIZE]; - int fd; - struct aiocb aiocb;
+ char buf[BUF_SIZE];
+ int fd;
+ struct aiocb aiocb;
int ret=0;
if (sysconf(_SC_ASYNCHRONOUS_IO) != 200112L)
return PTS_UNSUPPORTED;
- snprintf(tmpfname, sizeof(tmpfname), "/tmp/pts_aio_error_3_1_%d",
- getpid());
- unlink(tmpfname);
- fd = open(tmpfname, O_CREAT | O_RDWR | O_EXCL,
- S_IRUSR | S_IWUSR);
- if (fd == -1)
- {
- printf(TNAME " Error at open(): %s\n",
- strerror(errno));
- exit(PTS_UNRESOLVED);
- }
+ snprintf(tmpfname, sizeof(tmpfname), "/tmp/pts_aio_error_3_1_%d",
+ getpid());
+ unlink(tmpfname);
+ fd = open(tmpfname, O_CREAT | O_RDWR | O_EXCL,
+ S_IRUSR | S_IWUSR);
+ if (fd == -1)
+ {
+ printf(TNAME " Error at open(): %s\n",
+ strerror(errno));
+ exit(PTS_UNRESOLVED);
+ }
- unlink(tmpfname);
+ unlink(tmpfname);
memset (&aiocb, 0, sizeof (struct aiocb));
- aiocb.aio_fildes = fd; - aiocb.aio_buf = buf; - aiocb.aio_reqprio = -1; - aiocb.aio_nbytes = BUF_SIZE;
+ aiocb.aio_fildes = fd;
+ aiocb.aio_buf = buf;
+ aiocb.aio_reqprio = -1;
+ aiocb.aio_nbytes = BUF_SIZE;
- if (aio_write(&aiocb) != 0)
+ if (aio_write(&aiocb) == 0)
{
- printf(TNAME " bad aio_read return value()\n");
- exit(PTS_FAIL);
+ printf(TNAME " bad aio_write return value()\n");
+ exit(PTS_FAIL);
}
while (aio_error (&aiocb) == EINPROGRESS);
============
Regards--
-Tomonori Mitani
testcases/open_posix_testsuite/conformance/interfaces/aio_error/3-1.c +23 -24
@@ -36,42 +36,41 @@int main () { - -char tmpfname[256 ]; +char tmpfname[256 ];#define BUF_SIZE 512 -char buf[BUF_SIZE ]; -int fd; -struct aiocb aiocb; +char buf[BUF_SIZE ]; +int fd; +struct aiocb aiocb;int ret=0 ;if (sysconf (_SC_ASYNCHRONOUS_IO) !=200112L )return PTS_UNSUPPORTED ; -snprintf (tmpfname,sizeof (tmpfname),"/tmp/pts_aio_error_3_1_%d" , -getpid ()); -unlink (tmpfname); - fd =open (tmpfname,O_CREAT |O_RDWR |O_EXCL , -S_IRUSR |S_IWUSR ); -if (fd ==-1 ) - { -printf (TNAME " Error at open(): %s\n" , -strerror (errno)); -exit (PTS_UNRESOLVED ); - } +snprintf (tmpfname,sizeof (tmpfname),"/tmp/pts_aio_error_3_1_%d" , +getpid ()); +unlink (tmpfname); + fd =open (tmpfname,O_CREAT |O_RDWR |O_EXCL , +S_IRUSR |S_IWUSR ); +if (fd ==-1 ) + { +printf (TNAME " Error at open(): %s\n" , +strerror (errno)); +exit (PTS_UNRESOLVED ); + } -unlink (tmpfname); +unlink (tmpfname);memset (&aiocb,0 ,sizeof (struct aiocb )); - aiocb.aio_fildes = fd; - aiocb.aio_buf = buf; - aiocb.aio_reqprio =-1 ; - aiocb.aio_nbytes =BUF_SIZE ; + aiocb.aio_fildes = fd; + aiocb.aio_buf = buf; + aiocb.aio_reqprio =-1 ; + aiocb.aio_nbytes =BUF_SIZE ; -if (aio_write (&aiocb) !=0 ) +if (aio_write (&aiocb) ==0 ) { -printf (TNAME " bad aio_read return value()\n" ); -exit (PTS_FAIL ); +printf (TNAME " bad aio_write return value()\n" ); +exit (PTS_FAIL ); }while (aio_error (&aiocb) ==EINPROGRESS );
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list
Quoted 14 lines
Hi,
"conformance/interfaces/aio_error/3-1" failed with following message:
------------
conformance/interfaces/aio_error/3-1: execution: FAILED: Output:
aio_error/3-1.c badaio_readreturnvalue()
------------This testset seems to be the error root test for "
aio_error()". Therefore, "aio_error()" must be called after failure of "aio_write()", I think.
But, "exit()" is called when expected failure of "aio_write()" occurred:
------------(3-1.c)
Quoted 9 lines
if (aio_write(&aiocb) != 0) { printf(TNAME " bad aio_read return value()\n"); exit(PTS_FAIL);}
------------I think that "
exit()" must be called when "aio_write()" succeeded.
Agree.
Quoted 5 lines
And the message of unexpected movement of "
aio_write()" is "aio_read()"'s one.
And the indent of this program "3-1.c" seems to include both space and tab. I want to revise them, too.
Another one should be fix like this.
if (ret != EINVAL)
{
- printf(TNAME " errno is not EINVAL %s\n", strerror(errno));
+ printf(TNAME " errno is not EINVAL %s\n", strerror(ret));
return PTS_FAIL;
}Quoted 98 lines
Signed-off-by Tomonori Mitani <[email protected]>============
---
a/testcases/open_posix_testsuite/conformance/interfaces/aio_error/3-1.c 2010
-09-22 22:31:24.000000000 +0900
+++
b/testcases/open_posix_testsuite/conformance/interfaces/aio_error/3-1.c 2010
-09-30 09:51:42.000000000 +0900testcases/open_posix_testsuite/conformance/interfaces/aio_error/3-1.c +23
-24@@ -36,42 +36,41 @@int main () { - -char tmpfname[256 ]; +char tmpfname[256 ];#define BUF_SIZE 512 -char buf[BUF_SIZE ]; -int fd; -struct aiocb aiocb; +char buf[BUF_SIZE ]; +int fd; +struct aiocb aiocb;int ret=0 ;if (sysconf (_SC_ASYNCHRONOUS_IO) !=200112L )return PTS_UNSUPPORTED ; -snprintf (tmpfname,sizeof (tmpfname),"/tmp/pts_aio_error_3_1_%d" , -getpid ()); -unlink (tmpfname); - fd =open (tmpfname,O_CREAT |O_RDWR |O_EXCL , -S_IRUSR |S_IWUSR ); -if (fd ==-1 ) - { -printf (TNAME " Error at open(): %s\n" , -strerror (errno)); -exit (PTS_UNRESOLVED ); - } +snprintf (tmpfname,sizeof (tmpfname),"/tmp/pts_aio_error_3_1_%d" , +getpid ()); +unlink (tmpfname); + fd =open (tmpfname,O_CREAT |O_RDWR |O_EXCL , +S_IRUSR |S_IWUSR ); +if (fd ==-1 ) + { +printf (TNAME " Error at open(): %s\n" , +strerror (errno)); +exit (PTS_UNRESOLVED ); + } -unlink (tmpfname); +unlink (tmpfname);memset (&aiocb,0 ,sizeof (struct aiocb )); - aiocb.aio_fildes = fd; - aiocb.aio_buf = buf; - aiocb.aio_reqprio =-1 ; - aiocb.aio_nbytes =BUF_SIZE ; + aiocb.aio_fildes = fd; + aiocb.aio_buf = buf; + aiocb.aio_reqprio =-1 ; + aiocb.aio_nbytes =BUF_SIZE ; -if (aio_write (&aiocb) !=0 ) +if (aio_write (&aiocb) ==0 ) { -printf (TNAME " bad aio_read return value()\n" ); -exit (PTS_FAIL ); +printf (TNAME " bad aio_write return value()\n" ); +exit (PTS_FAIL ); }while (aio_error (&aiocb) ==EINPROGRESS );============
Regards--
-Tomonori Mitani
------------------------------------------------------------------------
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev------------------------------------------------------------------------
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list
Signature · 14 lines
Regards Bian Naimeng ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today. http://p.sf.net/sfu/beautyoftheweb _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
2010/10/8 Bian Naimeng <[email protected]>:
Quoted 115 lines
Quoted 21 lines
Hi,
"conformance/interfaces/aio_error/3-1" failed with following message:
------------
conformance/interfaces/aio_error/3-1: execution: FAILED: Output:
aio_error/3-1.c badaio_readreturnvalue()
------------This testset seems to be the error root test for "
aio_error()". Therefore, "aio_error()" must be called after failure of "aio_write()", I think.
But, "exit()" is called when expected failure of "aio_write()" occurred:
------------(3-1.c)
if (aio_write(&aiocb)!= 0)
{
printf(TNAME " bad aio_read return value()\n");exit(PTS_FAIL);
}
------------Quoted 2 lines
I think that "
exit()" must be called when "aio_write()" succeeded.Agree.
Quoted 5 lines
And the message of unexpected movement of "
aio_write()" is "aio_read()"'s one.
And the indent of this program "3-1.c" seems to include both space and tab. I want to revise them, too.Another one should be fix like this.
if (ret != EINVAL)
{
-printf(TNAME " errno is not EINVAL %s\n", strerror(errno));
+printf(TNAME " errno is not EINVAL %s\n", strerror(ret)); returnPTS_FAIL;
}Quoted 74 lines
Signed-off-by Tomonori Mitani <[email protected]>============
---
a/testcases/open_posix_testsuite/conformance/interfaces/aio_error/3-1.c 2010 -09-22 22:31:24.000000000 +0900
+++
b/testcases/open_posix_testsuite/conformance/interfaces/aio_error/3-1.c 2010 -09-30 09:51:42.000000000 +0900testcases/open_posix_testsuite/conformance/interfaces/aio_error/3-1.c +23
-24@@ -36,42 +36,41 @@ int main() { - - char tmpfname[256]; + char tmpfname[256]; #define BUF_SIZE 512 - char buf[BUF_SIZE]; - int fd; - struct aiocb aiocb; + char buf[BUF_SIZE]; + int fd; + struct aiocb aiocb; int ret=0; if (sysconf(_SC_ASYNCHRONOUS_IO) != 200112L) return PTS_UNSUPPORTED; - snprintf(tmpfname, sizeof(tmpfname), "/tmp/pts_aio_error_3_1_%d", - getpid()); - unlink(tmpfname); - fd = open(tmpfname, O_CREAT | O_RDWR | O_EXCL, - S_IRUSR | S_IWUSR); - if (fd == -1) - { - printf(TNAME " Error at open(): %s\n", - strerror(errno)); - exit(PTS_UNRESOLVED); - } + snprintf(tmpfname, sizeof(tmpfname), "/tmp/pts_aio_error_3_1_%d", + getpid()); + unlink(tmpfname); + fd = open(tmpfname, O_CREAT | O_RDWR | O_EXCL, + S_IRUSR | S_IWUSR); + if (fd == -1) + { + printf(TNAME " Error at open(): %s\n", + strerror(errno)); + exit(PTS_UNRESOLVED); + } - unlink(tmpfname); + unlink(tmpfname); memset (&aiocb, 0, sizeof (struct aiocb)); - aiocb.aio_fildes = fd; - aiocb.aio_buf = buf; - aiocb.aio_reqprio = -1; - aiocb.aio_nbytes = BUF_SIZE; + aiocb.aio_fildes = fd; + aiocb.aio_buf = buf; + aiocb.aio_reqprio = -1; + aiocb.aio_nbytes = BUF_SIZE; - if (aio_write(&aiocb) != 0) + if (aio_write(&aiocb) == 0) { - printf(TNAME " bad aio_read return value()\n"); - exit(PTS_FAIL); + printf(TNAME " bad aio_write return value()\n"); + exit(PTS_FAIL); }
Quoted 1 line
testcases/open_posix_testsuite/conformance/interfaces/aio_error/3-1.c line 76
Quoted 1 line
testcases/open_posix_testsuite/conformance/interfaces/aio_error/3-1.c +0
-0while (aio_error (&aiocb) == EINPROGRESS);
I'll respond to this sometime in the next couple of days after I
do some more investigation on the issue.
Thanks,
-Garrett
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list
Quoted 135 lines
-----Original Message-----
From: Garrett Cooper [mailto:[email protected]]
Sent: Wednesday, October 13, 2010 5:24 AM
To: Bian Naimeng
Cc: Mitani; [email protected]; 當座 健市
Subject: Re: [LTP] [PATCH] fix "aio_error" test2010/10/8 Bian Naimeng <[email protected]>:
Quoted 4 lines
Quoted 4 lines
Hi,
"conformance/interfaces/aio_error/3-1" failed with following
message:
Quoted 7 lines
Quoted 7 lines
------------
conformance/interfaces/aio_error/3-1: execution: FAILED: Output:
aio_error/3-1.c badaio_readreturnvalue()
------------This testset seems to be the error root test for "
aio_error()". Therefore, "aio_error()" must be called after failure of"
aio_write()",Quoted 2 lines
Quoted 2 lines
I think.
But, "exit()" is called when expected failure of "aio_write()"occurred:
Quoted 8 lines
Quoted 8 lines
------------(3-1.c)
if (aio_write(&aiocb) != 0) { printf(TNAME " bad aio_read return value()\n"); exit(PTS_FAIL);}
------------Quoted 8 lines
Quoted 2 lines
I think that "
exit()" must be called when "aio_write()" succeeded.Agree.
Quoted 3 lines
And the message of unexpected movement of "
aio_write()" is "aio_read()"'s one.
And the indent of this program "3-1.c" seems to include both spaceand tab.
Quoted 8 lines
Quoted 2 lines
I want to revise them, too.
Another one should be fix like this.
if (ret != EINVAL) {- printf(TNAME " errno is not EINVAL %s\n",
strerror(errno));
Quoted 1 line
+ printf(TNAME " errno is not EINVAL %s\n",
strerror(ret));
Quoted 8 lines
return PTS_FAIL; }Quoted 5 lines
Signed-off-by Tomonori Mitani <[email protected]>============
---a/testcases/open_posix_testsuite/conformance/interfaces/aio_error/
3-1.c 2010Quoted 3 lines
Quoted 3 lines
-09-22 22:31:24.000000000 +0900
+++b/testcases/open_posix_testsuite/conformance/interfaces/aio_error/
3-1.c 2010Quoted 17 lines
Quoted 17 lines
-09-30 09:51:42.000000000 +0900
(quoted diff) +4
-5@@ -36,42 +36,41 @@ int main() { - - char tmpfname[256]; + char tmpfname[256]; #define BUF_SIZE 512 - char buf[BUF_SIZE]; - int fd; - struct aiocb aiocb; + char buf[BUF_SIZE]; + int fd; + struct aiocb aiocb; int ret=0;Quoted 4 lines
Review line 50
Quoted 4 lines
(quoted diff) +0
-1if (sysconf(_SC_ASYNCHRONOUS_IO) != 200112L) return PTS_UNSUPPORTED; - snprintf(tmpfname, sizeof(tmpfname),"/tmp/pts_aio_error_3_1_%d",
Quoted 11 lines
Review line 49
Quoted 11 lines
(quoted diff) +1
-10- getpid()); - unlink(tmpfname); - fd = open(tmpfname, O_CREAT | O_RDWR | O_EXCL, - S_IRUSR | S_IWUSR); - if (fd == -1) - { - printf(TNAME " Error at open(): %s\n", - strerror(errno)); - exit(PTS_UNRESOLVED); - } + snprintf(tmpfname, sizeof(tmpfname),"/tmp/pts_aio_error_3_1_%d",
Quoted 34 lines
Quoted 34 lines
(quoted diff) +18
-8+ getpid()); + unlink(tmpfname); + fd = open(tmpfname, O_CREAT | O_RDWR | O_EXCL, + S_IRUSR | S_IWUSR); + if (fd == -1) + { + printf(TNAME " Error at open(): %s\n", + strerror(errno)); + exit(PTS_UNRESOLVED); + } - unlink(tmpfname); + unlink(tmpfname); memset (&aiocb, 0, sizeof (struct aiocb)); - aiocb.aio_fildes = fd; - aiocb.aio_buf = buf; - aiocb.aio_reqprio = -1; - aiocb.aio_nbytes = BUF_SIZE; + aiocb.aio_fildes = fd; + aiocb.aio_buf = buf; + aiocb.aio_reqprio = -1; + aiocb.aio_nbytes = BUF_SIZE; - if (aio_write(&aiocb) != 0) + if (aio_write(&aiocb) == 0) { - printf(TNAME " bad aio_read return value()\n"); - exit(PTS_FAIL); + printf(TNAME " bad aio_write return value()\n"); + exit(PTS_FAIL); }
Quoted 6 lines
Quoted 1 line
Review line 76
Quoted 1 line
(quoted diff) +0
-0while (aio_error (&aiocb) == EINPROGRESS);I'll respond to this sometime in the next couple of days after I
do some more investigation on the issue.
Thanks,
-Garrett
Hi,
I added Bian's following opinion to patch:
------------
Another one should be fix like this.
if (ret != EINVAL)
{
- printf(TNAME " errno is not EINVAL %s\n", strerror(errno));
+ printf(TNAME " errno is not EINVAL %s\n", strerror(ret));
return PTS_FAIL;
}------------
And I added following two modifications.
- Closing the file descriptor when exit.
- Clear "errno".
The first "unlink()" fails because the file doesn't exist. After that, ENOENT is set to "errno" and kept intact. I revised to clear "errno".
I noticed that there were similar problems in the other "aio-..." test programs. But I cannot judge whether other test programs must be revised.
I revise only "aio_error/3-1".
============
open_posix_testsuite/conformance/interfaces/aio_error/3-1.new renamed from open_posix_testsuite/conformance/interfaces/aio_error/3-1.c +27 -25
@@ -36,42 +36,43 @@ int main() { - - char tmpfname[256]; + char tmpfname[256]; #define BUF_SIZE 512 - char buf[BUF_SIZE]; - int fd; - struct aiocb aiocb; + char buf[BUF_SIZE]; + int fd; + struct aiocb aiocb; int ret=0; if (sysconf(_SC_ASYNCHRONOUS_IO) != 200112L) return PTS_UNSUPPORTED; - snprintf(tmpfname, sizeof(tmpfname), "/tmp/pts_aio_error_3_1_%d", - getpid()); - unlink(tmpfname); - fd = open(tmpfname, O_CREAT | O_RDWR | O_EXCL, - S_IRUSR | S_IWUSR); - if (fd == -1) - { - printf(TNAME " Error at open(): %s\n", - strerror(errno)); - exit(PTS_UNRESOLVED); - } + snprintf(tmpfname, sizeof(tmpfname), "/tmp/pts_aio_error_3_1_%d", + getpid()); + unlink(tmpfname); + errno = 0; + fd = open(tmpfname, O_CREAT | O_RDWR | O_EXCL, + S_IRUSR | S_IWUSR); + if (fd == -1) + { + printf(TNAME " Error at open(): %s\n", + strerror(errno)); + exit(PTS_UNRESOLVED); + } - unlink(tmpfname); + unlink(tmpfname); memset (&aiocb, 0, sizeof (struct aiocb)); - aiocb.aio_fildes = fd; - aiocb.aio_buf = buf; - aiocb.aio_reqprio = -1; - aiocb.aio_nbytes = BUF_SIZE; + aiocb.aio_fildes = fd; + aiocb.aio_buf = buf; + aiocb.aio_reqprio = -1; + aiocb.aio_nbytes = BUF_SIZE; - if (aio_write(&aiocb) != 0) + if (aio_write(&aiocb) == 0) { - printf(TNAME " bad aio_read return value()\n"); - exit(PTS_FAIL); + close(fd); + printf(TNAME " bad aio_write return value()\n"); + exit(PTS_FAIL); } while (aio_error (&aiocb) == EINPROGRESS);
@@ -79,7 +80,8 @@ if (ret != EINVAL) { - printf(TNAME " errno is not EINVAL %s\n", strerror(errno)); + close(fd); + printf(TNAME " errno is not EINVAL %s\n", strerror(ret)); return PTS_FAIL; }
============
Regards--
-Tomonori Mitani
open_posix_testsuite/conformance/interfaces/aio_error/3-1.new renamed from open_posix_testsuite/conformance/interfaces/aio_error/3-1.c +27 -25
76 lines not on this page · raw message
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list