mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-24 14:56:15 +02:00
Merge remote-tracking branch 'origin/master' into lazy-trees
This commit is contained in:
commit
a04ca0a522
3 changed files with 18 additions and 15 deletions
|
@ -540,22 +540,22 @@ namespace nix {
|
||||||
ASSERT_THAT(v, IsStringEq(output));
|
ASSERT_THAT(v, IsStringEq(output));
|
||||||
}
|
}
|
||||||
|
|
||||||
#define CASE(input, output) (std::make_tuple(std::string_view("builtins.toString " #input), std::string_view(output)))
|
#define CASE(input, output) (std::make_tuple(std::string_view("builtins.toString " input), std::string_view(output)))
|
||||||
INSTANTIATE_TEST_SUITE_P(
|
INSTANTIATE_TEST_SUITE_P(
|
||||||
toString,
|
toString,
|
||||||
ToStringPrimOpTest,
|
ToStringPrimOpTest,
|
||||||
testing::Values(
|
testing::Values(
|
||||||
CASE("foo", "foo"),
|
CASE(R"("foo")", "foo"),
|
||||||
CASE(1, "1"),
|
CASE(R"(1)", "1"),
|
||||||
CASE([1 2 3], "1 2 3"),
|
CASE(R"([1 2 3])", "1 2 3"),
|
||||||
CASE(.123, "0.123000"),
|
CASE(R"(.123)", "0.123000"),
|
||||||
CASE(true, "1"),
|
CASE(R"(true)", "1"),
|
||||||
CASE(false, ""),
|
CASE(R"(false)", ""),
|
||||||
CASE(null, ""),
|
CASE(R"(null)", ""),
|
||||||
CASE({ v = "bar"; __toString = self: self.v; }, "bar"),
|
CASE(R"({ v = "bar"; __toString = self: self.v; })", "bar"),
|
||||||
CASE({ v = "bar"; __toString = self: self.v; outPath = "foo"; }, "bar"),
|
CASE(R"({ v = "bar"; __toString = self: self.v; outPath = "foo"; })", "bar"),
|
||||||
CASE({ outPath = "foo"; }, "foo"),
|
CASE(R"({ outPath = "foo"; })", "foo"),
|
||||||
CASE(./test, "/test")
|
CASE(R"(./test)", "/test")
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
#undef CASE
|
#undef CASE
|
||||||
|
|
|
@ -62,6 +62,9 @@ public:
|
||||||
/* How often to purge expired entries from the cache. */
|
/* How often to purge expired entries from the cache. */
|
||||||
const int purgeInterval = 24 * 3600;
|
const int purgeInterval = 24 * 3600;
|
||||||
|
|
||||||
|
/* How long to cache binary cache info (i.e. /nix-cache-info) */
|
||||||
|
const int cacheInfoTtl = 7 * 24 * 3600;
|
||||||
|
|
||||||
struct Cache
|
struct Cache
|
||||||
{
|
{
|
||||||
int id;
|
int id;
|
||||||
|
@ -98,7 +101,7 @@ public:
|
||||||
"insert or replace into BinaryCaches(url, timestamp, storeDir, wantMassQuery, priority) values (?, ?, ?, ?, ?)");
|
"insert or replace into BinaryCaches(url, timestamp, storeDir, wantMassQuery, priority) values (?, ?, ?, ?, ?)");
|
||||||
|
|
||||||
state->queryCache.create(state->db,
|
state->queryCache.create(state->db,
|
||||||
"select id, storeDir, wantMassQuery, priority from BinaryCaches where url = ?");
|
"select id, storeDir, wantMassQuery, priority from BinaryCaches where url = ? and timestamp > ?");
|
||||||
|
|
||||||
state->insertNAR.create(state->db,
|
state->insertNAR.create(state->db,
|
||||||
"insert or replace into NARs(cache, hashPart, namePart, url, compression, fileHash, fileSize, narHash, "
|
"insert or replace into NARs(cache, hashPart, namePart, url, compression, fileHash, fileSize, narHash, "
|
||||||
|
@ -183,7 +186,7 @@ public:
|
||||||
|
|
||||||
auto i = state->caches.find(uri);
|
auto i = state->caches.find(uri);
|
||||||
if (i == state->caches.end()) {
|
if (i == state->caches.end()) {
|
||||||
auto queryCache(state->queryCache.use()(uri));
|
auto queryCache(state->queryCache.use()(uri)(time(0) - cacheInfoTtl));
|
||||||
if (!queryCache.next())
|
if (!queryCache.next())
|
||||||
return std::nullopt;
|
return std::nullopt;
|
||||||
state->caches.emplace(uri,
|
state->caches.emplace(uri,
|
||||||
|
|
|
@ -29,7 +29,7 @@ highest precedence:
|
||||||
can be specified using the NixOS option `nix.registry`.
|
can be specified using the NixOS option `nix.registry`.
|
||||||
|
|
||||||
* The user registry `~/.config/nix/registry.json`. This registry can
|
* The user registry `~/.config/nix/registry.json`. This registry can
|
||||||
be modified by commands such as `nix flake pin`.
|
be modified by commands such as `nix registry pin`.
|
||||||
|
|
||||||
* Overrides specified on the command line using the option
|
* Overrides specified on the command line using the option
|
||||||
`--override-flake`.
|
`--override-flake`.
|
||||||
|
|
Loading…
Reference in a new issue