| ## Compile and Test Environment |
| |
| If the Antigravity/Gemini console/server is not running in the OpenBMC unittest |
| container, all compile and testing tasks should be redirected to the container. |
| **Always use the `openbmc/ubuntu-unit-test` Docker container for all build and |
| test commands.** Otherwise, directly start the task on the bare server, given it |
| has been in the container. |
| |
| Always compile and run tests in the Docker container. |
| |
| Use `.vscode/settings.json` and `.devcontainer/devcontainer.json` to setup the |
| docker environment. |
| |
| ## Meson Configuration |
| |
| To configure Meson inside the OpenBMC unit test container, run the following |
| command from the workspace root: |
| |
| ```bash |
| docker run --rm -v "${PWD}:/ws" -w /ws openbmc/ubuntu-unit-test:2025-W36-725b9a7cb31b8fdf meson setup build_docker |
| ``` |
| |
| ## Object Mapper Setup |
| |
| To run the real Object Mapper (`mapperx`) inside the OpenBMC unit test |
| container, use the following command in a separate terminal: |
| |
| ```bash |
| docker run --rm -v "${PWD}:/ws" -w /ws openbmc/ubuntu-unit-test:2025-W36-725b9a7cb31b8fdf bash -c "LD_LIBRARY_PATH=/usr/local/lib/x86_64-linux-gnu/:/usr/local/lib/ /usr/local/libexec/phosphor-objmgr/mapperx --service-namespaces='xyz.openbmc_project' --interface-namespaces='xyz.openbmc_project'" |
| ``` |