28
28
class TestArgs :
29
29
only : list [str ] = field (default_factory = list )
30
30
help : bool = False
31
+ program : bool = False
31
32
no_fail_fast : bool = False
32
33
category : str = "cli"
33
34
34
35
35
36
def test_options (parser : ArgumentParser ) -> ArgumentParser :
36
37
parser .add_argument ("--only" , "-n" , nargs = "*" )
37
38
parser .add_argument ("--no-fail-fast" , flag = True )
39
+ parser .add_argument ("--program" , flag = True )
38
40
parser .add_required (
39
41
"category" ,
40
42
nargs = 1 ,
@@ -79,8 +81,11 @@ class SkipTest(Exception):
79
81
80
82
81
83
class Runner :
82
- def __init__ (self ) -> None :
83
- self .program = [sys .executable , "-m" , "auto_editor" ]
84
+ def __init__ (self , is_program : bool ) -> None :
85
+ if is_program :
86
+ self .program = ["./auto-editor" ]
87
+ else :
88
+ self .program = [sys .executable , "-m" , "auto_editor" ]
84
89
self .temp_dir = mkdtemp ()
85
90
86
91
def main (self , inputs : list [str ], cmd : list [str ], output : str | None = None ) -> str :
@@ -776,7 +781,7 @@ def main(sys_args: list[str] | None = None) -> None:
776
781
sys_args = sys .argv [1 :]
777
782
778
783
args = test_options (ArgumentParser ("test" )).parse_args (TestArgs , sys_args )
779
- run = Runner ()
784
+ run = Runner (args . program )
780
785
tests = []
781
786
782
787
test_methods = {
@@ -785,7 +790,7 @@ def main(sys_args: list[str] | None = None) -> None:
785
790
if callable (getattr (Runner , name )) and name not in ["main" , "raw" , "check" ]
786
791
}
787
792
788
- if args .category in {"palet" , "all" }:
793
+ if not args . program and args .category in {"palet" , "all" }:
789
794
tests .extend (
790
795
[test_methods [name ] for name in ["palet_python_bridge" , "palet_scripts" ]]
791
796
)
0 commit comments