- Module tofu.index: download index via tofu.http.get, sandbox parse via Lua subprocess - Whitelist sandbox (ported from ZETA lib/sandbox.lua): index code has zero I/O/exec access - Lua 5.1/5.2+ compatible: setfenv detection with fallback to load() env param - JSON escaping: handles quotes, backslashes, control characters in string values - Defensive parsing: skips entries with empty names or invalid pool values - 10 unittest blocks: happy path, malicious os.execute/io.open blocked, lua not found, bad JSON, empty index, missing name skip, invalid pool skip, syntax error, string escaping - Evidence: 7 modules pass unittests, dub build passes with warnings-as-errors
152 lines
7.9 KiB
Plaintext
152 lines
7.9 KiB
Plaintext
Warning
|
|
Warning ## Warning for package tofu ##
|
|
Warning
|
|
Warning The following compiler flags have been specified in the package description
|
|
Warning file. They are handled by DUB and direct use in packages is discouraged.
|
|
Warning Alternatively, you can set the DFLAGS environment variable to pass custom flags
|
|
Warning to the compiler, or use one of the suggestions below:
|
|
Warning
|
|
Warning warningsAsErrors: Use "buildRequirements" to control the warning level
|
|
Warning
|
|
Generating test runner configuration 'tofu-test-application' for 'application' (executable).
|
|
Warning Excluding main source file src/main.d from test.
|
|
Starting Performing "unittest" build using /usr/bin/dmd for x86_64.
|
|
Up-to-date toml 1.0.0: target for configuration [library] is up to date.
|
|
Building tofu ~main: building configuration [tofu-test-application]
|
|
src/tofu/fetch.d(165,39): Error: `Config` matches conflicting symbols:
|
|
@safe string fetchRecipe(string name, Config cfg)
|
|
^
|
|
src/tofu/config.d(29,1): struct `tofu.config.Config`
|
|
struct Config {
|
|
^
|
|
/usr/include/dlang/dmd/std/process.d(2192,1): struct `std.process.Config`
|
|
struct Config
|
|
^
|
|
src/tofu/fetch.d(410,19): Error: `Config` matches conflicting symbols:
|
|
private @safe Config testConfig(string baseUrl, string cacheDir)
|
|
^
|
|
src/tofu/config.d(29,1): struct `tofu.config.Config`
|
|
struct Config {
|
|
^
|
|
/usr/include/dlang/dmd/std/process.d(2192,1): struct `std.process.Config`
|
|
struct Config
|
|
^
|
|
Error /usr/bin/dmd failed with exit code 1.
|
|
Warning
|
|
Warning ## Warning for package tofu ##
|
|
Warning
|
|
Warning The following compiler flags have been specified in the package description
|
|
Warning file. They are handled by DUB and direct use in packages is discouraged.
|
|
Warning Alternatively, you can set the DFLAGS environment variable to pass custom flags
|
|
Warning to the compiler, or use one of the suggestions below:
|
|
Warning
|
|
Warning warningsAsErrors: Use "buildRequirements" to control the warning level
|
|
Warning
|
|
Generating test runner configuration 'tofu-test-application' for 'application' (executable).
|
|
Warning Excluding main source file src/main.d from test.
|
|
Starting Performing "unittest" build using /usr/bin/dmd for x86_64.
|
|
Up-to-date toml 1.0.0: target for configuration [library] is up to date.
|
|
Building tofu ~main: building configuration [tofu-test-application]
|
|
src/tofu/fetch.d(344,37): Error: no property `port` for `(cast(Socket)s).localAddress()` of type `std.socket.Address`
|
|
auto port = s.localAddress().port;
|
|
^
|
|
/usr/include/dlang/dmd/std/socket.d(1249,10): class `Address` defined here
|
|
abstract class Address
|
|
^
|
|
src/tofu/fetch.d(375,25): Error: undefined identifier `Pid`, did you mean variable `pid`?
|
|
try { kill(cast(Pid) pid, SIGTERM); } catch (Throwable) {}
|
|
^
|
|
src/tofu/fetch.d(439,31): Error: no property `pid` for `spawnProcess(((const const(char[][6]) __arrayliteral_on_s...` of type `std.process.Pid`
|
|
workDir: serveDir).pid;
|
|
^
|
|
/usr/include/dlang/dmd/std/process.d(2347,7): class `Pid` defined here
|
|
final class Pid
|
|
^
|
|
src/tofu/fetch.d(480,31): Error: no property `pid` for `spawnProcess(((const const(char[][6]) __arrayliteral_on_s...` of type `std.process.Pid`
|
|
workDir: serveDir).pid;
|
|
^
|
|
/usr/include/dlang/dmd/std/process.d(2347,7): class `Pid` defined here
|
|
final class Pid
|
|
^
|
|
src/tofu/fetch.d(526,31): Error: no property `pid` for `spawnProcess(((const const(char[][6]) __arrayliteral_on_s...` of type `std.process.Pid`
|
|
workDir: serveDir).pid;
|
|
^
|
|
/usr/include/dlang/dmd/std/process.d(2347,7): class `Pid` defined here
|
|
final class Pid
|
|
^
|
|
src/tofu/fetch.d(562,31): Error: no property `pid` for `spawnProcess(((const const(char[][6]) __arrayliteral_on_s...` of type `std.process.Pid`
|
|
workDir: serveDir).pid;
|
|
^
|
|
/usr/include/dlang/dmd/std/process.d(2347,7): class `Pid` defined here
|
|
final class Pid
|
|
^
|
|
src/tofu/fetch.d(597,31): Error: no property `pid` for `spawnProcess(((const const(char[][6]) __arrayliteral_on_s...` of type `std.process.Pid`
|
|
workDir: serveDir).pid;
|
|
^
|
|
/usr/include/dlang/dmd/std/process.d(2347,7): class `Pid` defined here
|
|
final class Pid
|
|
^
|
|
Error /usr/bin/dmd failed with exit code 1.
|
|
Warning
|
|
Warning ## Warning for package tofu ##
|
|
Warning
|
|
Warning The following compiler flags have been specified in the package description
|
|
Warning file. They are handled by DUB and direct use in packages is discouraged.
|
|
Warning Alternatively, you can set the DFLAGS environment variable to pass custom flags
|
|
Warning to the compiler, or use one of the suggestions below:
|
|
Warning
|
|
Warning warningsAsErrors: Use "buildRequirements" to control the warning level
|
|
Warning
|
|
Generating test runner configuration 'tofu-test-application' for 'application' (executable).
|
|
Warning Excluding main source file src/main.d from test.
|
|
Starting Performing "unittest" build using /usr/bin/dmd for x86_64.
|
|
Up-to-date toml 1.0.0: target for configuration [library] is up to date.
|
|
Building tofu ~main: building configuration [tofu-test-application]
|
|
Linking tofu-test-application
|
|
Finished To force a rebuild of up-to-date targets, run again with --force
|
|
Running tofu-test-application
|
|
Warning: malformed TOML config at /tmp/tofu-test-config-bad-189983.toml: Invalid table key declaration (2:0)
|
|
Warning: invalid TOFU_DEFAULT_JOBS 'not-a-number', using default 1
|
|
[33mwarn skipping index entry with empty name[0m
|
|
[33mwarn skipping index entry with empty name[0m
|
|
[33mwarn skipping index entry 'badpool': invalid pool 'bad_pool_value'[0m
|
|
7 modules passed unittests
|
|
[2m . checking binary firefox ...[0m
|
|
- binary firefox-2.1.0 satisfies firefox>=2.0
|
|
[2m . checking binary libfoo ...[0m
|
|
- binary libfoo-1.9 does not satisfy libfoo>=2.0
|
|
[2m . checking binary noexist ...[0m
|
|
[2m . checking binary brokenpkg ...[0m
|
|
[2m . checking binary badpkg ...[0m
|
|
[2m . checking binary testpkg ...[0m
|
|
- binary testpkg-2.1.0 satisfies testpkg
|
|
[2m . fetching index http://127.0.0.1:40689//index.lua[0m
|
|
[32m ok index loaded: 3 packages[0m
|
|
[2m . fetching index http://127.0.0.1:58297//index.lua[0m
|
|
[2m . fetching index http://127.0.0.1:36381//index.lua[0m
|
|
[2m . fetching index http://127.0.0.1:56071//index.lua[0m
|
|
[2m . fetching index http://127.0.0.1:51747//index.lua[0m
|
|
[32m ok index loaded: 0 packages[0m
|
|
[2m . fetching index http://127.0.0.1:39983//index.lua[0m
|
|
[32m ok index loaded: 1 packages[0m
|
|
[2m . fetching index http://127.0.0.1:39303//index.lua[0m
|
|
[32m ok index loaded: 2 packages[0m
|
|
[2m . fetching index http://127.0.0.1:47269//index.lua[0m
|
|
[2m . fetching index http://127.0.0.1:39257//index.lua[0m
|
|
[32m ok index loaded: 1 packages[0m
|
|
Warning
|
|
Warning ## Warning for package tofu ##
|
|
Warning
|
|
Warning The following compiler flags have been specified in the package description
|
|
Warning file. They are handled by DUB and direct use in packages is discouraged.
|
|
Warning Alternatively, you can set the DFLAGS environment variable to pass custom flags
|
|
Warning to the compiler, or use one of the suggestions below:
|
|
Warning
|
|
Warning warningsAsErrors: Use "buildRequirements" to control the warning level
|
|
Warning
|
|
Starting Performing "debug" build using /usr/bin/dmd for x86_64.
|
|
Up-to-date toml 1.0.0: target for configuration [library] is up to date.
|
|
Building tofu ~main: building configuration [application]
|
|
Linking tofu
|
|
Finished To force a rebuild of up-to-date targets, run again with --force
|