1*aca3beaaSApple OSS Distributions #include <darwintest.h> 2*aca3beaaSApple OSS Distributions #include "nvram_helper.h" 3*aca3beaaSApple OSS Distributions 4*aca3beaaSApple OSS Distributions T_GLOBAL_META(T_META_NAMESPACE("xnu.nvram"), 5*aca3beaaSApple OSS Distributions T_META_RADAR_COMPONENT_NAME("xnu"), 6*aca3beaaSApple OSS Distributions T_META_RADAR_COMPONENT_VERSION("nvram")); 7*aca3beaaSApple OSS Distributions 8*aca3beaaSApple OSS Distributions static io_registry_entry_t optionsRef = IO_OBJECT_NULL; 9*aca3beaaSApple OSS Distributions 10*aca3beaaSApple OSS Distributions // xcrun -sdk macosx.internal make -C tests nvram_system && sudo ./tests/build/sym/nvram_system 11*aca3beaaSApple OSS Distributions 12*aca3beaaSApple OSS Distributions // Test that writing, reading, and deleting of system variables with system entitlement should succeed 13*aca3beaaSApple OSS Distributions T_DECL(TestSystemEntitled, "Test system guids with entitlement") 14*aca3beaaSApple OSS Distributions { 15*aca3beaaSApple OSS Distributions #if ((TARGET_OS_OSX) && !(__x86_64__)) 16*aca3beaaSApple OSS Distributions const char *varToTest = "40A0DDD2-77F8-4392-B4A3-1E7304206516:varToTest2"; 17*aca3beaaSApple OSS Distributions 18*aca3beaaSApple OSS Distributions optionsRef = GetOptions(); 19*aca3beaaSApple OSS Distributions 20*aca3beaaSApple OSS Distributions T_ASSERT_EQ(SetVariable(varToTest, "1234", optionsRef), KERN_SUCCESS, "Set variable %s successfully\n", varToTest); 21*aca3beaaSApple OSS Distributions T_ASSERT_EQ(GetVariable(varToTest, optionsRef), KERN_SUCCESS, "Read variable %s successfully\n", varToTest); 22*aca3beaaSApple OSS Distributions T_ASSERT_EQ(DeleteVariable(varToTest, optionsRef), KERN_SUCCESS, "Deleted variable %s successfully\n", varToTest); 23*aca3beaaSApple OSS Distributions 24*aca3beaaSApple OSS Distributions ReleaseOptions(optionsRef); 25*aca3beaaSApple OSS Distributions #else 26*aca3beaaSApple OSS Distributions T_PASS("Test not supported"); 27*aca3beaaSApple OSS Distributions #endif /* ((TARGET_OS_OSX) && !(__x86_64__)) */ 28*aca3beaaSApple OSS Distributions } 29