Message ID | 20220824094029.1634519-39-bmeng.cn@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tests/qtest: Enable running qtest on Windows | expand |
On 24/08/2022 11.40, Bin Meng wrote: > From: Xuzhou Cheng <xuzhou.cheng@windriver.com> > > By default Windows opens file in text mode, while a POSIX compliant > implementation treats text files and binary files the same. > > The fopen() 'mode' string can include the letter 'b' to indicate > binary mode shall be used. POSIX spec says the character 'b' shall > have no effect, but is allowed for ISO C standard conformance. > Let's add the letter 'b' which works on both POSIX and Windows. > > Similar situation applies to the open() 'flags' where O_BINARY is > used for binary mode. > > Signed-off-by: Xuzhou Cheng <xuzhou.cheng@windriver.com> > Signed-off-by: Bin Meng <bin.meng@windriver.com> > --- > > tests/qtest/ahci-test.c | 2 +- > tests/qtest/ide-test.c | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/tests/qtest/ahci-test.c b/tests/qtest/ahci-test.c > index bce9ff770c..be11508c75 100644 > --- a/tests/qtest/ahci-test.c > +++ b/tests/qtest/ahci-test.c > @@ -1453,7 +1453,7 @@ static int prepare_iso(size_t size, unsigned char **buf, char **name) > * Close the file and reopen it. > */ > close(fd); > - fd = open(cdrom_path, O_WRONLY); > + fd = open(cdrom_path, O_WRONLY | O_BINARY); > g_assert(fd != -1); > #endif Could you please squash this hunk into patch 32/51 where you introduced this code? Thomas
Hi On Wed, Aug 24, 2022 at 3:08 PM Bin Meng <bmeng.cn@gmail.com> wrote: > From: Xuzhou Cheng <xuzhou.cheng@windriver.com> > > By default Windows opens file in text mode, while a POSIX compliant > implementation treats text files and binary files the same. > > The fopen() 'mode' string can include the letter 'b' to indicate > binary mode shall be used. POSIX spec says the character 'b' shall > have no effect, but is allowed for ISO C standard conformance. > Let's add the letter 'b' which works on both POSIX and Windows. > > Similar situation applies to the open() 'flags' where O_BINARY is > used for binary mode. > > Signed-off-by: Xuzhou Cheng <xuzhou.cheng@windriver.com> > Signed-off-by: Bin Meng <bin.meng@windriver.com> > --- > > tests/qtest/ahci-test.c | 2 +- > tests/qtest/ide-test.c | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/tests/qtest/ahci-test.c b/tests/qtest/ahci-test.c > index bce9ff770c..be11508c75 100644 > --- a/tests/qtest/ahci-test.c > +++ b/tests/qtest/ahci-test.c > @@ -1453,7 +1453,7 @@ static int prepare_iso(size_t size, unsigned char > **buf, char **name) > * Close the file and reopen it. > */ > close(fd); > - fd = open(cdrom_path, O_WRONLY); > + fd = open(cdrom_path, O_WRONLY | O_BINARY); > g_assert(fd != -1); > that should be gone in next iteration, with g_mkstemp() usage. > #endif > > diff --git a/tests/qtest/ide-test.c b/tests/qtest/ide-test.c > index c5cad6c0be..ee03dea4fa 100644 > --- a/tests/qtest/ide-test.c > +++ b/tests/qtest/ide-test.c > @@ -892,7 +892,7 @@ static void cdrom_pio_impl(int nblocks) > > /* Prepopulate the CDROM with an interesting pattern */ > generate_pattern(pattern, patt_len, ATAPI_BLOCK_SIZE); > - fh = fopen(tmp_path, "w+"); > + fh = fopen(tmp_path, "wb+"); > ret = fwrite(pattern, ATAPI_BLOCK_SIZE, patt_blocks, fh); > g_assert_cmpint(ret, ==, patt_blocks); > fclose(fh); > @@ -993,7 +993,7 @@ static void test_cdrom_dma(void) > prdt[0].size = cpu_to_le32(len | PRDT_EOT); > > generate_pattern(pattern, ATAPI_BLOCK_SIZE * 16, ATAPI_BLOCK_SIZE); > - fh = fopen(tmp_path, "w+"); > + fh = fopen(tmp_path, "wb+"); > ret = fwrite(pattern, ATAPI_BLOCK_SIZE, 16, fh); > g_assert_cmpint(ret, ==, 16); > fclose(fh); > -- > 2.34.1 > > > ack this part, Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
diff --git a/tests/qtest/ahci-test.c b/tests/qtest/ahci-test.c index bce9ff770c..be11508c75 100644 --- a/tests/qtest/ahci-test.c +++ b/tests/qtest/ahci-test.c @@ -1453,7 +1453,7 @@ static int prepare_iso(size_t size, unsigned char **buf, char **name) * Close the file and reopen it. */ close(fd); - fd = open(cdrom_path, O_WRONLY); + fd = open(cdrom_path, O_WRONLY | O_BINARY); g_assert(fd != -1); #endif diff --git a/tests/qtest/ide-test.c b/tests/qtest/ide-test.c index c5cad6c0be..ee03dea4fa 100644 --- a/tests/qtest/ide-test.c +++ b/tests/qtest/ide-test.c @@ -892,7 +892,7 @@ static void cdrom_pio_impl(int nblocks) /* Prepopulate the CDROM with an interesting pattern */ generate_pattern(pattern, patt_len, ATAPI_BLOCK_SIZE); - fh = fopen(tmp_path, "w+"); + fh = fopen(tmp_path, "wb+"); ret = fwrite(pattern, ATAPI_BLOCK_SIZE, patt_blocks, fh); g_assert_cmpint(ret, ==, patt_blocks); fclose(fh); @@ -993,7 +993,7 @@ static void test_cdrom_dma(void) prdt[0].size = cpu_to_le32(len | PRDT_EOT); generate_pattern(pattern, ATAPI_BLOCK_SIZE * 16, ATAPI_BLOCK_SIZE); - fh = fopen(tmp_path, "w+"); + fh = fopen(tmp_path, "wb+"); ret = fwrite(pattern, ATAPI_BLOCK_SIZE, 16, fh); g_assert_cmpint(ret, ==, 16); fclose(fh);