lix/src/libstore
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 91b6833686a6a6d9eac7f3f66393ec89ef1d3b57)
(cherry picked from commit a61e42adb528b3d40ce43e07c79368d779a8b624)
2023-12-01 13:05:03 -05:00
..
build Revert "Adapt scheduler to work with dynamic derivations" 2023-10-02 15:05:23 +00:00
builtins Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
binary-cache-store.cc Simplify ContentAddress 2023-07-07 07:30:01 -04:00
binary-cache-store.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
build-result.hh Introduce SingleDrvOutputs 2023-04-15 12:51:19 -04:00
builtins.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
ca-specific-schema.sql
content-address.cc Fixing #7479 2023-08-18 11:44:00 -04:00
content-address.hh Fixing #7479 2023-08-18 11:44:00 -04:00
crypto.cc
crypto.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
daemon.cc Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
daemon.hh Add Store::isTrustedClient() 2023-04-06 19:59:57 -04:00
derivations.cc Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
derivations.hh Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
derived-path-map.cc Revert "Adapt scheduler to work with dynamic derivations" 2023-10-02 15:05:23 +00:00
derived-path-map.hh Revert "Adapt scheduler to work with dynamic derivations" 2023-10-02 15:05:23 +00:00
derived-path.cc Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
derived-path.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
downstream-placeholder.cc Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
downstream-placeholder.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
dummy-store.cc Push getFSAccessor unsupported(...) down Store class hierarchy 2023-04-13 13:39:44 -04:00
dummy-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
export-import.cc Create worker_proto::{Read,Write}Conn 2023-06-19 12:08:23 -04:00
filetransfer.cc FileTransfer::download: fix use-after-move 2023-08-11 12:00:31 +02:00
filetransfer.hh Allow tarball URLs to redirect to a lockable immutable URL 2023-06-13 14:17:45 +02:00
fs-accessor.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
gc-store.hh Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
gc.cc Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00
globals.cc libstore: Add apple-virt to system features when available 2023-11-16 18:59:06 +01:00
globals.hh libstore: Add apple-virt to system features when available 2023-11-16 18:59:06 +01:00
http-binary-cache-store.cc Add Store::isTrustedClient() 2023-04-06 19:59:57 -04:00
http-binary-cache-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
indirect-root-store.hh Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
legacy-ssh-store.cc Make the Derived Path family of types inductive for dynamic derivations 2023-08-10 00:08:32 -04:00
legacy-ssh-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
local-binary-cache-store.cc Add Store::isTrustedClient() 2023-04-06 19:59:57 -04:00
local-binary-cache-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
local-fs-store.cc
local-fs-store.hh Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
local-store.cc Fix misread of source if path is already valid 2023-08-07 10:27:40 +02:00
local-store.hh LocalStore::verifyPath: Use StorePathSet for store local var 2023-07-31 12:44:18 -04:00
local-store.md Tweaks 2023-03-23 15:32:59 +01:00
local.mk Dedup some markdown -> C++ big literal stuff in build system 2023-05-15 10:38:11 -04:00
lock.cc Move enabled experimental feature to libutil struct 2023-03-20 11:05:22 -04:00
lock.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
log-store.cc
log-store.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
machines.cc
machines.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
make-content-addressed.cc Merge pull request #8650 from obsidiansystems/content-address-simpler 2023-07-21 13:46:53 +02:00
make-content-addressed.hh makeContentAddressed: Add single path helper 2023-06-30 18:22:47 +02:00
misc.cc Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
names.cc
names.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
nar-accessor.cc Add explicit case statements where -Wswitch-enum would report them 2023-04-03 18:17:32 +02:00
nar-accessor.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
nar-info-disk-cache.cc Use "raw pattern" for content address types 2023-03-30 17:12:49 -04:00
nar-info-disk-cache.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
nar-info.cc Make "NAR info file is corrupt" messages more informative 2023-04-18 14:10:49 +02:00
nar-info.hh Merge remote-tracking branch 'upstream/master' into path-info 2023-04-07 20:39:04 -04:00
nix-store.pc.in Fix building with GCC 9 2023-02-10 18:38:57 +01:00
optimise-store.cc Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
outputs-spec.cc Fixing #7479 2023-08-18 11:44:00 -04:00
outputs-spec.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
parsed-derivations.cc
parsed-derivations.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
path-info.cc Simplify ContentAddress 2023-07-07 07:30:01 -04:00
path-info.hh Merge remote-tracking branch 'upstream/master' into path-info 2023-04-07 20:39:04 -04:00
path-references.cc Make RewritingSink accept a map of rewrites 2023-05-24 14:11:50 +02:00
path-references.hh Make RewritingSink accept a map of rewrites 2023-05-24 14:11:50 +02:00
path-regex.hh StorePath: reject names starting with '.' 2023-10-08 12:21:18 +00:00
path-with-outputs.cc Fixing #7479 2023-08-18 11:44:00 -04:00
path-with-outputs.hh Make the Derived Path family of types inductive for dynamic derivations 2023-08-10 00:08:32 -04:00
path.cc StorePath: reject names starting with '.' 2023-10-08 12:21:18 +00:00
path.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
pathlocks.cc Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
pathlocks.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
profiles.cc Clean up a few things related to profiles (#8526) 2023-06-19 04:04:59 +00:00
profiles.hh Clean up a few things related to profiles (#8526) 2023-06-19 04:04:59 +00:00
realisation.cc libstore: also pass unwanted outputs to the post-build-hook 2023-05-08 12:58:59 +02:00
realisation.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
remote-fs-accessor.cc
remote-fs-accessor.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
remote-store-connection.hh Make RemoteStore::ConnectionHandle part of class and expose 2023-07-24 09:17:01 -04:00
remote-store.cc Special-case error message to add extra information 2023-09-07 10:39:37 -04:00
remote-store.hh Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
repair-flag.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
s3-binary-cache-store.cc Add Store::isTrustedClient() 2023-04-06 19:59:57 -04:00
s3-binary-cache-store.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
s3-binary-cache-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
s3.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
schema.sql
serve-protocol.hh Likewise namespace and enum struct-ify ServeCommand 2023-06-19 12:08:23 -04:00
sqlite.cc Support opening local store with database on read-only filesystem (#8356) 2023-06-20 11:34:09 +02:00
sqlite.hh Support opening local store with database on read-only filesystem (#8356) 2023-06-20 11:34:09 +02:00
ssh-store-config.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
ssh-store.cc Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
ssh-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
ssh.cc Pass common ssh options in isMasterRunning 2023-06-13 00:55:34 -03:00
ssh.hh Fix ControlMaster behaviour 2023-05-16 18:50:09 +04:00
store-api.cc Add infra for experimental store implemenations 2023-08-02 15:46:38 -04:00
store-api.hh Make the Derived Path family of types inductive for dynamic derivations 2023-08-10 00:08:32 -04:00
store-cast.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
uds-remote-store.cc Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
uds-remote-store.hh Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
uds-remote-store.md Support per-store Markdown documentation 2023-03-21 14:03:40 +01:00
worker-protocol-impl.hh Create worker_proto::{Read,Write}Conn 2023-06-19 12:08:23 -04:00
worker-protocol.cc Create worker_proto::{Read,Write}Conn 2023-06-19 12:08:23 -04:00
worker-protocol.hh Create worker_proto::{Read,Write}Conn 2023-06-19 12:08:23 -04:00