Add mj_containsFileVFS and mj_containsBufferVFS functions.

PiperOrigin-RevId: 903785790
Change-Id: I013b37a177284f8440179c4ae5c6221e0f572b49
This commit is contained in:
Sam Haves
2026-04-22 05:26:33 -07:00
committed by Copybara-Service
parent c3fddf5dc1
commit 4cfebcc32b
10 changed files with 156 additions and 0 deletions
+32
View File
@@ -224,6 +224,38 @@ TEST_F(UserVfsTest, DeleteFileRepeat) {
mj_deleteVFS(&vfs);
}
TEST_F(UserVfsTest, ContainsBuffer) {
mjVFS vfs;
mj_defaultVFS(&vfs);
std::string buffer = "<mujoco/>";
const void* ptr = static_cast<const void*>(buffer.c_str());
mj_addBufferVFS(&vfs, "model", ptr, buffer.size());
EXPECT_TRUE(mj_containsBufferVFS(&vfs, "model"));
EXPECT_FALSE(mj_containsBufferVFS(&vfs, "nonexistent"));
EXPECT_FALSE(mj_containsBufferVFS(&vfs, "Model"));
mj_deleteVFS(&vfs);
}
TEST_F(UserVfsTest, ContainsFile) {
mjVFS vfs;
mj_defaultVFS(&vfs);
constexpr char path[] = "engine/testdata/actuation/";
const std::string dir = GetTestDataFilePath(path);
std::string file = "activation.xml";
mj_addFileVFS(&vfs, dir.c_str(), file.c_str());
EXPECT_TRUE(mj_containsFileVFS(&vfs, dir.c_str(), file.c_str()));
EXPECT_TRUE(mj_containsFileVFS(&vfs, nullptr, (dir + file).c_str()));
EXPECT_TRUE(mj_containsFileVFS(&vfs, nullptr, "Activation.xml"));
EXPECT_TRUE(mj_containsFileVFS(&vfs, "some/dir/", "activation.xml"));
EXPECT_FALSE(mj_containsFileVFS(&vfs, nullptr, "nonexistent.xml"));
mj_deleteVFS(&vfs);
}
TEST_F(UserVfsTest, AddBuffer) {
mjVFS vfs;