[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v1 09/24] tests/tcg: move architecture independe
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v1 09/24] tests/tcg: move architecture independent tests into subdir |
Date: |
Mon, 16 Apr 2018 10:01:03 +0100 |
User-agent: |
mu4e 1.1.0; emacs 26.1 |
Philippe Mathieu-Daudé <address@hidden> writes:
> Hi Alex,
>
> On 04/10/2018 04:39 PM, Alex Bennée wrote:
>> We will want to build these for all supported guest architectures so
>> lets move them all into one place. We also drop test_path at this
>> point because it needs qemu utils and glib bits which is hard to
>> support for cross compiling.
>
> Can we keep it for the $target==$host case (or when NOT cross
> compiling)? Maybe move it to tests/tcg/host/test_path.c
I'd rather not have tests/tcg/ including anything from QEMU as that
implies more libraries and hence a trickier cross-compile environment.
That said I didn't actually dig into what exactly
init_paths("/tmp/qemu-test_path") was intended to achieve.
>
>>
>> Signed-off-by: Alex Bennée <address@hidden>
>> ---
>> tests/tcg/README | 10 +--
>> tests/tcg/multiarch/README | 1 +
>> tests/tcg/{ => multiarch}/linux-test.c | 0
>> tests/tcg/{ => multiarch}/sha1.c | 0
>> tests/tcg/{ => multiarch}/test-mmap.c | 0
>> tests/tcg/{ => multiarch}/testthread.c | 0
>> tests/tcg/test_path.c | 157
>> ---------------------------------
>> 7 files changed, 5 insertions(+), 163 deletions(-)
>> create mode 100644 tests/tcg/multiarch/README
>> rename tests/tcg/{ => multiarch}/linux-test.c (100%)
>> rename tests/tcg/{ => multiarch}/sha1.c (100%)
>> rename tests/tcg/{ => multiarch}/test-mmap.c (100%)
>> rename tests/tcg/{ => multiarch}/testthread.c (100%)
>> delete mode 100644 tests/tcg/test_path.c
>>
>> diff --git a/tests/tcg/README b/tests/tcg/README
>> index 5dcfb4852b..0890044cf0 100644
>> --- a/tests/tcg/README
>> +++ b/tests/tcg/README
>> @@ -1,9 +1,7 @@
>> -This directory contains various interesting programs for
>> -regression testing.
>> -
>> -The target "make test" runs the programs and, if applicable,
>> -runs "diff" to detect mismatches between output on the host and
>> -output on QEMU.
>> +This directory contains various interesting guest programs for
>> +regression testing. Tests are either multi-arch, meaning they can be
>> +built for all guest architectures that support linux-user executable,
>> +or they are architecture specific.
>>
>> i386
>> ====
>> diff --git a/tests/tcg/multiarch/README b/tests/tcg/multiarch/README
>> new file mode 100644
>> index 0000000000..522c9d2ea3
>> --- /dev/null
>> +++ b/tests/tcg/multiarch/README
>> @@ -0,0 +1 @@
>> +Multi-architecture linux-user tests
>> diff --git a/tests/tcg/linux-test.c b/tests/tcg/multiarch/linux-test.c
>> similarity index 100%
>> rename from tests/tcg/linux-test.c
>> rename to tests/tcg/multiarch/linux-test.c
>> diff --git a/tests/tcg/sha1.c b/tests/tcg/multiarch/sha1.c
>> similarity index 100%
>> rename from tests/tcg/sha1.c
>> rename to tests/tcg/multiarch/sha1.c
>> diff --git a/tests/tcg/test-mmap.c b/tests/tcg/multiarch/test-mmap.c
>> similarity index 100%
>> rename from tests/tcg/test-mmap.c
>> rename to tests/tcg/multiarch/test-mmap.c
>> diff --git a/tests/tcg/testthread.c b/tests/tcg/multiarch/testthread.c
>> similarity index 100%
>> rename from tests/tcg/testthread.c
>> rename to tests/tcg/multiarch/testthread.c
>> diff --git a/tests/tcg/test_path.c b/tests/tcg/test_path.c
>> deleted file mode 100644
>> index 1c29bce263..0000000000
>> --- a/tests/tcg/test_path.c
>> +++ /dev/null
>> @@ -1,157 +0,0 @@
>> -/* Test path override code */
>> -#include "config-host.h"
>> -#include "util/cutils.c"
>> -#include "util/hexdump.c"
>> -#include "util/iov.c"
>> -#include "util/path.c"
>> -#include "util/qemu-timer-common.c"
>> -#include <stdarg.h>
>> -#include <sys/stat.h>
>> -#include <fcntl.h>
>> -
>> -void qemu_log(const char *fmt, ...);
>> -
>> -/* Any log message kills the test. */
>> -void qemu_log(const char *fmt, ...)
>> -{
>> - va_list ap;
>> -
>> - fprintf(stderr, "FATAL: ");
>> - va_start(ap, fmt);
>> - vfprintf(stderr, fmt, ap);
>> - va_end(ap);
>> - exit(1);
>> -}
>> -
>> -#define NO_CHANGE(_path) \
>> - do { \
>> - if (strcmp(path(_path), _path) != 0) return __LINE__; \
>> - } while(0)
>> -
>> -#define CHANGE_TO(_path, _newpath) \
>> - do { \
>> - if (strcmp(path(_path), _newpath) != 0) return __LINE__; \
>> - } while(0)
>> -
>> -static void cleanup(void)
>> -{
>> - unlink("/tmp/qemu-test_path/DIR1/DIR2/FILE");
>> - unlink("/tmp/qemu-test_path/DIR1/DIR2/FILE2");
>> - unlink("/tmp/qemu-test_path/DIR1/DIR2/FILE3");
>> - unlink("/tmp/qemu-test_path/DIR1/DIR2/FILE4");
>> - unlink("/tmp/qemu-test_path/DIR1/DIR2/FILE5");
>> - rmdir("/tmp/qemu-test_path/DIR1/DIR2");
>> - rmdir("/tmp/qemu-test_path/DIR1/DIR3");
>> - rmdir("/tmp/qemu-test_path/DIR1");
>> - rmdir("/tmp/qemu-test_path");
>> -}
>> -
>> -static unsigned int do_test(void)
>> -{
>> - if (mkdir("/tmp/qemu-test_path", 0700) != 0)
>> - return __LINE__;
>> -
>> - if (mkdir("/tmp/qemu-test_path/DIR1", 0700) != 0)
>> - return __LINE__;
>> -
>> - if (mkdir("/tmp/qemu-test_path/DIR1/DIR2", 0700) != 0)
>> - return __LINE__;
>> -
>> - if (mkdir("/tmp/qemu-test_path/DIR1/DIR3", 0700) != 0)
>> - return __LINE__;
>> -
>> - if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE", 0600)) != 0)
>> - return __LINE__;
>> -
>> - if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE2", 0600)) != 0)
>> - return __LINE__;
>> -
>> - if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE3", 0600)) != 0)
>> - return __LINE__;
>> -
>> - if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE4", 0600)) != 0)
>> - return __LINE__;
>> -
>> - if (close(creat("/tmp/qemu-test_path/DIR1/DIR2/FILE5", 0600)) != 0)
>> - return __LINE__;
>> -
>> - init_paths("/tmp/qemu-test_path");
>> -
>> - NO_CHANGE("/tmp");
>> - NO_CHANGE("/tmp/");
>> - NO_CHANGE("/tmp/qemu-test_path");
>> - NO_CHANGE("/tmp/qemu-test_path/");
>> - NO_CHANGE("/tmp/qemu-test_path/D");
>> - NO_CHANGE("/tmp/qemu-test_path/DI");
>> - NO_CHANGE("/tmp/qemu-test_path/DIR");
>> - NO_CHANGE("/tmp/qemu-test_path/DIR1");
>> - NO_CHANGE("/tmp/qemu-test_path/DIR1/");
>> -
>> - NO_CHANGE("/D");
>> - NO_CHANGE("/DI");
>> - NO_CHANGE("/DIR");
>> - NO_CHANGE("/DIR2");
>> - NO_CHANGE("/DIR1.");
>> -
>> - CHANGE_TO("/DIR1", "/tmp/qemu-test_path/DIR1");
>> - CHANGE_TO("/DIR1/", "/tmp/qemu-test_path/DIR1");
>> -
>> - NO_CHANGE("/DIR1/D");
>> - NO_CHANGE("/DIR1/DI");
>> - NO_CHANGE("/DIR1/DIR");
>> - NO_CHANGE("/DIR1/DIR1");
>> -
>> - CHANGE_TO("/DIR1/DIR2", "/tmp/qemu-test_path/DIR1/DIR2");
>> - CHANGE_TO("/DIR1/DIR2/", "/tmp/qemu-test_path/DIR1/DIR2");
>> -
>> - CHANGE_TO("/DIR1/DIR3", "/tmp/qemu-test_path/DIR1/DIR3");
>> - CHANGE_TO("/DIR1/DIR3/", "/tmp/qemu-test_path/DIR1/DIR3");
>> -
>> - NO_CHANGE("/DIR1/DIR2/F");
>> - NO_CHANGE("/DIR1/DIR2/FI");
>> - NO_CHANGE("/DIR1/DIR2/FIL");
>> - NO_CHANGE("/DIR1/DIR2/FIL.");
>> -
>> - CHANGE_TO("/DIR1/DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
>> - CHANGE_TO("/DIR1/DIR2/FILE2", "/tmp/qemu-test_path/DIR1/DIR2/FILE2");
>> - CHANGE_TO("/DIR1/DIR2/FILE3", "/tmp/qemu-test_path/DIR1/DIR2/FILE3");
>> - CHANGE_TO("/DIR1/DIR2/FILE4", "/tmp/qemu-test_path/DIR1/DIR2/FILE4");
>> - CHANGE_TO("/DIR1/DIR2/FILE5", "/tmp/qemu-test_path/DIR1/DIR2/FILE5");
>> -
>> - NO_CHANGE("/DIR1/DIR2/FILE6");
>> - NO_CHANGE("/DIR1/DIR2/FILE/X");
>> -
>> - CHANGE_TO("/DIR1/../DIR1", "/tmp/qemu-test_path/DIR1");
>> - CHANGE_TO("/DIR1/../DIR1/", "/tmp/qemu-test_path/DIR1");
>> - CHANGE_TO("/../DIR1", "/tmp/qemu-test_path/DIR1");
>> - CHANGE_TO("/../DIR1/", "/tmp/qemu-test_path/DIR1");
>> - CHANGE_TO("/DIR1/DIR2/../DIR2", "/tmp/qemu-test_path/DIR1/DIR2");
>> - CHANGE_TO("/DIR1/DIR2/../DIR2/../../DIR1/DIR2/FILE",
>> "/tmp/qemu-test_path/DIR1/DIR2/FILE");
>> - CHANGE_TO("/DIR1/DIR2/../DIR2/FILE",
>> "/tmp/qemu-test_path/DIR1/DIR2/FILE");
>> -
>> - NO_CHANGE("/DIR1/DIR2/../DIR1");
>> - NO_CHANGE("/DIR1/DIR2/../FILE");
>> -
>> - CHANGE_TO("/./DIR1/DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
>> - CHANGE_TO("/././DIR1/DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
>> - CHANGE_TO("/DIR1/./DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
>> - CHANGE_TO("/DIR1/././DIR2/FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
>> - CHANGE_TO("/DIR1/DIR2/./FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
>> - CHANGE_TO("/DIR1/DIR2/././FILE", "/tmp/qemu-test_path/DIR1/DIR2/FILE");
>> - CHANGE_TO("/./DIR1/./DIR2/./FILE",
>> "/tmp/qemu-test_path/DIR1/DIR2/FILE");
>> -
>> - return 0;
>> -}
>> -
>> -int main(int argc, char *argv[])
>> -{
>> - int ret;
>> -
>> - ret = do_test();
>> - cleanup();
>> - if (ret) {
>> - fprintf(stderr, "test_path: failed on line %i\n", ret);
>> - return 1;
>> - }
>> - return 0;
>> -}
>>
--
Alex Bennée
- Re: [Qemu-devel] [PATCH v1 03/24] configure: move i386_cc to cross_cc_i386, (continued)
- [Qemu-devel] [PATCH v1 06/24] docker: extend "cc" command to accept compiler, Alex Bennée, 2018/04/10
- [Qemu-devel] [PATCH v1 07/24] docker: allow "cc" command to run in user context, Alex Bennée, 2018/04/10
- [Qemu-devel] [PATCH v1 09/24] tests/tcg: move architecture independent tests into subdir, Alex Bennée, 2018/04/10
- [Qemu-devel] [PATCH v1 13/24] tests/tcg/i386: move test-i386-sse.c to tests/tcg/x86_64/test-sse.c, Alex Bennée, 2018/04/10
- [Qemu-devel] [PATCH v1 10/24] tests/tcg/multiarch: Build fix for linux-test, Alex Bennée, 2018/04/10
- [Qemu-devel] [PATCH v1 14/24] tests/tcg/i386: fix test-i386, Alex Bennée, 2018/04/10
- [Qemu-devel] [PATCH v1 15/24] tests/tcg/i368: fix hello-i386, Alex Bennée, 2018/04/10