Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Valgrind automatic tests, ran for almost every Zsh test and zredis



Hello,
managed to finish VATS, V..A.. Test Suite. It is integrated with Zsh build system. Error definition looks like this:

errors2+=( "* / zsh_main / setupvals / gettimeofday / *" )

The matching is done by a Zsh script. Rewritten python module "colour-valgrind" to Zsh, output is colored.

Ran for all tests except for V01zmodload.ztst, it produces too rich output for today. At the bottom of this email are reported leaks for other tests. VATS run looks like following:

https://asciinema.org/a/125035

The directory to be just copied to Zsh root, if accepted:

https://github.com/zdharma/VATS-zsh

Plus 2 simple configure.ac updates (patch in the repo). I must say that as Valgrind tests are adjecent to long duration, much output and a burden, with VATS, before I noticed, I was at 2/3 of the tests. It really helps. On 32-bit Linux I didn't bother to run normal tests.

I tested VATS and zredis at:

Ubuntu 14.04.4 LTS TT, 32 bit
redis-server 2.8.4, jemalloc 3.4.1
- An old machine, GCC 4.8.4, fixed pure-C and limited-/bin/sh problems, all tests and Valgrind tests pass.

OS X 10.11.5, 64 bit
redis-server 3.2.9 malloc=libc
- all tests and valgrind test pass

FreeBSD 10.3-RELEASE-p2 32 bit
redis-server 3.2.8, malloc=libc
- Zgdbm and zredis compiles. All tests pass. Valgrind always reports illegal op code, no tests ran, however VATS works fine.

I also have a general-purpose VATS project: https://github.com/psprint/VATS

============ The maybe-suspicious reports ============

