[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v7 12/54] tests/tcg/multiarch: don't hard code p
From: |
Thomas Huth |
Subject: |
Re: [Qemu-devel] [PATCH v7 12/54] tests/tcg/multiarch: don't hard code paths/ports for linux-test |
Date: |
Mon, 18 Jun 2018 13:08:35 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 |
On 18.06.2018 12:56, Alex Bennée wrote:
>
> Thomas Huth <address@hidden> writes:
>
>> On 15.06.2018 21:46, Alex Bennée wrote:
>>> The fixed path and ports get in the way of running our tests and
>>> builds in parallel. Instead of using TESTPATH we use mkdtemp() and
>>> instead of a fixed port we allow the kernel to assign one and query it
>>> afterwards.
>>>
>>> Signed-off-by: Alex Bennée <address@hidden>
>>> ---
>>> tests/tcg/multiarch/linux-test.c | 37 ++++++++++++++++----------------
>>> 1 file changed, 19 insertions(+), 18 deletions(-)
>>>
>>> diff --git a/tests/tcg/multiarch/linux-test.c
>>> b/tests/tcg/multiarch/linux-test.c
>>> index 6f2c531474..3f73b96420 100644
>>> --- a/tests/tcg/multiarch/linux-test.c
>>> +++ b/tests/tcg/multiarch/linux-test.c
>>> @@ -41,8 +41,6 @@
>>> #include <setjmp.h>
>>> #include <sys/shm.h>
>>>
>>> -#define TESTPATH "/tmp/linux-test.tmp"
>>> -#define TESTPORT 7654
>>> #define STACK_SIZE 16384
>>>
>>> static void error1(const char *filename, int line, const char *fmt, ...)
>>> @@ -85,19 +83,15 @@ static void test_file(void)
>>> struct iovec vecs[2];
>>> DIR *dir;
>>> struct dirent *de;
>>> + char template[] = "/tmp/linux-test-XXXXXX";
>>> + char *tmpdir = mkdtemp(template);
>>>
>>> - /* clean up, just in case */
>>> - unlink(TESTPATH "/file1");
>>> - unlink(TESTPATH "/file2");
>>> - unlink(TESTPATH "/file3");
>>> - rmdir(TESTPATH);
>>> + chk_error(strlen(tmpdir));
>>
>> That line looks wrong to me. According to my man-page of mkdtemp(), it
>> returns either NULL or a pointer to the modified string.
>> In case of NULL, strlen(tmpdir) will simply crash. And even if it would
>> not crash, strlen() only returns values >= 0, so there is no way the
>> chk_error could ever report an error here.
>
> As we only really want to check we did actually do a mkdtemp would:
>
> chk_error(tmpdir)
chk_error() checks for negative values, so I guess you rather should
assert(tmpdir) here instead.
Thomas
- [Qemu-devel] [PATCH v7 10/54] tests/tcg/multiarch: Build fix for linux-test, (continued)
- Re: [Qemu-devel] [PATCH v7 12/54] tests/tcg/multiarch: don't hard code paths/ports for linux-test,
Thomas Huth <=
Re: [Qemu-devel] [PATCH v7 12/54] tests/tcg/multiarch: don't hard code paths/ports for linux-test, Philippe Mathieu-Daudé, 2018/06/16
[Qemu-devel] [PATCH v7 23/54] tests/tcg: enable building for ARM, Alex Bennée, 2018/06/15
[Qemu-devel] [PATCH v7 43/54] tests/tcg/Makefile: update to be called from Makefile.target, Alex Bennée, 2018/06/15
[Qemu-devel] [PATCH v7 09/54] tests/tcg: move architecture independent tests into subdir, Alex Bennée, 2018/06/15
[Qemu-devel] [PATCH v7 22/54] tests/tcg: move ARM specific tests into subdir, Alex Bennée, 2018/06/15
[Qemu-devel] [PATCH v7 21/54] tests/tcg/i386/test-i386: fix printf format, Alex Bennée, 2018/06/15
[Qemu-devel] [PATCH v7 15/54] tests/tcg: enable building for i386, Alex Bennée, 2018/06/15