File tree Expand file tree Collapse file tree 3 files changed +19
-3
lines changed
Expand file tree Collapse file tree 3 files changed +19
-3
lines changed Original file line number Diff line number Diff line change @@ -682,7 +682,7 @@ def extract_error_details(ex: Exception) -> str:
682682 if frame .f_code .co_name == "_invoke" :
683683 macro = frame .f_locals .get ("self" )
684684 if isinstance (macro , Macro ):
685- error_details += f" in macro: { macro .name } \n "
685+ error_details += f" in macro: ' { macro .name } ' \n "
686686 break
687687 except :
688688 # to fall back to the generic error message if frame analysis fails
Original file line number Diff line number Diff line change @@ -671,7 +671,7 @@ def test_jinja_macro_undefined_variable_error(tmp_path: pathlib.Path):
671671 error_message = str (exc_info .value )
672672 assert "Failed to load model" in error_message
673673 assert "Could not render or parse jinja for" in error_message
674- assert "Undefined macro/variable: 'target' in macro: generate_select" in error_message
674+ assert "Undefined macro/variable: 'target' in macro: ' generate_select' " in error_message
675675
676676
677677def test_clear_caches (tmp_path : pathlib .Path ):
Original file line number Diff line number Diff line change @@ -582,9 +582,25 @@ def test_load_microbatch_with_ref_no_filter(
582582 )
583583
584584
585+ @pytest .mark .slow
585586def test_dbt_jinja_macro_undefined_variable_error (create_empty_project ):
586587 project_dir , model_dir = create_empty_project ()
587588
589+ dbt_profile_config = {
590+ "test" : {
591+ "outputs" : {
592+ "duckdb" : {
593+ "type" : "duckdb" ,
594+ "path" : str (project_dir .parent / "dbt_data" / "main.db" ),
595+ }
596+ },
597+ "target" : "duckdb" ,
598+ }
599+ }
600+ db_profile_file = project_dir / "profiles.yml"
601+ with open (db_profile_file , "w" , encoding = "utf-8" ) as f :
602+ YAML ().dump (dbt_profile_config , f )
603+
588604 macros_dir = project_dir / "macros"
589605 macros_dir .mkdir ()
590606
@@ -616,4 +632,4 @@ def test_dbt_jinja_macro_undefined_variable_error(create_empty_project):
616632 error_message = str (exc_info .value )
617633 assert "Failed to update model schemas" in error_message
618634 assert "Could not render or parse jinja for" in error_message
619- assert "Undefined macro/variable: 'columns' in macro: select_columns" in error_message
635+ assert "Undefined macro/variable: 'columns' in macro: ' select_columns' " in error_message
You can’t perform that action at this time.
0 commit comments