@@ -358,4 +358,43 @@ test.describe('Bad config.py/config.yaml file issues', () => {
358358 . first ( )
359359 . isVisible ( { timeout : 5_000 } )
360360 } )
361+
362+ test ( 'sushi example, bad config.py' , async ( { page, sharedCodeServer } ) => {
363+ const tempDir = await fs . mkdtemp (
364+ path . join ( os . tmpdir ( ) , 'vscode-test-tcloud-' ) ,
365+ )
366+ await fs . copy ( SUSHI_SOURCE_PATH , tempDir )
367+ await createPythonInterpreterSettingsSpecifier ( tempDir )
368+
369+ const configPyPath = path . join ( tempDir , 'config.py' )
370+ // Write an invalid Python to config.py
371+ await fs . writeFile ( configPyPath , 'invalid_python_code = [1, 2, 3' )
372+
373+ await page . goto (
374+ `http://127.0.1:${ sharedCodeServer . codeServerPort } /?folder=${ tempDir } ` ,
375+ )
376+ await page . waitForLoadState ( 'networkidle' )
377+
378+ // Open customers.sql model
379+ await page
380+ . getByRole ( 'treeitem' , { name : 'models' , exact : true } )
381+ . locator ( 'a' )
382+ . click ( )
383+ await page
384+ . getByRole ( 'treeitem' , { name : 'customers.sql' , exact : true } )
385+ . locator ( 'a' )
386+ . click ( )
387+
388+ // Expect the error to appear
389+ await page . waitForSelector ( 'text=Error creating context' )
390+
391+ // Open the problems view
392+ await runCommand ( page , 'View: Focus Problems' )
393+
394+ // Assert that the error is present in the problems view
395+ await page
396+ . getByText ( 'Python syntax error in config file:' , { exact : true } )
397+ . first ( )
398+ . isVisible ( { timeout : 5_000 } )
399+ } )
361400} )
0 commit comments