ORM Client Tests
These tests verify that various ORM libraries that support MySQL are compatible with Dolt. Ideally, we use the same test suite that the ORM provides to test their support with MySQL, but in some cases we may start with a smaller smoke test to get some quick, initial coverage.
These tests can be run locally using Docker from the root of the workspace directory that contains dolt/:
$ docker build -t orm-tests -f dolt/integration-tests/orm-tests/Dockerfile .
$ docker run orm-tests:latest
The dolt binary is built in a separate stage from the ORM test runtime. This speeds up first-time image builds with parallel stage building. Secondly, ORM-only changes will reuse the cached binary from the dolt_build stage.
You can also build other Dolt related dependencies from a local source into the Docker dolt binary. Copy the required source into the dolt_build stage's build/ directory in the orm-tests/Dockerfile. The one caveat is that your repository must be placed in the same parent directory as dolt.
COPY go-mysql-server /build/go-mysql-server
The line above has been commented out in the actual Dockerfile so you know the correct placement. You are responsible for updating go.mod with the replace directive in your local dolt/ directory.
To stop the build at a specific stage use --target <stage_name> option. You can then run the build as a normal image afterward, but it'll run within the target stage. Alternatively, use GoLand's bundled Docker plugin. You may have to add *Dockerfile as a pattern in your File Types settings.