mirror of
https://github.com/NixOS/nix.git
synced 2025-11-14 06:22:42 +01:00
This is relied upon (specifically the `local` store) by existing tooling [1] and we broke this in3e7879e6df(which was first released in 2.31). To lessen the scope of the breakage we should not normalize "auto" references and explicitly specified references like "local" or "daemon". It also makes sense to canonicalize local://,daemon:// to be more compatible with prior behavior. [1]:05e1b3cba2/lib/NOM/Builds.hs (L60-L64)
42 lines
942 B
C++
42 lines
942 B
C++
#include <gtest/gtest.h>
|
|
|
|
#include "nix/store/local-store.hh"
|
|
|
|
// Needed for template specialisations. This is not good! When we
|
|
// overhaul how store configs work, this should be fixed.
|
|
#include "nix/util/args.hh"
|
|
#include "nix/util/config-impl.hh"
|
|
#include "nix/util/abstract-setting-to-json.hh"
|
|
|
|
namespace nix {
|
|
|
|
TEST(LocalStore, constructConfig_rootQueryParam)
|
|
{
|
|
LocalStoreConfig config{
|
|
"local",
|
|
"",
|
|
{
|
|
{
|
|
"root",
|
|
"/foo/bar",
|
|
},
|
|
},
|
|
};
|
|
|
|
EXPECT_EQ(config.rootDir.get(), std::optional{"/foo/bar"});
|
|
}
|
|
|
|
TEST(LocalStore, constructConfig_rootPath)
|
|
{
|
|
LocalStoreConfig config{"local", "/foo/bar", {}};
|
|
|
|
EXPECT_EQ(config.rootDir.get(), std::optional{"/foo/bar"});
|
|
}
|
|
|
|
TEST(LocalStore, constructConfig_to_string)
|
|
{
|
|
LocalStoreConfig config{"local", "", {}};
|
|
EXPECT_EQ(config.getReference().to_string(), "local");
|
|
}
|
|
|
|
} // namespace nix
|