diff --git a/esphome/components/substitutions/__init__.py b/esphome/components/substitutions/__init__.py index ef368015..2d3a79cc 100644 --- a/esphome/components/substitutions/__init__.py +++ b/esphome/components/substitutions/__init__.py @@ -116,7 +116,7 @@ def do_substitution_pass(config, command_line_substitutions, ignore_missing=Fals if CONF_SUBSTITUTIONS not in config and not command_line_substitutions: return - substitutions = config[CONF_SUBSTITUTIONS] + substitutions = config.get(CONF_SUBSTITUTIONS) if substitutions is None: substitutions = command_line_substitutions elif command_line_substitutions: diff --git a/esphome/config.py b/esphome/config.py index 1f6867eb..73aa7077 100644 --- a/esphome/config.py +++ b/esphome/config.py @@ -756,11 +756,11 @@ def validate_config( CORE.raw_config = config # 1. Load substitutions - if CONF_SUBSTITUTIONS in config: + if CONF_SUBSTITUTIONS in config or command_line_substitutions: from esphome.components import substitutions result[CONF_SUBSTITUTIONS] = { - **config[CONF_SUBSTITUTIONS], + **config.get(CONF_SUBSTITUTIONS, {}), **command_line_substitutions, } result.add_output_path([CONF_SUBSTITUTIONS], CONF_SUBSTITUTIONS) diff --git a/script/test_build_components b/script/test_build_components index 23963531..4d912565 100755 --- a/script/test_build_components +++ b/script/test_build_components @@ -37,9 +37,9 @@ start_esphome() { # Start esphome process echo "> [$target_component] [$test_name] [$target_platform]" - echo "esphome -s component_name $target_component -s test_name $test_name -s target_platform $target_platform $esphome_command $component_test_file" + echo "esphome -s component_name $target_component -s component_dir ../../components/$target_component -s test_name $test_name -s target_platform $target_platform $esphome_command $component_test_file" # TODO: Validate escape of Command line substitution value - esphome -s component_name $target_component -s test_name $test_name -s target_platform $target_platform $esphome_command $component_test_file + esphome -s component_name $target_component -s component_dir ../../components/$target_component -s test_name $test_name -s target_platform $target_platform $esphome_command $component_test_file } # Find all test yaml files. diff --git a/tests/test_build_components/build_components_base.bk72xx.yaml b/tests/test_build_components/build_components_base.bk72xx.yaml index d74cc651..9fd94318 100644 --- a/tests/test_build_components/build_components_base.bk72xx.yaml +++ b/tests/test_build_components/build_components_base.bk72xx.yaml @@ -12,8 +12,4 @@ packages: component_under_test: !include file: $component_test_file vars: - component_name: $component_name - test_name: $test_name - target_platform: $target_platform component_test_file: $component_test_file - component_dir: "../../components/$component_name" diff --git a/tests/test_build_components/build_components_base.esp32-ard.yaml b/tests/test_build_components/build_components_base.esp32-ard.yaml index e345adca..31b7067a 100644 --- a/tests/test_build_components/build_components_base.esp32-ard.yaml +++ b/tests/test_build_components/build_components_base.esp32-ard.yaml @@ -14,8 +14,4 @@ packages: component_under_test: !include file: $component_test_file vars: - component_name: $component_name - test_name: $test_name - target_platform: $target_platform component_test_file: $component_test_file - component_dir: "../../components/$component_name" diff --git a/tests/test_build_components/build_components_base.esp32-c3-ard.yaml b/tests/test_build_components/build_components_base.esp32-c3-ard.yaml index 136ee62d..8aad4476 100644 --- a/tests/test_build_components/build_components_base.esp32-c3-ard.yaml +++ b/tests/test_build_components/build_components_base.esp32-c3-ard.yaml @@ -14,8 +14,4 @@ packages: component_under_test: !include file: $component_test_file vars: - component_name: $component_name - test_name: $test_name - target_platform: $target_platform component_test_file: $component_test_file - component_dir: "../../components/$component_name" diff --git a/tests/test_build_components/build_components_base.esp32-c3-idf.yaml b/tests/test_build_components/build_components_base.esp32-c3-idf.yaml index 4e809dd7..18584497 100644 --- a/tests/test_build_components/build_components_base.esp32-c3-idf.yaml +++ b/tests/test_build_components/build_components_base.esp32-c3-idf.yaml @@ -14,8 +14,4 @@ packages: component_under_test: !include file: $component_test_file vars: - component_name: $component_name - test_name: $test_name - target_platform: $target_platform component_test_file: $component_test_file - component_dir: "../../components/$component_name" diff --git a/tests/test_build_components/build_components_base.esp32-idf.yaml b/tests/test_build_components/build_components_base.esp32-idf.yaml index 3c4532a9..a62a995e 100644 --- a/tests/test_build_components/build_components_base.esp32-idf.yaml +++ b/tests/test_build_components/build_components_base.esp32-idf.yaml @@ -14,8 +14,4 @@ packages: component_under_test: !include file: $component_test_file vars: - component_name: $component_name - test_name: $test_name - target_platform: $target_platform component_test_file: $component_test_file - component_dir: "../../components/$component_name" diff --git a/tests/test_build_components/build_components_base.esp32-s2-ard.yaml b/tests/test_build_components/build_components_base.esp32-s2-ard.yaml index db62cdff..b8f26391 100644 --- a/tests/test_build_components/build_components_base.esp32-s2-ard.yaml +++ b/tests/test_build_components/build_components_base.esp32-s2-ard.yaml @@ -15,8 +15,4 @@ packages: component_under_test: !include file: $component_test_file vars: - component_name: $component_name - test_name: $test_name - target_platform: $target_platform component_test_file: $component_test_file - component_dir: "../../components/$component_name" diff --git a/tests/test_build_components/build_components_base.esp32-s2-idf.yaml b/tests/test_build_components/build_components_base.esp32-s2-idf.yaml index 19fb657d..62f0f4f7 100644 --- a/tests/test_build_components/build_components_base.esp32-s2-idf.yaml +++ b/tests/test_build_components/build_components_base.esp32-s2-idf.yaml @@ -15,8 +15,4 @@ packages: component_under_test: !include file: $component_test_file vars: - component_name: $component_name - test_name: $test_name - target_platform: $target_platform component_test_file: $component_test_file - component_dir: "../../components/$component_name" diff --git a/tests/test_build_components/build_components_base.esp32-s3-ard.yaml b/tests/test_build_components/build_components_base.esp32-s3-ard.yaml index 39e12de0..25cad038 100644 --- a/tests/test_build_components/build_components_base.esp32-s3-ard.yaml +++ b/tests/test_build_components/build_components_base.esp32-s3-ard.yaml @@ -15,8 +15,4 @@ packages: component_under_test: !include file: $component_test_file vars: - component_name: $component_name - test_name: $test_name - target_platform: $target_platform component_test_file: $component_test_file - component_dir: "../../components/$component_name" diff --git a/tests/test_build_components/build_components_base.esp32-s3-idf.yaml b/tests/test_build_components/build_components_base.esp32-s3-idf.yaml index 95c73f91..b1d08fcd 100644 --- a/tests/test_build_components/build_components_base.esp32-s3-idf.yaml +++ b/tests/test_build_components/build_components_base.esp32-s3-idf.yaml @@ -15,8 +15,4 @@ packages: component_under_test: !include file: $component_test_file vars: - component_name: $component_name - test_name: $test_name - target_platform: $target_platform component_test_file: $component_test_file - component_dir: "../../components/$component_name" diff --git a/tests/test_build_components/build_components_base.esp8266.yaml b/tests/test_build_components/build_components_base.esp8266.yaml index 0019298e..ecf9acd2 100644 --- a/tests/test_build_components/build_components_base.esp8266.yaml +++ b/tests/test_build_components/build_components_base.esp8266.yaml @@ -12,8 +12,4 @@ packages: component_under_test: !include file: $component_test_file vars: - component_name: $component_name - test_name: $test_name - target_platform: $target_platform component_test_file: $component_test_file - component_dir: "../../components/$component_name" diff --git a/tests/test_build_components/build_components_base.host.yaml b/tests/test_build_components/build_components_base.host.yaml index ec7570d9..5492cfdd 100644 --- a/tests/test_build_components/build_components_base.host.yaml +++ b/tests/test_build_components/build_components_base.host.yaml @@ -12,8 +12,4 @@ packages: component_under_test: !include file: $component_test_file vars: - component_name: $component_name - test_name: $test_name - target_platform: $target_platform component_test_file: $component_test_file - component_dir: "../../components/$component_name" diff --git a/tests/test_build_components/build_components_base.rp2040.yaml b/tests/test_build_components/build_components_base.rp2040.yaml index cb1cb635..33564237 100644 --- a/tests/test_build_components/build_components_base.rp2040.yaml +++ b/tests/test_build_components/build_components_base.rp2040.yaml @@ -15,8 +15,4 @@ packages: component_under_test: !include file: $component_test_file vars: - component_name: $component_name - test_name: $test_name - target_platform: $target_platform component_test_file: $component_test_file - component_dir: "../../components/$component_name"