lix/src/libutil
John Ericson f7f37035c8 Move tests to separate directories, and document
Today, with the tests inside a `tests` intermingled with the
corresponding library's source code, we have a few problems:

- We have to be careful that wildcards don't end up with tests being
  built as part of Nix proper, or test headers being installed as part
  of Nix proper.

- Tests in libraries but not executables is not right:

  - It means each executable runs the previous unit tests again, because
    it needs the libraries.

  - It doesn't work right on Windows, which doesn't want you to load a
    DLL just for the side global variable . It could be made to work
    with the dlopen equivalent, but that's gross!

This reorg solves these problems.

There is a remaining problem which is that sibbling headers (like
`hash.hh` the test header vs `hash.hh` the main `libnixutil` header) end
up shadowing each other. This PR doesn't solve that. That is left as
future work for a future PR.

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>

(cherry picked from commit 91b6833686)
(cherry picked from commit a61e42adb528b3d40ce43e07c79368d779a8b624)
2023-12-01 13:05:03 -05:00
..
abstract-setting-to-json.hh Split OptionalPathSetting from PathSetting 2023-06-18 23:31:18 -04:00
ansicolor.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
archive.cc Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
archive.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
args.cc MultiCommand::toJSON: Fix use-after-move 2023-08-11 12:00:11 +02:00
args.hh Stuctured command stability 2023-04-03 11:48:21 -04:00
callback.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
canon-path.cc Backport SourcePath from the lazy-trees branch 2023-04-06 13:15:50 +02:00
canon-path.hh Merge remote-tracking branch 'upstream/master' into source-path 2023-04-17 11:41:50 +02:00
cgroup.cc Clean up cgroup handling in getMaxCPU() 2022-12-02 12:59:13 +01:00
cgroup.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
chunked-vector.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
closure.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
comparator.hh Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
compression.cc Rename and protect BufferedSink::write 2023-04-07 09:21:50 +02:00
compression.hh Rename and protect BufferedSink::write 2023-04-07 09:21:50 +02:00
compute-levels.cc Add x86_64 compute levels as additional system types 2021-02-22 09:11:15 +01:00
compute-levels.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
config-impl.hh Merge pull request #8374 from obsidiansystems/improve-path-setting 2023-06-21 15:40:43 -04:00
config.cc Split OptionalPathSetting from PathSetting 2023-06-18 23:31:18 -04:00
config.hh Split OptionalPathSetting from PathSetting 2023-06-18 23:31:18 -04:00
error.cc initLibUtil: Add exception handling self-check 2023-08-11 17:25:42 +02:00
error.hh initLibUtil: Add exception handling self-check 2023-08-11 17:25:42 +02:00
experimental-features.cc Stabilize discard-references 2023-08-07 16:53:37 +02:00
experimental-features.hh Stabilize discard-references 2023-08-07 16:53:37 +02:00
filesystem.cc Remove dead code (#8504) 2023-06-14 14:09:11 -04:00
finally.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
fmt.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
git.cc Fix the parsing of the sourcehut refs file 2022-05-04 14:38:59 +02:00
git.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
hash.cc Merge pull request #7732 from hercules-ci/make-initLibStore-viable-alternative 2023-04-17 08:04:41 -04:00
hash.hh Rename and protect BufferedSink::write 2023-04-07 09:21:50 +02:00
hilite.cc Fix incorrect comment in hiliteMatches 2022-06-05 20:30:18 +02:00
hilite.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
json-impls.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
json-utils.cc Fix derivation load assertion errors 2023-08-05 01:34:30 +02:00
json-utils.hh Fix derivation load assertion errors 2023-08-05 01:34:30 +02:00
local.mk Remove the explicit c++fs linkage on darwin 2022-08-08 14:34:22 +02:00
logging.cc Print parent activity field in json log 2023-09-09 18:01:10 +02:00
logging.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
lru-cache.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
monitor-fd.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
namespaces.cc Simplify the PID namespace check: just try to mount /proc 2023-02-10 14:38:14 +01:00
namespaces.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
pool.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
ref.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
references.cc Don't assume the type of string::size_type 2023-06-15 21:24:14 +02:00
references.hh Don't assume the type of string::size_type 2023-06-15 21:24:14 +02:00
regex-combinators.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
serialise.cc Merge pull request #8176 from tweag/rename-confusing-write-method 2023-04-14 10:44:36 +02:00
serialise.hh Merge pull request #8176 from tweag/rename-confusing-write-method 2023-04-14 10:44:36 +02:00
split.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
suggestions.cc Implement operator<< for Suggestions 2022-03-07 10:09:10 +01:00
suggestions.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
sync.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
tarfile.cc TarArchive: Remove a duplicate constant and increase the buffer size 2023-04-25 16:43:10 +02:00
tarfile.hh TarArchive: Remove a duplicate constant and increase the buffer size 2023-04-25 16:43:10 +02:00
thread-pool.cc Remove CPU locking 2021-12-22 15:56:25 +01:00
thread-pool.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
topo-sort.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
types.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
url-parts.hh Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00
url.cc libutil: fix double-encoding of URLs 2023-08-17 14:16:19 -07:00
url.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
util.cc Fix warning 'catching polymorphic type by value' 2023-09-01 14:49:49 +02:00
util.hh Remove dead code (#8504) 2023-06-14 14:09:11 -04:00
variant-wrapper.hh Fixing #7479 2023-08-18 11:44:00 -04:00
xml-writer.cc xml-writer: Remove std aliases 2022-02-25 16:13:02 +01:00
xml-writer.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00