11import os
22from e3 .testsuite .result import FailureReason
3-
3+ from e3 . testsuite . driver . classic import TestAbortWithFailure
44from drivers .base_driver import BaseDriver
55
66
@@ -50,13 +50,23 @@ def compute_failures(self):
5050 result = self .compute_diff (filename , baseline , self .output .log )
5151
5252 # Lkt Refactor test
53- if self .lkt_output :
54- result += self .compute_diff (
55- None ,
56- baseline ,
57- self .lkt_output ,
58- failure_message = "execution after refactor TO_LKQL_V2: unexpected output"
59- )
53+ match self .test_env .get ('lkt_refactor' ):
54+ case None :
55+ xfail = self .compute_diff (None , baseline , self .lkt_output )
56+ if not xfail :
57+ self .result .diff = 'Test unexpectedly succeeded after refactor TO_LKQL_V2'
58+ raise TestAbortWithFailure
59+
60+ case True :
61+ result += self .compute_diff (
62+ None ,
63+ baseline ,
64+ self .lkt_output ,
65+ failure_message = 'execution after refactor TO_LKQL_V2: unexpected output'
66+ )
67+
68+ case False :
69+ pass
6070
6171 if result :
6272 self .result .failure_reasons .add (FailureReason .DIFF )
@@ -74,7 +84,7 @@ def run(self) -> None:
7484 # we refactor the "script.lkql" file and run the interpreter on it.
7585 # This way we can compare the results of the rewritten script
7686 # with the original
77- if self .test_env .get ('lkt_refactor' , False ) :
87+ if self .test_env .get ('lkt_refactor' ) is not False :
7888 # Translate "script.lkql" to "refactored.lkql"
7989 refactored_file_path = self .working_dir ('refactored.lkql' )
8090 with open (refactored_file_path , 'w' ) as file :
0 commit comments