- 09 Jan, 2017 5 commits
-
-
Rusty Russell authored
This is what users want, and expect: as demonstrated by the test failure when not under valgrind! Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
While investigating the previous patch, a bug caused poll to return POLLHUP on the listening socket, which caused us to spin. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
We were closing before calling del_fd, which also closed. The shutdown() logic applies when a child and parent are using the *same* socket fd to communicate to each other. That's really unusual (who would you connect to?), and should probably be done by the user. Generally, you'd use socketpair() for this child-parent case. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 07 Jan, 2017 1 commit
-
-
Rusty Russell authored
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 29 Dec, 2016 5 commits
-
-
Rusty Russell authored
Helps with the common case of wanting to NULL out a pointer when the object freed. We could also track it if resized, but that's TODO. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
There are several times I've wanted an extra arg to the destructor, and had to embed it in the thing destroyed. It's more efficient to put it into tal itself (since it allocates space anyway), but we make it conditional on a flag to avoid bloating every destructor. The infrastructure makes it easier to add an extra arg to the general notifiers later if we want. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
io_close() currently marks the io_conn for freeing, but doesn't actually do it. This is a problem for tal() users, because we can't just call it in the parent's constructor. Make io_close() just tal_free() + return &io_conn_freed (a magic io_plan pointer). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
It seemed like a good idea, but it complicates things and I never used it (since I never really trusted that the alternate paths would be equivalent). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
So the errno when you call tal_free() is handed to all the notifiers, independent of what the others do. This makes sense, but also helps for the upcoming ccan/io change. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 24 Dec, 2016 2 commits
-
-
David Gibson authored
Currently, _info files can specify options, or note expected failures, for ccanlint checks in the _info file with specially structured comments. That differs from most other things ccanlint gets from _info, where it instead executes the info file with certain parameters. This changes ccanlint and existing _info files to use the normal method for the ccanlint test options as well. This also has the advantage that an info file can alter its test options based on things from config.h - in some cases whether a test can work or not might depend on various things. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
David Gibson authored
Changing the _info file can change how ccanlint assesses the module. Therefore, if the _info file changes, we should re-run ccanlint module tests with make check. We didn't previously have a dependency for that, though, so this adds it. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
- 23 Dec, 2016 1 commit
-
-
Rusty Russell authored
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 12 Dec, 2016 2 commits
-
-
Peter Barker authored
Two copies of this map meant only the tests would ever work.
-
David Gibson authored
Use the new coroutine module to abstract away our dependence on ucontext. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
- 09 Dec, 2016 1 commit
-
-
David Gibson authored
This is essentially a wrapper around ucontext.h, but the idea is that alternative back end implementations could be used in future. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
- 07 Dec, 2016 1 commit
-
-
Rusty Russell authored
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 05 Dec, 2016 2 commits
-
-
Rusty Russell authored
lightning uses 48 bits, so this provides a quick utility for our test vectors, and provides a nice example. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
Making arbitrary bytes a uchar* is always a bit nasty for the caller. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 01 Dec, 2016 1 commit
-
-
David Gibson authored
The new Makefile system, via the helper script in tools/gen_deps.sh, when generating the targets to test a module, inserts dependencies meaning it must first check modules this one depends on, whether via 'depends' or 'testdepends' in _info. Although it seems logical, including 'testdepends' is actually incorrect. If ccan/a testepends on ccan/b then ccan/b must be *built* in order to test ccan/a, but it doesn't need to be tested. testepends are explicitly permitted to contain loops - it's quite common for two complementary modules to be used to test each other. This is one of the reasons testdepends exists separate from depends. So, remove testdepends from the generated check dependencies, removing the circular dependency that Make complains about. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
- 30 Nov, 2016 3 commits
-
-
Rusty Russell authored
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 27 Nov, 2016 1 commit
-
-
Kevin Locke authored
The previous name was misleading, since it does not define the number of elements (ed_elem) on the stack, but rather the number of distance values (ed_dist). Rename to make this more clear and add more documentation about what it does and how best to define it. Note: This is an API change for custom-compiled versions, but since the module has only been included for a couple days I don't think it's worth a back-compat #ifdef at this point. Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
-
- 23 Nov, 2016 2 commits
-
-
David Gibson authored
Currently Travis builds fail on the edit_distance module, because that module uses C99 extensions, which aren't enabled by default on the Ubuntu Precise compiler version. Force it to allow these, by adding the -std=gnu99 option to the compiler. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
Kevin Locke authored
This commit creates the edit_distance module for calculating various edit distance measures. The edit distance quantifies the similarity between two strings based on the number of modifications necessary to turn one string into the other. There are several edit distance measures which differ in the operations which are permitted and the cost (aka weight) of the operations. This module provides functions for calculating the Longest Common Subsequence (LCS), Levenshtein, and Damerau-Levenshtein (restricted and unrestricted) distances. Weighted versions of these functions can be created by defining cost functions as preprocessor macros when compiling this module. Distances over other array types (e.g. wide strings, integers, structs) can be accomplished by defining the element type and equality test macros. Signed-off-by: Kevin Locke <kevin@kevinlocke.name> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
- 22 Nov, 2016 3 commits
-
-
David Gibson authored
The Makefile provides for "fast" and "full" variants of make check. However, nothing seems to use or implement the "full" variant at all. Further, the %.check and %.fastcheck targets are not actually used, with other targets instead using the actual .ok tag file as the target. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
Rusty Russell authored
split() was deprecated, is now removed. explode() is the new hotness. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
Particularly since it's used by a gitolite hook on ozlabs.org to update the webpages. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 21 Nov, 2016 6 commits
-
-
David Gibson authored
clang version 3.4, for whatever reason, expands a few of the testcases in cppmagic with slightly different whitespace from what we expect. Since this was changed in later clang versions, it was probably a compiler bug, but it turns out an extra space in the testcase can make it pass on clang 3.4 as well. This means we finally have clang builds working in Travis. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
David Gibson authored
Generally, ccan config variables are always defined as either 0 or 1 and are tested with #if. That's instead of being being either defined or undefined and tested with #ifdef. TIME_HAVE_MONOTONIC breaks that convention. This can cause warnings in ccan/timer which uses it assuming the 0/1 convention. Change it to remove that warning. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
David Gibson authored
Remove a warning caused by the unused 'explain' variable in headers_idempotent.c. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
David Gibson authored
There's no real reason to exclude 'generator' from the build or check targets. Add it back in. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
David Gibson authored
The new makefile excludes all modules with external library dependencies from the usual make check, meaning the libraries are not needed for the Travis build. Although it would be nice to include these modules, there are a bunch of problems with sorting out a correct environment for them. For now, just leave them out. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
David Gibson authored
# Conflicts: # .travis.yml # Makefile # Makefile-ccan
-
- 17 Nov, 2016 2 commits
-
-
David Gibson authored
The example code in wwviaudio doesn't compile as is. Mark it as an expected failure for ccanlint. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
David Gibson authored
This fixes a warning. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
- 07 Nov, 2016 2 commits
-
-
David Gibson authored
This removes the parallel make (-j) option when running make check under Travis CI. This will slow down the build somewhat, but makes it easier to match errors to the modules which caused them. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
David Gibson authored
--summary (used by make check) causes ccanlint to only ever print a one-line summary of the results. When one of the tests fails, this isn't very useful, because it doesn't say why it failed, or even which test failed. This is particularly frustrating for failures in Travis CI builds where it's not always straightforward to reproduce a similar enough build environment to check the failure manually for a particular module. --summary does have one purpose which is vital for make check, though: it suppresses any attempt to interactively correct / improve the module printing only results. This changes --summary to only have the second effect, not the first. This won't change the output in the case of passing modules, but will give more useful information in the case of failing modules. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-