Coverage for mlos_viz/mlos_viz/tests/conftest.py: 62%
21 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-30 00:51 +0000
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-30 00:51 +0000
1#
2# Copyright (c) Microsoft Corporation.
3# Licensed under the MIT License.
4#
5"""Export test fixtures for mlos_viz."""
7import os
8import sys
9from glob import glob
10from pathlib import Path
11from warnings import warn
13from mlos_bench.tests import tunable_groups_fixtures
14from mlos_bench.tests.storage.sql import fixtures as sql_storage_fixtures
16# Expose some of those as local names so they can be picked up as fixtures by pytest.
18storage = sql_storage_fixtures.storage
19exp_storage = sql_storage_fixtures.exp_storage
20exp_data = sql_storage_fixtures.exp_data
22tunable_groups_config = tunable_groups_fixtures.tunable_groups_config
23tunable_groups = tunable_groups_fixtures.tunable_groups
25# Workaround for #1004
26# See Also: https://github.com/python/cpython/issues/111754
27if sys.platform == "win32":
28 # Fix Tcl/Tk folder
29 tcl_path_info = {
30 "TCL_LIBRARY": ["tcl*", "init.tcl"],
31 "TK_LIBRARY": ["tk*", "pkgIndex.tcl"],
32 "TIX_LIBRARY": ["tix*", "pkgIndex.tcl"],
33 }
34 for env_var, (subdir_pattern, file_name) in tcl_path_info.items():
35 if env_var not in os.environ:
36 try:
37 os.environ[env_var] = str(
38 Path(
39 next(
40 iter(
41 glob(
42 os.path.join(
43 sys.base_prefix,
44 "Library",
45 "lib",
46 subdir_pattern,
47 file_name,
48 )
49 )
50 )
51 )
52 ).parent
53 )
54 warn(f"""Setting {env_var} to {os.environ[env_var]}""", UserWarning)
55 except StopIteration:
56 warn(
57 UserWarning(f"{env_var} not found, some Tcl/Tk functionality may be limited.")
58 )