[PATCH 5/7] tests: Change type of sched_nice field to signed in sched_xetattr test
Kernel headers declare this field as s32, and strace prints it with %d specifier. * tests/sched_xetattr.c: Change type of sched_nice field of struct sched_attr to int32_t, update format specifiers accordingly. --- tests/sched_xetattr.c |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/sched_xetattr.c b/tests/sched_xetattr.c index e85f9bc..2e0ce61 100644 --- a/tests/sched_xetattr.c +++ b/tests/sched_xetattr.c @@ -41,7 +41,7 @@ main(void) uint32_t size; uint32_t sched_policy; uint64_t sched_flags; - uint32_t sched_nice; + int32_t sched_nice; uint32_t sched_priority; uint64_t sched_runtime; uint64_t sched_deadline; @@ -52,7 +52,7 @@ main(void) perror_msg_and_skip("sched_getattr"); printf("sched_getattr\\(0, \\{size=%u, sched_policy=SCHED_[A-Z]+, " - "sched_flags=%s, sched_nice=%u, sched_priority=%u, " + "sched_flags=%s, sched_nice=%d, sched_priority=%u, " "sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64 ", " "sched_period=%" PRIu64 "\\}, %zu, 0\\) += 0\n", sched_attr->size, @@ -69,7 +69,7 @@ main(void) perror_msg_and_skip("sched_setattr"); printf("sched_setattr\\(0, \\{size=%u, sched_policy=SCHED_[A-Z]+, " - "sched_flags=%s, sched_nice=%u, sched_priority=%u, " + "sched_flags=%s, sched_nice=%d, sched_priority=%u, " "sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64 ", " "sched_period=%" PRIu64 "\\}, 0\\) += 0\n", sched_attr->size, -- 1.7.10.4 -- ___ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel
[PATCH 6/7] tests: Print size argument of sched_setattr as unsigned
Since it is how it is declared. * tests/sched_xetattr.c: Cast size of struct sched_attr to unsigned, update format specifier accordingly. --- tests/sched_xetattr.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/sched_xetattr.c b/tests/sched_xetattr.c index 2e0ce61..9ff8c72 100644 --- a/tests/sched_xetattr.c +++ b/tests/sched_xetattr.c @@ -54,7 +54,7 @@ main(void) printf("sched_getattr\\(0, \\{size=%u, sched_policy=SCHED_[A-Z]+, " "sched_flags=%s, sched_nice=%d, sched_priority=%u, " "sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64 ", " - "sched_period=%" PRIu64 "\\}, %zu, 0\\) += 0\n", + "sched_period=%" PRIu64 "\\}, %u, 0\\) += 0\n", sched_attr->size, sched_attr->sched_flags ? "SCHED_FLAG_RESET_ON_FORK" : "0", sched_attr->sched_nice, @@ -62,7 +62,7 @@ main(void) sched_attr->sched_runtime, sched_attr->sched_deadline, sched_attr->sched_period, - sizeof(*sched_attr)); + (unsigned)sizeof(*sched_attr)); sched_attr->sched_flags |= 1; if (syscall(__NR_sched_setattr, 0, sched_attr, 0)) -- 1.7.10.4 -- ___ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel
[PATCH 4/7] tests: Additional shmget decoder checks
* tests/ipc_shm.c: Additional checks for shmget syscall decoding. --- tests/ipc_shm.c | 20 1 file changed, 20 insertions(+) diff --git a/tests/ipc_shm.c b/tests/ipc_shm.c index 54723e2..80a8f0f 100644 --- a/tests/ipc_shm.c +++ b/tests/ipc_shm.c @@ -27,11 +27,15 @@ */ #include "tests.h" +#include #include #include #include #include +#include "xlat.h" +#include "xlat/shm_resource_flags.h" + static int id = -1; static void @@ -45,9 +49,25 @@ cleanup(void) int main(void) { + static const key_t bogus_key = (key_t)0xeca86420fdb97531LLU; + static const size_t bogus_size = 0xdec0ded1dec0ded2LLU; + static const int bogus_flags = 0xface1e55; + int rc; struct shmid_ds ds; + assert(shmget(bogus_key, bogus_size, bogus_flags) == -1); + printf("shmget\\(%#lx, %lu, %s%s%s%#x\\|%#04o\\) += %s\n", + (unsigned long)((sizeof(key_t) == sizeof(int)) ? + (unsigned)bogus_key : (unsigned long)bogus_key), + bogus_size, + IPC_CREAT & bogus_flags ? "IPC_CREAT\\|" : "", + IPC_EXCL & bogus_flags ? "IPC_EXCL\\|" : "", + SHM_HUGETLB & bogus_flags ? "SHM_HUGETLB\\|" : "", + bogus_flags & ~(0777 | IPC_CREAT | IPC_EXCL | SHM_HUGETLB), + bogus_flags & 0777, + sprintrc_grep(-1)); + id = shmget(IPC_PRIVATE, 1, 0600); if (id < 0) perror_msg_and_skip("shmget"); -- 1.7.10.4 -- ___ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel
[PATCH 7/7] tests: Additional sched_getattr/sched_setattr decoder checks
* tests/sched_xetattr.c: Additional checs for sched_getattr and sched_setattr decoding. --- tests/sched_xetattr.c | 43 +++ 1 file changed, 43 insertions(+) diff --git a/tests/sched_xetattr.c b/tests/sched_xetattr.c index 9ff8c72..ce5c417 100644 --- a/tests/sched_xetattr.c +++ b/tests/sched_xetattr.c @@ -30,6 +30,7 @@ #if defined __NR_sched_getattr && defined __NR_sched_setattr +# include # include # include # include @@ -48,6 +49,21 @@ main(void) uint64_t sched_period; } *sched_attr = tail_alloc(sizeof(*sched_attr)); + assert(syscall(__NR_sched_getattr, 0xdeadface, NULL, 0, 0) == -1); + printf("sched_getattr\\(%d, NULL, 0, 0\\) += %s\n", + 0xdeadface, sprintrc_grep(-1)); + + assert(syscall(__NR_sched_getattr, -1, sched_attr, 0xbadfaced, + 0xc0defeed) == -1); + printf("sched_getattr\\(-1, %p, %u, %u\\) += %s\n", + sched_attr, 0xbadfaced, 0xc0defeed, sprintrc_grep(-1)); + + assert(syscall(__NR_sched_getattr, 0, sched_attr + 1, + sizeof(*sched_attr), 0) == -1); + printf("sched_getattr\\(0, %p, %u, 0\\) += %s\n", + sched_attr + 1, (unsigned)sizeof(*sched_attr), + sprintrc_grep(-1)); + if (syscall(__NR_sched_getattr, 0, sched_attr, sizeof(*sched_attr), 0)) perror_msg_and_skip("sched_getattr"); @@ -80,6 +96,33 @@ main(void) sched_attr->sched_deadline, sched_attr->sched_period); + sched_attr->size = 0x90807060; + sched_attr->sched_policy = 0xca7faced; + sched_attr->sched_flags = 0xbadc0ded1057da7aULL; + sched_attr->sched_nice = 0xafbfcfdf; + sched_attr->sched_priority = 0xb8c8d8e8; + sched_attr->sched_runtime = 0xbadcaffedeadf157ULL; + sched_attr->sched_deadline = 0xc0de70a57badac75ULL; + sched_attr->sched_period = 0xded1ca7edda7aca7ULL; + + assert(syscall(__NR_sched_setattr, 0xfacec0de, sched_attr, + 0xbeeff00d) == -1); + + printf("sched_setattr\\(%d, \\{size=%u, " + "sched_policy=%#x /\\* SCHED_\\?\\?\\? \\*/, " + "sched_flags=%#" PRIx64 " /\\* SCHED_FLAG_\\?\\?\\? \\*/, " + "sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", " + "sched_deadline=%" PRIu64 ", sched_period=%" PRIu64 "\\}, " + "%u\\) += %s\n", + 0xfacec0de, sched_attr->size, + sched_attr->sched_policy, + sched_attr->sched_flags, + sched_attr->sched_nice, + sched_attr->sched_priority, + sched_attr->sched_runtime, + sched_attr->sched_deadline, + sched_attr->sched_period, 0xbeeff00d, sprintrc_grep(-1)); + return 0; } -- 1.7.10.4 -- ___ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel
[PATCH 2/7] tests: Perform more strict structure allocation in sched_xetattr test
tail_alloc with precise size of the structure is used now. * tests/sched_xetattr.c: Eliminate usage of anonymous union type; rename sched to sched_attr; change type of sched_attr to struct pointer; use tail_alloc for sched_attr allocation; update printf statements accrodingly. --- tests/sched_xetattr.c | 58 - 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/tests/sched_xetattr.c b/tests/sched_xetattr.c index b982cca..e85f9bc 100644 --- a/tests/sched_xetattr.c +++ b/tests/sched_xetattr.c @@ -37,50 +37,48 @@ int main(void) { - static union { - struct { - uint32_t size; - uint32_t sched_policy; - uint64_t sched_flags; - uint32_t sched_nice; - uint32_t sched_priority; - uint64_t sched_runtime; - uint64_t sched_deadline; - uint64_t sched_period; - } attr; - char buf[256]; - } sched; + struct { + uint32_t size; + uint32_t sched_policy; + uint64_t sched_flags; + uint32_t sched_nice; + uint32_t sched_priority; + uint64_t sched_runtime; + uint64_t sched_deadline; + uint64_t sched_period; + } *sched_attr = tail_alloc(sizeof(*sched_attr)); - if (syscall(__NR_sched_getattr, 0, , sizeof(sched), 0)) + if (syscall(__NR_sched_getattr, 0, sched_attr, sizeof(*sched_attr), 0)) perror_msg_and_skip("sched_getattr"); printf("sched_getattr\\(0, \\{size=%u, sched_policy=SCHED_[A-Z]+, " "sched_flags=%s, sched_nice=%u, sched_priority=%u, " "sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64 ", " - "sched_period=%" PRIu64 "\\}, 256, 0\\) += 0\n", - sched.attr.size, - sched.attr.sched_flags ? "SCHED_FLAG_RESET_ON_FORK" : "0", - sched.attr.sched_nice, - sched.attr.sched_priority, - sched.attr.sched_runtime, - sched.attr.sched_deadline, - sched.attr.sched_period); + "sched_period=%" PRIu64 "\\}, %zu, 0\\) += 0\n", + sched_attr->size, + sched_attr->sched_flags ? "SCHED_FLAG_RESET_ON_FORK" : "0", + sched_attr->sched_nice, + sched_attr->sched_priority, + sched_attr->sched_runtime, + sched_attr->sched_deadline, + sched_attr->sched_period, + sizeof(*sched_attr)); - sched.attr.sched_flags |= 1; - if (syscall(__NR_sched_setattr, 0, , 0)) + sched_attr->sched_flags |= 1; + if (syscall(__NR_sched_setattr, 0, sched_attr, 0)) perror_msg_and_skip("sched_setattr"); printf("sched_setattr\\(0, \\{size=%u, sched_policy=SCHED_[A-Z]+, " "sched_flags=%s, sched_nice=%u, sched_priority=%u, " "sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64 ", " "sched_period=%" PRIu64 "\\}, 0\\) += 0\n", - sched.attr.size, + sched_attr->size, "SCHED_FLAG_RESET_ON_FORK", - sched.attr.sched_nice, - sched.attr.sched_priority, - sched.attr.sched_runtime, - sched.attr.sched_deadline, - sched.attr.sched_period); + sched_attr->sched_nice, + sched_attr->sched_priority, + sched_attr->sched_runtime, + sched_attr->sched_deadline, + sched_attr->sched_period); return 0; } -- 1.7.10.4 -- ___ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel
[PATCH 0/7] Minor tests tweaks pt. 2
Hello. This time, mostly sched_xetattr tweaks. Another notable changes are new sprintrc_grep function and additional shmget check. Eugene Syromyatnikov (7): tests: Split long lines in sched_xetattr test tests: Perform more strict structure allocation in sched_xetattr test tests: Add sprintrc_grep function tests: Additional shmget decoder checks tests: Change type of sched_nice field to signed in sched_xetattr test tests: Print size argument of sched_setattr as unsigned tests: Additional sched_getattr/sched_setattr decoder checks tests/ipc_shm.c | 20 + tests/sched_xetattr.c | 113 ++--- tests/sprintrc.c | 41 +++--- tests/tests.h |2 + 4 files changed, 136 insertions(+), 40 deletions(-) -- 1.7.10.4 -- ___ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel
[PATCH 3/7] tests: Add sprintrc_grep function
sprintrc_grep function is sprintrc function equivalent suitable for tests where grep-base pattern matching is employed. * tests/sprintrc.c (enum sprintrc_fmt): New sprintrc format enumeration. (sprintrc_ex): New function, renamed from sprintrc with updates regarding support of different formats. (sprintrc): Calls sprintrc_ex with SPRINTRC_FMT_RAW. (sprintrc_grep): Calls sprintrc_ex with SPRINTRC_FMT_GREP. * tests/tests.h: sprintrc_grep declaration added. --- tests/sprintrc.c | 41 ++--- tests/tests.h|2 ++ 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/tests/sprintrc.c b/tests/sprintrc.c index 5e27680..a573a27 100644 --- a/tests/sprintrc.c +++ b/tests/sprintrc.c @@ -28,25 +28,40 @@ #include "tests.h" #include +enum sprintrc_fmt { + SPRINTRC_FMT_RAW, + SPRINTRC_FMT_GREP, +}; + /** * Provides pointer to static string buffer with printed return code in format * used by strace - with errno and error message. * - * @param rc Return code. - * @return Pointer to (statically allocated) buffer containing decimal - * representation of return code and errno/error message in case @rc - * is equal to -1. + * @param rc Return code. + * @param fmt Output format. Currently, raw (used for diff matching) and grep + *(for extended POSIX regex-based pattern matching) formats are + *supported. + * @returnPointer to (statically allocated) buffer containing decimal + *representation of return code and errno/error message in case @rc + *is equal to -1. */ -const char * -sprintrc(long rc) +static inline const char * +sprintrc_ex(long rc, enum sprintrc_fmt fmt) { + static const char *formats[] = { + [SPRINTRC_FMT_RAW] = "-1 %s (%m)", + [SPRINTRC_FMT_GREP] = "-1 %s \\(%m\\)", + }; static char buf[4096]; + if (fmt >= ARRAY_SIZE(formats)) + perror_msg_and_fail("sprintrc_ex: incorrect format provided"); + if (rc == 0) return "0"; int ret = (rc == -1) - ? snprintf(buf, sizeof(buf), "-1 %s (%m)", errno2name()) + ? snprintf(buf, sizeof(buf), formats[fmt], errno2name()) : snprintf(buf, sizeof(buf), "%ld", rc); if (ret < 0) @@ -57,3 +72,15 @@ sprintrc(long rc) return buf; } + +const char * +sprintrc(long rc) +{ + return sprintrc_ex(rc, SPRINTRC_FMT_RAW); +} + +const char * +sprintrc_grep(long rc) +{ + return sprintrc_ex(rc, SPRINTRC_FMT_GREP); +} diff --git a/tests/tests.h b/tests/tests.h index 3043f97..2599120 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -101,6 +101,8 @@ const char *signal2name(int); /* Print return code and, in case return code is -1, errno information. */ const char *sprintrc(long rc); +/* sprintrc variant suitable for usage as part of grep pattern. */ +const char *sprintrc_grep(long rc); struct xlat; -- 1.7.10.4 -- ___ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel
[PATCH v2] tests: Some additional aio checks
* aio.c: Additional checks added. --- Changes since v1: * All io_submit checks now use long as second argument, last io_submit check now always passes positive nr value. * Additional decoder checks reworked a bit in order to increase coverage. tests/aio.c | 137 +++ 1 file changed, 137 insertions(+) diff --git a/tests/aio.c b/tests/aio.c index 8c5bfa7..11c4913 100644 --- a/tests/aio.c +++ b/tests/aio.c @@ -111,6 +111,53 @@ main(void) }; const struct iocb *cbv = tail_memdup(proto_cbv, sizeof(proto_cbv)); + /* For additional decoder testing */ + const struct iocb proto_cbv2[] = { + { + .aio_data = 0xbadfacedc0ffeeed, + .aio_key = 0xdefaced0, + .aio_lio_opcode = 0xf00d, + .aio_reqprio = 0, + .aio_fildes = 0xdefaced1, + .aio_buf = 0, + }, + { + .aio_data = 0, + .aio_key = 0xdefaced0, + .aio_lio_opcode = 1, + .aio_reqprio = 0xbeef, + .aio_fildes = 0xdefaced1, + .aio_buf = 0, + .aio_nbytes = 0x1020304050607080, + .aio_offset = 0xdeadda7abadc0ded, +# ifdef IOCB_FLAG_RESFD + .aio_flags = 0xfacef157, + .aio_resfd = 0xded1ca7e, +# endif + }, + { + .aio_data = 0, + .aio_key = 0xdefaced0, + .aio_lio_opcode = 1, + .aio_reqprio = 0xbeef, + .aio_fildes = 0xdefaced1, + .aio_buf = 0xbadc0ffeedefaced, + .aio_nbytes = 0x8090a0b0c0d0e0f0, + .aio_offset = 0xdeadda7abadc0ded, + }, + { + .aio_data = 0, + .aio_key = 0xdefaced0, + .aio_lio_opcode = 8, + .aio_reqprio = 0xbeef, + .aio_fildes = 0xdefaced1, + .aio_buf = 0, + .aio_nbytes = 0x8090a0b0c0d0e0f0, + .aio_offset = 0xdeadda7abadc0ded, + }, + }; + const struct iocb *cbv2 = tail_memdup(proto_cbv2, sizeof(proto_cbv2)); + const struct iocb proto_cbc = { .aio_data = 0xdeadbeefbadc0ded, .aio_reqprio = 99, @@ -128,6 +175,13 @@ main(void) }; const long *cbvs = tail_memdup(proto_cbvs, sizeof(proto_cbvs)); + const long proto_cbvs2[] = { + (long) [0], (long) [1], + (long) [2], (long) [3], + (long) NULL, (long) 0xdeadc0dedeadda7a, + }; + const long *cbvs2 = tail_memdup(proto_cbvs2, sizeof(proto_cbvs2)); + unsigned long *ctx = tail_alloc(sizeof(unsigned long)); *ctx = 0; @@ -142,10 +196,26 @@ main(void) if (open("/dev/zero", O_RDONLY)) perror_msg_and_skip("open: %s", "/dev/zero"); + assert(syscall(__NR_io_setup, 0xdeadbeef, NULL) == -1); + printf("io_setup(%u, NULL) = %s\n", 0xdeadbeef, sprintrc(-1)); + + assert(syscall(__NR_io_setup, lnr, ctx + 1) == -1); + printf("io_setup(%u, %p) = %s\n", nr, ctx + 1, sprintrc(-1)); + if (syscall(__NR_io_setup, lnr, ctx)) perror_msg_and_skip("io_setup"); printf("io_setup(%u, [%lu]) = 0\n", nr, *ctx); + assert(syscall(__NR_io_submit, (aio_context_t) 0xface1e55deadbeef, + (long) 0xca7faceddeadf00d, NULL) == -1); + printf("io_submit(%lu, %ld, NULL) = %s\n", + (aio_context_t) 0xface1e55deadbeef, (long) 0xca7faceddeadf00d, + sprintrc(-1)); + + assert(syscall(__NR_io_submit, *ctx, nr, cbs + nr) == -1); + printf("io_submit(%lu, %ld, %p) = %s\n", + *ctx, (long)nr, cbs + nr, sprintrc(-1)); + assert(syscall(__NR_io_submit, *ctx, -1L, cbs) == -1); printf("io_submit(%lu, -1, %p) = %s\n", *ctx, cbs, sprintrc(-1)); @@ -165,6 +235,22 @@ main(void) sizeof_data1, (long long) cb[1].aio_offset, nr); + assert(syscall(__NR_io_getevents, (aio_context_t) 0xface1e55deadbeef, + (long) 0xca7faceddeadf00d, (long) 0xba5e1e505ca571e0, ev + 1, + NULL) == -1); + printf("io_getevents(%lu, %ld, %ld, %p, NULL) = %s\n", + (aio_context_t) 0xface1e55deadbeef, + (long) 0xca7faceddeadf00d, (long) 0xba5e1e505ca571e0, + ev + 1, sprintrc(-1)); + + assert(syscall(__NR_io_getevents, (aio_context_t) 0xface1e55deadbeef, + (long) 0xca7faceddeadf00d, (long) 0xba5e1e505ca571e0, NULL, + ts + 1) == -1); +
[PATCH v2] Makefile.am: use dirname as a fallback for realpath
Since realpath utility is fairly new in GNU coreutils, there could be possibility that it is not present in the system. Instead of checking its presence in configure script it probably makes sense to fall back to dirname call since it is more widespread. Initial implementation utilized readlink instead of dirname; changed as per Dmitry Levin's suggestion. --- Changes from v1: * dirname has been utilized instead of readlink. Makefile.am |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 65f5c64..91733bf 100644 --- a/Makefile.am +++ b/Makefile.am @@ -256,7 +256,8 @@ endif @CODE_COVERAGE_RULES@ CODE_COVERAGE_BRANCH_COVERAGE = 1 CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \ - --prefix $(shell realpath -Ls $(abs_top_srcdir)/..) + --prefix $(shell realpath -Ls $(abs_top_srcdir)/.. || \ + dirname $(abs_top_srcdir)) CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*' strace_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS) strace_CFLAGS += $(CODE_COVERAGE_CFLAGS) -- 1.7.10.4 -- ___ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel
Re: [PATCH 1/9] tests: check decoding of perf_event_open syscall
On Mon, Sep 05, 2016 at 04:31:03AM +0300, Eugene Syromyatnikov wrote: > * tests/perf_event_open.c: New file. > * tests/perf_event_open.test: New test. > * tests/.gitignore: Add perf_event_open. > * tests/Makefile.am (check_PROGRAMS): Likewise. > (DECODER_TESTS): Add perf_event_open.test. On rhel5: perf_event_open.c:10:34: error: linux/hw_breakpoint.h: No such file or directory perf_event_open.c:11:31: error: linux/perf_event.h: No such file or directory On debian7 and rhel6: perf_event_open.c:10:34: error: linux/hw_breakpoint.h: No such file or directory On rhel7 and opensuse13: perf_event_open.c:56:4: error: 'PERF_FLAG_FD_CLOEXEC' undeclared (first use in this function) -- ldv pgpJPj5uwnro_.pgp Description: PGP signature -- ___ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel
Re: [PATCH v2 0/5] tests: Refactor of retstr from futex.c into a library function and updated readahead test
On Fri, Sep 02, 2016 at 06:24:55PM +0300, Eugene Syromyatnikov wrote: > Hello. > > Changes from v1: > * sprintrc now takes long as rc argument since syscalls return long. > * Changes in various rc values support as suggested by Dmitry. > > Eugene Syromyatnikov (5): > tests/futex: Rename retstr to sprintrc > tests/futex: Increase static sprintrc buffer size > tests/futex: Add support for return codes other than 0 and -1 to > sprintrc > tests: Move return code printing into a separate file > tests: check decoding of readahead syscall Merged, thanks! -- ldv pgp2ooXBOpMEw.pgp Description: PGP signature -- ___ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel