- 29 Nov, 2011 14 commits
-
-
Rusty Russell authored
mmap can also fail on out-of-memory, and for the coming change to the way we save and restore files we want to know about them anyway.
-
Rusty Russell authored
failtest now culls duplicates for itself (and more efficiently), so don't replicate the logic here. It changes things a bit, because failtest uses backtraces rather than a simple call point to find duplicates. Also, fix one case (in run-11-simple-fetch.c) where we simply exited rather than using failtest_exit(). We got away with it before, because we never hit that particular failure pattern.
-
Rusty Russell authored
Calling failpath_string() here leaves the final letter randomly upper or lower-cased, since call->fail is uninitialized. This means we sometimes don't match the debug string. 1) Initialize call->fail here so it will match the debug string. 2) If our calls don't match --debugpath, abort. 3) Don't match the final letter (which may be upper or lower case) when checking we're still on the path. We could do better, but this is only a sanity-check anyway.
-
Rusty Russell authored
If we can get a backtrace, we can automatically eliminate identical failures. Surprisingly backtrace() is quite fast, but the savings for the (naively-written) rbtree tests are impressive. ccanlint -v time drops from 43 seconds to 6 seconds.
-
Rusty Russell authored
-
Rusty Russell authored
When a failtest_hook returns fail_probe(), we start a counter to continue for a little way. Replace this hack with a simple flag, which disables further failures. Interestingly, this doesn't reduce coverage on the current modules which use failtest.
-
Rusty Russell authored
This is useful for debugging failtest itself, as well as for things like tracing.
-
Rusty Russell authored
We use file descriptors inside failtest; use dup2 to try to avoid changing the file descriptor numbers used in the program (particularly when programs mess with invalid file descriptors, they're likely to still be invalid).
-
Rusty Russell authored
This avoids a silly realloc, but more importantly it gets us closer to being runtime extensible, as each history element can be a different size.
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
Less cut & paste means less patching as failtest changes.
-
Rusty Russell authored
failtest_malloc should use p->u.malloc not p->u.calloc. The layouts are identical, so it doesn't matter, but it's confusing and leaves us open to weird bugs in future should one change.
-
Rusty Russell authored
This depends on reduce_features; currently it tends to run before that, so it doesn't think there are any features to reduce and doesn't build or run the tests with reduced features.
-
- 23 Nov, 2011 2 commits
-
-
Rusty Russell authored
Saves me doing it manually.
-
Vladimir Zapolskiy authored
This change initializes a counter of children, otherwise is may contain arbitrary value. Signed-off-by:
Vladimir Zapolskiy <vz@mleia.com>
-
- 21 Nov, 2011 2 commits
-
-
Rusty Russell authored
As noted by Jan Engelhardt; libHX fixed this already.
-
Rusty Russell authored
The two tests are identical with one line different, so make it clear.
-
- 16 Nov, 2011 1 commit
-
-
Rusty Russell authored
Broken by 758ab1f4 "ccanlint: drop -d, interpret any arguments as directories, and allow multiple."
-
- 15 Nov, 2011 2 commits
-
-
Rusty Russell authored
Compulsory means "malformed", we might get rid of it altogether, since any test can mark "fail" and make ccanlint exit with non-zero status. Now we only have four compulsory tests: info_exists Module has _info file depends_exist Module's CCAN dependencies can be found objects_build Module object files can be built module_builds Module can be built from object files
-
Rusty Russell authored
-
- 01 Nov, 2011 5 commits
-
-
Rusty Russell authored
We currently insist that a tdb file be a version1 file if tdb_open() is passed the TDB_VERSION1 flag; we fail if it's actually a tdb2. But that makes generic wrappers harder, and is unlikely to be what the user wants: if they do, they can check tdb_get_flags() & TDB_VERSION1 after opening.
-
Rusty Russell authored
It seems redundant: strset_test() and strset_clear() can only return NULL when the string is not a member. However, it became clear in writing ccan/tsort that it's much more convenient for callers if we set errno in this case too, so they can pass it up.
-
Rusty Russell authored
It seems redundant: strmap_get() and strmap_del() can only return NULL when the string is not a member. However, it became clear in writing ccan/tsort that it's much more convenient for callers if we set errno in this case too, so they can pass it up.
-
Rusty Russell authored
We weren't initializing the leak_info field when the test was marked FAIL in _info (as in tdb2).
-
Rusty Russell authored
Fallout from commit 758ab1f4 (ccanlint: drop -d, interpret any arguments as directories...)
-
- 26 Oct, 2011 3 commits
-
-
Rusty Russell authored
Actually, I don't even think it means that. But rename it to something which is sane. Thanks to David Gibson for reporting.
-
Rusty Russell authored
-
Rusty Russell authored
-
- 24 Oct, 2011 1 commit
-
-
Rusty Russell authored
Hasn't worked for a while now. Oops.
-
- 05 Oct, 2011 2 commits
-
-
Rusty Russell authored
This gets us closer to 'ccanlint *' rather than relying on Makefiles to test all modules. Unfortunately, because of limited parallelism, it's currently slower than make -j.
-
Rusty Russell authored
Because we fork children to do compilations, and we use stdio, we need to flush stdout before the fork otherwise the child will flush afterwards. The compile tests interpret this output as a compiler warning. This shows up if you redirect ccanlint output to a file.
-
- 04 Oct, 2011 8 commits
-
-
Rusty Russell authored
Commit c4ca9f54 renamed run-83-openhook.c to api-83-openhook.c, but didn't update the suppression in _info. My system runs a patched valgrind, which doesn't have this problem.
-
Rusty Russell authored
Use correct printf string.
-
Rusty Russell authored
Help the compiler eliminate untestable code.
-
Rusty Russell authored
We fake up a dual IPv4/IPv6 response to localhost for testing, but it assumed localhost6 or ip6-localhost entries. Fall back to "::1" which should always work.
-
Rusty Russell authored
-
Rusty Russell authored
gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 on x86_64 uses a different stack offset for the second call to test_ptr_recursion(), meaning it sees new iterators. Put it inside a loop to reduce the chance of that happening.
-
Rusty Russell authored
-
Rusty Russell authored
-