Skip to content

Conversation

@PGijsbers
Copy link
Collaborator

@PGijsbers PGijsbers commented Jan 30, 2026

Update the tests to allow connecting to a local test server instead of a remote one (requires openml/services#13).

Running the tests locally:

  • Locally start the services (as defined in [WIP] Update to function as out-of-the-box test server services#13) using docker compose --profile "rest-api" --profile "evaluation-engine" up -d. Startup can take a few minutes, as currently the PHP container still builds the ES indices from scratch.

    I noticed that the start_period for some services isn't sufficient on my M1 Mac, possibly due to some containers requiring Rosetta to run, slowing things down. You can recognize this by the services reporting "Error" while the container remains running. To avoid this, you can either increase the start_period of the services (mostly elastic search and php api), or you can simply run the command again (the services are then already in healthy state and the services that depended on it can start successfully).

    The following containers should run: openml-test-database, openml-php-rest-api, openml-nginx, openml-evaluation-engine, openml-elasticsearch, openml-minio

  • Update the openml/config.py's TEST_SERVER_URL variable to "http://localhost:8000".

  • Run the tests (python -m pytest -m "not production" tests).

This PR builds off unmerged PR #1620.

Locally, MinIO already has more parquet files than on the test server.
Note that the previously strategy didn't work anymore if the server
returned a parquet file, which is the case for the new local setup.
This means it is not reliant on the evaluation engine processing the
dataset. Interestingly, the database state purposely seems to keep
the last task's dataset in preparation explicitly (by having
processing marked as done but having to dataset_status entry).
@@ -0,0 +1 @@
/Users/pietergijsbers/repositories/openml-python/tests/files/org/openml/test No newline at end of file
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will make this relative

@codecov-commenter
Copy link

codecov-commenter commented Jan 30, 2026

Codecov Report

❌ Patch coverage is 62.50000% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 52.75%. Comparing base (99928f8) to head (0b989d1).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
openml/tasks/functions.py 50.00% 2 Missing ⚠️
openml/cli.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1630   +/-   ##
=======================================
  Coverage   52.75%   52.75%           
=======================================
  Files          36       36           
  Lines        4333     4333           
=======================================
  Hits         2286     2286           
  Misses       2047     2047           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants