Merge pull request #3105 from NandiniDhanrale:fix/vfs-move-3098

PiperOrigin-RevId: 881946056
Change-Id: Ide041ff1dcdae00133251d928936920b47cf6c0d
This commit is contained in:
Copybara-Service
2026-03-11 04:53:57 -07:00
4 changed files with 39 additions and 11 deletions
+24
View File
@@ -407,5 +407,29 @@ TEST_F(UserVfsTest, StackedMounts) {
EXPECT_EQ(test2, expect2);
EXPECT_EQ(test3, expect3);
}
TEST_F(UserVfsTest, MoveVfs) {
// Create and move a VFS to another address.
mjVFS* original = new mjVFS();
mj_defaultVFS(original);
mjVFS vfs = *original;
delete original;
std::string buffer = "<mujoco/>";
mj_addBufferVFS(&vfs, "model", static_cast<const void*>(buffer.c_str()),
buffer.size());
mjResource* resource = mju_openResource("", "model", &vfs, nullptr, 0);
ASSERT_THAT(resource, NotNull());
const void* out = nullptr;
const int size = mju_readResource(resource, &out);
EXPECT_GT(size, 0);
EXPECT_THAT(out, NotNull());
mju_closeResource(resource);
mj_deleteVFS(&vfs);
}
} // namespace
} // namespace mujoco