A01:
==39931== 64 (24 direct, 40 indirect) bytes in 1 blocks are definitely lost in loss record 379 of 605
==39931==    at 0x10010A681: malloc (in /usr/local/Cellar/valgrind/3.12.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
==39931==    by 0x100062A05: zalloc (mem.c:966)
==39931==    by 0x10005B553: znewlinklist (linklist.c:120)
==39931==    by 0x1000511F1: addfilelist (jobs.c:1192)
==39931==    by 0x100026EDA: execpline2 (exec.c:1928)
==39931==    by 0x10001FF50: execpline (exec.c:1602)
==39931==    by 0x10001F0DD: execlist (exec.c:1360)
==39931==    by 0x10001EA2B: execode (exec.c:1141)
==39931==    by 0x100015F3E: eval (builtin.c:5809)
==39931==    by 0x10000BE5F: bin_eval (builtin.c:5995)
==39931==    by 0x100001AE9: execbuiltin (builtin.c:485)
==39931==    by 0x10002BC64: execcmd_exec (exec.c:3958)

A04:
==41041== 15 bytes in 1 blocks are definitely lost in loss record 150 of 604
==41041==    at 0x10010A681: malloc (in /usr/local/Cellar/valgrind/3.12.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
==41041==    by 0x100062A05: zalloc (mem.c:966)
==41041==    by 0x10009A270: bicat (string.c:163)
==41041==    by 0x1000B07F4: gettempname (utils.c:2158)
==41041==    by 0x1000227F4: getoutputfile (exec.c:4573)
==41041==    by 0x10009ABE1: stringsubst (subst.c:179)
==41041==    by 0x10009A541: prefork (subst.c:85)
==41041==    by 0x1000282DC: execcmd_exec (exec.c:3026)
==41041==    by 0x100026C88: execpline2 (exec.c:1873)
==41041==    by 0x10001FF50: execpline (exec.c:1602)
==41041==    by 0x10001F0DD: execlist (exec.c:1360)
==41041==    by 0x10001EA2B: execode (exec.c:1141)

A06:
==50133== 4,096 bytes in 1 blocks are definitely lost in loss record 534 of 544
==50133==    at 0x10010A681: malloc (in /usr/local/Cellar/valgrind/3.12.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
==50133==    by 0x100435AF5: __smakebuf (in /usr/lib/system/libsystem_c.dylib)
==50133==    by 0x1004396D0: __srefill0 (in /usr/lib/system/libsystem_c.dylib)
==50133==    by 0x1004397B8: __srefill (in /usr/lib/system/libsystem_c.dylib)
==50133==    by 0x10043988B: __srget (in /usr/lib/system/libsystem_c.dylib)
==50133==    by 0x1004327DD: fgetc (in /usr/lib/system/libsystem_c.dylib)
==50133==    by 0x10004D25E: shingetline (input.c:152)
==50133==    by 0x10004DB47: inputline (input.c:278)
==50133==    by 0x10004D784: ingetc (input.c:226)
==50133==    by 0x100056DE5: gettok (lex.c:611)
==50133==    by 0x100056B58: zshlex (lex.c:275)
==50133==    by 0x10007C516: parse_event (parse.c:569)

B07:
==60311== 32 bytes in 8 blocks are definitely lost in loss record 283 of 574
==60311==    at 0x10010A681: malloc (in /usr/local/Cellar/valgrind/3.12.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
==60311==    by 0x100062A05: zalloc (mem.c:966)
==60311==    by 0x100099F28: ztrdup (string.c:83)
==60311==    by 0x100048DC8: parseopts (init.c:411)
==60311==    by 0x100015968: bin_emulate (builtin.c:5908)
==60311==    by 0x100001AE9: execbuiltin (builtin.c:485)
==60311==    by 0x10002BC64: execcmd_exec (exec.c:3958)
==60311==    by 0x100026C88: execpline2 (exec.c:1873)
==60311==    by 0x10001FF50: execpline (exec.c:1602)
==60311==    by 0x10001F0DD: execlist (exec.c:1360)
==60311==    by 0x10001EA2B: execode (exec.c:1141)
==60311==    by 0x100015F3E: eval (builtin.c:5809)

C01:
==61832== 17 bytes in 1 blocks are definitely lost in loss record 180 of 592
==61832==    at 0x10010A681: malloc (in /usr/local/Cellar/valgrind/3.12.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
==61832==    by 0x100062A05: zalloc (mem.c:966)
==61832==    by 0x100099F28: ztrdup (string.c:83)
==61832==    by 0x1000623C5: lexconstant (math.c:538)
==61832==    by 0x100061093: zzlex (math.c:795)
==61832==    by 0x10005FF62: mathparse (math.c:1522)
==61832==    by 0x10005FBFB: mathevall (math.c:409)
==61832==    by 0x10005F917: matheval (math.c:1427)
==61832==    by 0x10009DB14: arithsubst (subst.c:4059)
==61832==    by 0x10009B12A: stringsubst (subst.c:293)
==61832==    by 0x10009A541: prefork (subst.c:85)
==61832==    by 0x1000282DC: execcmd_exec (exec.c:3026)

C02:
==62797== 104 (24 direct, 80 indirect) bytes in 1 blocks are definitely lost in loss record 429 of 587
==62797==    at 0x10010A681: malloc (in /usr/local/Cellar/valgrind/3.12.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
==62797==    by 0x100062A05: zalloc (mem.c:966)
==62797==    by 0x10005B553: znewlinklist (linklist.c:120)
==62797==    by 0x1000511F1: addfilelist (jobs.c:1192)
==62797==    by 0x100026EDA: execpline2 (exec.c:1928)
==62797==    by 0x10001FF50: execpline (exec.c:1602)
==62797==    by 0x10001F0DD: execlist (exec.c:1360)
==62797==    by 0x10002662C: execcursh (exec.c:428)
==62797==    by 0x10002B388: execcmd_exec (exec.c:3784)
==62797==    by 0x100026C88: execpline2 (exec.c:1873)
==62797==    by 0x10001FF50: execpline (exec.c:1602)
==62797==    by 0x10001F0DD: execlist (exec.c:1360)

C03:
==63476== 15 bytes in 1 blocks are definitely lost in loss record 147 of 581
==63476==    at 0x10010A681: malloc (in /usr/local/Cellar/valgrind/3.12.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
==63476==    by 0x100062A05: zalloc (mem.c:966)
==63476==    by 0x10009A270: bicat (string.c:163)
==63476==    by 0x1000B07F4: gettempname (utils.c:2158)
==63476==    by 0x1000227F4: getoutputfile (exec.c:4573)
==63476==    by 0x10009ABE1: stringsubst (subst.c:179)
==63476==    by 0x10009A541: prefork (subst.c:85)
==63476==    by 0x1000282DC: execcmd_exec (exec.c:3026)
==63476==    by 0x100026C88: execpline2 (exec.c:1873)
==63476==    by 0x10001FF50: execpline (exec.c:1602)
==63476==    by 0x10001F0DD: execlist (exec.c:1360)
==63476==    by 0x10001EA2B: execode (exec.c:1141)

C04:
==63900== 119 (24 direct, 95 indirect) bytes in 1 blocks are definitely lost in loss record 434 of 582
==63900==    at 0x10010A681: malloc (in /usr/local/Cellar/valgrind/3.12.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
==63900==    by 0x100062A05: zalloc (mem.c:966)
==63900==    by 0x10005B553: znewlinklist (linklist.c:120)
==63900==    by 0x1000511F1: addfilelist (jobs.c:1192)
==63900==    by 0x100022DCC: getproc (exec.c:4736)
==63900==    by 0x10009ABCB: stringsubst (subst.c:177)
==63900==    by 0x10009A541: prefork (subst.c:85)
==63900==    by 0x100021409: execsubst (exec.c:2545)
==63900==    by 0x100025EDD: execfuncdef (exec.c:5038)
==63900==    by 0x10002B239: execcmd_exec (exec.c:3770)
==63900==    by 0x100026C88: execpline2 (exec.c:1873)
==63900==    by 0x10001FF50: execpline (exec.c:1602)

D04:
==66820== 80 bytes in 5 blocks are definitely lost in loss record 436 of 615
==66820==    at 0x10010A681: malloc (in /usr/local/Cellar/valgrind/3.12.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
==66820==    by 0x100062A05: zalloc (mem.c:966)
==66820==    by 0x1000B633A: mkarray (utils.c:3865)
==66820==    by 0x1000A1B70: paramsubst (subst.c:3078)
==66820==    by 0x10009AF24: stringsubst (subst.c:247)
==66820==    by 0x10009A541: prefork (subst.c:85)
==66820==    by 0x1000282DC: execcmd_exec (exec.c:3026)
==66820==    by 0x100026C88: execpline2 (exec.c:1873)
==66820==    by 0x10001FF50: execpline (exec.c:1602)
==66820==    by 0x10001F0DD: execlist (exec.c:1360)
==66820==    by 0x10001EA2B: execode (exec.c:1141)
==66820==    by 0x100015F3E: eval (builtin.c:5809)


--
Sebastian Gniazdowski
psprint /at/ zdharma.org



Messages sorted by: Reverse Date, Date, Thread, Author