1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-29 10:31:15 +02:00

Add isInitialized to nix::Value

Add a method to check if a value has been initialized. This helps avoid
segfaults when calling `type()`.
Useful in the context of the new C API.

Closes #10524
This commit is contained in:
José Luis Lafuente 2024-04-18 20:05:59 +02:00
parent 6fd2f42c2d
commit 5cc4af5231
No known key found for this signature in database
GPG key ID: 8A3455EBE455489A
2 changed files with 33 additions and 1 deletions

View file

@ -0,0 +1,25 @@
#include "value.hh"
#include "tests/libstore.hh"
namespace nix {
class ValueTest : public LibStoreTest
{};
TEST_F(ValueTest, unsetValue)
{
Value unsetValue;
ASSERT_EQ(false, unsetValue.isInitialized());
ASSERT_EQ(nThunk, unsetValue.type(true));
ASSERT_DEATH(unsetValue.type(), "");
}
TEST_F(ValueTest, vInt)
{
Value vInt;
vInt.mkInt(42);
ASSERT_EQ(true, vInt.isInitialized());
}
} // namespace nix