mirror of
https://github.com/esphome/esphome.git
synced 2026-10-09 12:26:02 +00:00
36 lines
1.5 KiB
Python
36 lines
1.5 KiB
Python
from pathlib import Path
|
|
|
|
import esphome.codegen as cg
|
|
from esphome.const import CONF_ESPHOME, CONF_INCLUDES
|
|
from esphome.core import CORE
|
|
from tests.testing_helpers import ComponentManifestOverride
|
|
|
|
TESTS_DIR = Path(__file__).parent
|
|
|
|
|
|
def override_manifest(manifest: ComponentManifestOverride) -> None:
|
|
# USE_API compiles every api source, so emit what they need. No socket
|
|
# override: an __init__.py there makes pytest import its conftest as socket.conftest.
|
|
async def to_code_testing(config):
|
|
cg.add_define("USE_API")
|
|
cg.add_define("USE_API_PLAINTEXT")
|
|
# Linked wizard inputs only exist next to homeassistant entities, which need this
|
|
cg.add_define("USE_API_HOMEASSISTANT_STATES")
|
|
# test_wizard.cpp supplies the tables that codegen emits for a real build;
|
|
# it is only compiled when api's own tests are, not when api is a dependency
|
|
if any(Path(p) == TESTS_DIR for p in CORE.config[CONF_ESPHOME][CONF_INCLUDES]):
|
|
for define in (
|
|
"USE_API_WIZARD",
|
|
"USE_API_WIZARD_INPUTS",
|
|
"USE_API_WIZARD_LINKED_INPUTS",
|
|
"USE_API_WIZARD_STANDALONE_INPUTS",
|
|
):
|
|
cg.add_define(define)
|
|
cg.add_define("API_WIZARD_DATA_SIZE", 200)
|
|
cg.add_define("API_WIZARD_INPUT_COUNT", 2)
|
|
cg.add_define("API_MAX_SEND_QUEUE", 8)
|
|
cg.add_define("MAX_API_CONNECTIONS", 1)
|
|
cg.add_define("USE_SOCKET_IMPL_BSD_SOCKETS")
|
|
|
|
manifest.to_code = to_code_testing
|