Commit 542abe80 authored by Andrey Vagin's avatar Andrey Vagin Committed by Pavel Emelyanov

zdtm:fifo: write a few data in the fifo descriptor and check them

Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 1177299b
...@@ -14,11 +14,16 @@ const char *test_author = "Roman Kagan <rkagan@parallels.com>"; ...@@ -14,11 +14,16 @@ const char *test_author = "Roman Kagan <rkagan@parallels.com>";
char *filename; char *filename;
TEST_OPTION(filename, string, "file name", 1); TEST_OPTION(filename, string, "file name", 1);
#define BUF_SIZE (16 * 4096) /* A fifo buffer has 16 slots by default */
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
int fd; int fd;
struct stat st; struct stat st;
mode_t mode = S_IFIFO | 0700; mode_t mode = S_IFIFO | 0700;
uint8_t buf[BUF_SIZE];
uint32_t crc;
int ret;;
test_init(argc, argv); test_init(argc, argv);
...@@ -33,9 +38,29 @@ int main(int argc, char **argv) ...@@ -33,9 +38,29 @@ int main(int argc, char **argv)
return 1; return 1;
} }
crc = ~0;
datagen(buf, BUF_SIZE, &crc);
ret = write(fd, buf, BUF_SIZE);
if (ret != BUF_SIZE) {
err("write() failed\n");
return 1;
}
test_daemon(); test_daemon();
test_waitsig(); test_waitsig();
ret = read(fd, buf, BUF_SIZE);
if (ret != BUF_SIZE) {
err("read() failed\n");
return 1;
}
crc = ~0;
if (datachk(buf, BUF_SIZE, &crc)) {
fail("data corrupted\n");
return 1;
}
if (close(fd) < 0) { if (close(fd) < 0) {
fail("can't close %s: %m", filename); fail("can't close %s: %m", filename);
return 1; return 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment