Docker on a mac might be available, but may not be runnng. The
way the original test was written is linux-specific anyway, so
just hoist the check into the DOCKER declaration
54b1969c4b correctly switched from nc to socat, but did not account for it
not being as widely available. Adjust tests that depend on it with the
correct message.
There are also a number of comments pertaining to nc - they were not
adjusted.
excerpt of commit messages:
- update postrun functions in core/commands
- sharness: allow setting -i with TEST_IMMEDIATE=1
- cmds Run func returns error now
- gx update cmdkit to 1.1.2 and cmds to 2.0.0-beta1
License: MIT
Signed-off-by: keks <keks@cryptoscope.co>
When checking to see if GC fully reverses an `ipfs add`, we should check the
size of the actual files, not the directory sizes. A bunch of empty directories
won't use *that* much space and really shouldn't count against GC.
closes#1515
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
Ideally, we'd fix this in IPTB but I'm tired of this bug and this is the easy
fix.
fixes#5272
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
Before it was only set when "test_init_ipfs" is called but that is
not always used, for example in t0025-datastores.sh.
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
Before, we'd check to make sure the repo, when checked through a symlink, is at
least as large as the repo *before* we checked it through the symlink. However,
this assumes that the repo can't shrink.
Really, this test exists to ensure we measure the repo size itself instead of
the size of the symlink; this commit changes the test to reflect this.
This test fails when 54d7e03303 is reverted.
fixes#4408
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
We were removing the file before testing, ignoring the error from stat, and then
grepping for `Error: Unrecognized file type for named-pipe: ` (because nothing
was sent to stdout).
This fix:
1. Changes our stat command to output failed to stdout on failure to ensure that
bugs like this *can't* happen.
2. Checks to make sure stat actually succeeds.
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
This:
* Disables mdns and fixes#4098 (iptb nodes already have mdns disabled by
default).
* Only listens on localhost (although iptb nodes still listen on all).
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
The ldd command used for detection doesn't seem to have a
--version flag on Alpine Linux. It would print the expected
output, but instead of stdout, it would print it on stderr.
The musl detection code would only scan stdout for mentions
of "musl", and would thus *not* download the musl version
of the fs-repo-migrations executable.
This manifested in the well-known "fs-repo-migrations: not found"
error, which you get when executing something that was linked
against a different libc than the one present on the system.
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
This commit introduces non-recursive Makefile infrastructure that replaces current Makefile infrastructure.
It also generally cleanups the Makefiles, separates them into nicer sub-modules and centralizes common operations into single definitions.
It allows to depend on any target that is defined in the makefile, this means that for example `gx install` is called once when `make build test_expensive_sharness` is called instead of 4 or 5 times.
It also makes the dependencies much cleaner and allows for reuse of modules. For example sharness coverage collection (WIP) uses sharness target with amended PATH, previously it might have been possible but not without wiring in the coverage collection into sharness make runner code.
Yes, it is more complex but not much more. There are few rules that have to be followed and few complexities added but IMHO it is worth it.
How to NR-make:
1. If make is to generate some file via a target, it MUST be defined in Rules.mk file in the directory of the target.
2. `Rules.mk` file MUST have `include mk/header.mk` statement as the first line and `include mk/footer.mk` statement as the last line (apart from project root `Rules.mk`).
3. It then MUST be included by the closest `Rules.mk` file up the directory tree.
4. Inside a `Rules.mk` special variable accessed as `$(d)` is defined. Its value is current directory, use it so if the `Rules.mk` file is moved in the tree it still works without a problem. Caution: this variable is not available in the recipe part and MUST NOT be used. Use name of the target or prerequisite to extract it if you need it.
5. Make has only one global scope, this means that name conflicts are a thing. Names SHOULD follow `VAR_NAME_$(d)` convention. There are exceptions from this rule in form of well defined global variables. Examples: General lists `TGT_BIN`, `CLEAN`; General targets: `TEST`, `COVERAGE`; General variables: `GOFLAGS`, `DEPS_GO`.
3. Any rules, definitions or variables that fit some family SHOULD be defined in `mk/$family.mk` file and included from project root `Rules.mk`
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>