@@ -52,6 +52,8 @@ def qlgen_opts(opts):
52
52
opts .ql_format = True
53
53
opts .root_dir = paths .root_dir
54
54
opts .force = False
55
+ opts .codeql_binary = "./my_fake_codeql"
56
+ pathlib .Path (opts .codeql_binary ).touch ()
55
57
return opts
56
58
57
59
@@ -499,7 +501,6 @@ def test_class_dir_imports(generate_import_list):
499
501
500
502
501
503
def test_format (opts , generate , render_manager , run_mock ):
502
- opts .codeql_binary = "my_fake_codeql"
503
504
run_mock .return_value .stderr = "some\n lines\n "
504
505
render_manager .written = [
505
506
pathlib .Path ("x" , "foo.ql" ),
@@ -508,13 +509,12 @@ def test_format(opts, generate, render_manager, run_mock):
508
509
]
509
510
generate ([schema .Class ('A' )])
510
511
assert run_mock .mock_calls == [
511
- mock .call (["my_fake_codeql" , "query" , "format" , "--in-place" , "--" , "x/foo.ql" , "bar.qll" ],
512
+ mock .call ([opts . codeql_binary , "query" , "format" , "--in-place" , "--" , "x/foo.ql" , "bar.qll" ],
512
513
stderr = subprocess .PIPE , text = True ),
513
514
]
514
515
515
516
516
517
def test_format_error (opts , generate , render_manager , run_mock ):
517
- opts .codeql_binary = "my_fake_codeql"
518
518
run_mock .return_value .stderr = "some\n lines\n "
519
519
run_mock .return_value .returncode = 1
520
520
render_manager .written = [
@@ -526,6 +526,24 @@ def test_format_error(opts, generate, render_manager, run_mock):
526
526
generate ([schema .Class ('A' )])
527
527
528
528
529
+ def test_format_no_codeql (opts , generate , render_manager , run_mock ):
530
+ pathlib .Path (opts .codeql_binary ).unlink ()
531
+ render_manager .written = [
532
+ pathlib .Path ("bar.qll" ),
533
+ ]
534
+ with pytest .raises (qlgen .FormatError ):
535
+ generate ([schema .Class ('A' )])
536
+
537
+
538
+ def test_format_no_codeql_in_path (opts , generate , render_manager , run_mock ):
539
+ opts .codeql_binary = "my_fake_codeql"
540
+ render_manager .written = [
541
+ pathlib .Path ("bar.qll" ),
542
+ ]
543
+ with pytest .raises (qlgen .FormatError ):
544
+ generate ([schema .Class ('A' )])
545
+
546
+
529
547
@pytest .mark .parametrize ("force" , [False , True ])
530
548
def test_manage_parameters (opts , generate , renderer , force ):
531
549
opts .force = force
0 commit comments