internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: bridgecrewio/checkov

Issue:
cannot import name 'SINGLE_BORDER' from 'prettytable' in checkov-2.0.752
**Describe the issue**
```
...
    Uninstalling checkov-2.0.751:
      Successfully uninstalled checkov-2.0.751
Successfully installed checkov-2.0.752

$ checkov
Traceback (most recent call last):
  File "xxx/.local/bin/checkov", line 2, in <module>
    from checkov.main import run
  File "xxx/.local/lib/python3.10/site-packages/checkov/main.py", line 49, in <module>
    from checkov.sca_package.runner import Runner as sca_package_runner
  File "xxx/.local/lib/python3.10/site-packages/checkov/sca_package/runner.py", line 12, in <module>
    from checkov.sca_package.output import create_report_record
  File "xxx/.local/lib/python3.10/site-packages/checkov/sca_package/output.py", line 8, in <module>
    from prettytable import PrettyTable, SINGLE_BORDER
ImportError: cannot import name 'SINGLE_BORDER' from 'prettytable' (/usr/lib/python3.10/site-packages/prettytable.py
```

**Additional context**
OS: Fedora release 35

```
$ rpm -qf /usr/lib/python3.10/site-packages/prettytable.py
python3-prettytable-0.7.2-27.fc35.noarch
```

**Workaround**
```
$ pip install --user prettytable --upgrade
```


Discussion:
cf: https://github.com/bridgecrewio/checkov/pull/2226
@PascalBourdier thanks for raising the issue, it looks like you had an old `prettytable` version in your virtualenv, because version `0.7.2` is from 2013 and probably belonged to one of the other packages in your Python env.
this file is provided by Fedora (RPM) not a virtualenv !
a minimum version of this component should be in a requirement file or equivalent
this is your Python env `/usr/lib/python3.10/site-packages/` and it is shared by all your Python packages and I can highly recommend to use dedicated virtual envs for Python based CLI tools like `checkov`. This for example is a very great tool to keep your Python package installations separated https://github.com/pypa/pipx. 

Anyway I will adjust the packaging to set the minimum version for that package.

Resolving patch:
diff --git a/checkov/kustomize/runner.py b/checkov/kustomize/runner.py
--- a/checkov/kustomize/runner.py
+++ b/checkov/kustomize/runner.py
@@ -328,7 +328,7 @@ def run(self, root_folder, external_checks_dir=None, files=None, runner_filter=R
                 report.skipped_checks += chart_results.skipped_checks
                 report.resources.update(chart_results.resources)
 
-            except Exception as e:
+            except Exception as e:  # noqa # some weird issue with flake8
                 logging.warning(e, stack_info=True)
                 with tempfile.TemporaryDirectory() as save_error_dir:
                     logging.debug(
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -65,7 +65,7 @@
         "aiomultiprocess",
         "jsonpath_ng",
         "jsonschema~=3.0",
-        "prettytable"
+        "prettytable>=3.0.0"
     ],
     license="Apache License 2.0",
     name="checkov",


Test patch:
Repository: bridgecrewio/checkov

Issue:
HCL2 parser cannot parse functions with comments interleaved in the arguments.
**Describe the issue**
The HCL2 parser fails to parse a file that contains an expression with a Terraform function call that contains comments interleaved within the arguments.

**Example Value**
A file that contains the following exaple variable will fail to parse.
```hcl
variable "example" {
  default = function(
    # this comment is fine
    argument1,
    # this comment causes a parsing error
    argument2
    # this comment is fine
  )
}
```

This seems to be a replicated issue in the downstream as well > https://github.com/amplify-education/python-hcl2/issues/95.

I have opened a PR to fix this in the bridgecrewio specific parser > https://github.com/bridgecrewio/python-hcl2/pull/29.

**Question**
Is the bridgecrewio HCL2 Parser intened to be merged upstream?
If not, I will implement the change in Amplify's codebase separately.

**An aside**
Checkov is an awesome tool, it makes the jobs of myself and the rest of the Platform/DevOps Engineers on my team so much easier!


Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -33,7 +33,7 @@
         ]
     },
     install_requires=[
-        "bc-python-hcl2==0.3.38",
+        "bc-python-hcl2==0.3.39",
         "cloudsplaining>=0.4.1",
         "deep_merge",
         "tabulate",


Test patch:
Repository: bridgecrewio/checkov

Issue:
No colour option
**Describe the issue**
Checkov cli output is heavily targeted for a dark background. Using a light theme makes it very hard to read.
Is there a way to remove color or control the theme used?

**Version:**
 - Checkov Version 2.0.1050

**Additional context**
Small search I found you use termcolor: https://github.com/bridgecrewio/checkov/blob/d55c68ff909c65e341e91938c13a155c99601f5f/checkov/common/output/report.py#L16
but I couldn't find a way to "mute" it. Maybe simply overwriting that function "colored" with a dummy lambda would do it.



Discussion:
thanks @Fran-Rg . Happy to get a contribution with environment variable that will mute it. 
As described in #2824 the env var should be named `NO_COLOR`
@gruebel @schosterbarak There is an existing setting in `termcolor.py` to control this -> `ANSI_COLORS_DISABLED` -> https://github.com/Uninett/PyMetric/blob/master/termcolor.py#L95. However one function in `record.py` needs to be fixed to address this `_code_line_string`. I'll make a PR for this method to be governed by the existing `termcolor` setting, unless there is a strong preference to have a `NO_COLOR` setting?
not from my side, if we get most of the functionality for free, by leveraging the other env var, then lats go with that for now. Great find @MooreDerek 

Resolving patch:
diff --git a/checkov/common/output/record.py b/checkov/common/output/record.py
--- a/checkov/common/output/record.py
+++ b/checkov/common/output/record.py
@@ -18,6 +18,8 @@
 
 OUTPUT_CODE_LINE_LIMIT = force_int(os.getenv('CHECKOV_OUTPUT_CODE_LINE_LIMIT')) or 50
 
+ANSI_COLORS_DISABLED = bool(os.getenv('ANSI_COLORS_DISABLED'))
+
 class Record:
     check_id = ""
     check_name = ""
@@ -165,7 +167,7 @@ def to_string(self, compact: bool = False, use_bc_ids: bool = False) -> str:
         )
         code_lines = ""
         if self.code_block:
-            code_lines = "\n{}\n".format("".join([self._code_line_string(self.code_block)]))
+            code_lines = "\n{}\n".format("".join([self._code_line_string(self.code_block, not(ANSI_COLORS_DISABLED))]))
         caller_file_details = ""
         if self.caller_file_path and self.caller_file_line_range:
             caller_file_details = colored(


Test patch:
Repository: bridgecrewio/checkov

Issue:
Checks IDs changing
Hi Team,

would like to request the check IDs do not get changed since we allowlist some checks which we run in our environment.
Eg : https://docs.bridgecrew.io/docs/bc_aws_iam_45 Check ID says CKV_AWS_61

whereas code is different for CKV_AWS_61.
Thanks!



Discussion:
hey @meghaddn I reviewed the code and we didn't adjust the checks name and ID since October 2020.
We adjusted the logic inside to fix edge cases and bugs, but it is still checking for the same thing. Maybe it is confusing because the title in the linked docs is different than the name of the check.
Can you tell me what exactly fails now and passed before?
Yes the title in docs is confusing. If the check is same could we please request that the docs have same title as checks in code. Thank you for looking into this.

Resolving patch:
diff --git a/checkov/cloudformation/checks/resource/aws/IAMRoleAllowAssumeFromAccount.py b/checkov/cloudformation/checks/resource/aws/IAMRoleAllowAssumeFromAccount.py
--- a/checkov/cloudformation/checks/resource/aws/IAMRoleAllowAssumeFromAccount.py
+++ b/checkov/cloudformation/checks/resource/aws/IAMRoleAllowAssumeFromAccount.py
@@ -8,7 +8,7 @@
 
 class IAMRoleAllowAssumeFromAccount(BaseResourceCheck):
     def __init__(self):
-        name = "Ensure IAM role allows only specific principals in account to assume it"
+        name = "Ensure AWS IAM policy does not allow assume role permission across all services"
         id = "CKV_AWS_61"
         supported_resources = ['AWS::IAM::Role']
         categories = [CheckCategories.IAM]
diff --git a/checkov/terraform/checks/resource/aws/IAMRoleAllowAssumeFromAccount.py b/checkov/terraform/checks/resource/aws/IAMRoleAllowAssumeFromAccount.py
--- a/checkov/terraform/checks/resource/aws/IAMRoleAllowAssumeFromAccount.py
+++ b/checkov/terraform/checks/resource/aws/IAMRoleAllowAssumeFromAccount.py
@@ -9,7 +9,7 @@
 class IAMRoleAllowAssumeFromAccount(BaseResourceCheck):
 
     def __init__(self):
-        name = "Ensure IAM role allows only specific principals in account to assume it"
+        name = "Ensure AWS IAM policy does not allow assume role permission across all services"
         id = "CKV_AWS_61"
         supported_resources = ['aws_iam_role']
         categories = [CheckCategories.IAM]


Test patch:
Repository: bridgecrewio/checkov

Issue:
CKV2 cloudformation checks are not packaged into the whl file 
**Describe the issue**
CKV2 cloudformation checks are not packaged into the whl file.
I don't see them in the list command or the policy index.
Checks are stored at: https://github.com/bridgecrewio/checkov/tree/master/checkov/cloudformation/checks/graph_checks/aws
**Additional context**
A solution should be similar to https://github.com/bridgecrewio/checkov/pull/2255

The impact is that ckv2 cfn policies are not running



Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -81,6 +81,7 @@
     include_package_data=True,
     package_dir={
         "checkov.bicep.checks.graph_checks": "checkov/bicep/checks/graph_checks",
+        "checkov.cloudformation.checks.graph_checks": "checkov/cloudformation/checks/graph_checks",
         "checkov.terraform.checks.graph_checks": "checkov/terraform/checks/graph_checks",
     },
     package_data={


Test patch:
Repository: bridgecrewio/checkov

Issue:
Terraform parsing error string with escaped backslash at the end
**Describe the issue**
Checkov crashes if it encounters an escaped backslash (`"\\"`) at the end of a string.

**Examples**
Minimal example to reproduce the error:
```terraform
variable "slash" {
    default = "\\"
}

output "slash" {
    value = var.slash
}
```
`terraform validate` sees this configuration as valid, but checkov fails with a parsing error.

This only happens when the last character of the string is the escaped backslash, as the parser assumes the closing quotation mark is escaped. Adding any normal character at the end of the string doesn't trigger this error.
```terraform
variable "slash" {
    default = "\\"
}
```

**Exception Trace**
Relevant traceback
```sh
> LOG_LEVEL=DEBUG checkov -d .
[...]
[MainThread  ] [DEBUG]  failed while parsing file /workdir/main.tf
Traceback (most recent call last):
  File "/Users/user/.local/pipx/venvs/checkov/lib/python3.8/site-packages/checkov/terraform/parser.py", line 726, in _load_or_die_quietly
    raw_data = hcl2.load(f)
  File "/Users/user/.local/pipx/venvs/checkov/lib/python3.8/site-packages/hcl2/api.py", line 12, in load
    return loads(file.read())
  File "/Users/user/.local/pipx/venvs/checkov/lib/python3.8/site-packages/hcl2/api.py", line 80, in loads
    raise ValueError(f"Line has unclosed quote marks: {line}")
ValueError: Line has unclosed quote marks:     default = "\\"
[...]
```

**Desktop (please complete the following information):**
 - OS: MacOS 12.3.1 (Intel)
 - Checkov Version: 2.0.1230


Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -33,7 +33,7 @@
         ]
     },
     install_requires=[
-        "bc-python-hcl2==0.3.42",
+        "bc-python-hcl2==0.3.44",
         "cloudsplaining>=0.4.1",
         "deep_merge",
         "tabulate",


Test patch:
Repository: bridgecrewio/checkov

Issue:
Markdown output extension is .txt not .md
**Describe the issue**
The markdown output extension is .txt not .md

**Additional context**
[The error can be found on line 333 of runner_registry.py](https://github.com/bridgecrewio/checkov/blob/ed8c376e6d03d962dac470148f1f84bc1b2eb5cc/checkov/common/runners/runner_registry.py#L333)

Swap .txt to .md and that should fix the issue!


Discussion:
hey @evannorstrand thanks for reaching out. Good catch 🚀 are you interested in contributing the needed change?

Resolving patch:
diff --git a/checkov/common/runners/runner_registry.py b/checkov/common/runners/runner_registry.py
--- a/checkov/common/runners/runner_registry.py
+++ b/checkov/common/runners/runner_registry.py
@@ -330,7 +330,7 @@ def print_reports(
 
         # Save output to file
         file_names = {'cli': 'results_cli.txt',
-                      'github_failed_only': 'results_github_failed_only.txt',
+                      'github_failed_only': 'results_github_failed_only.md',
                       'sarif': 'results_sarif.sarif',
                       'json': 'results_json.json',
                       'junitxml': 'results_junitxml.xml',


Test patch:
Repository: bridgecrewio/checkov

Issue:
CKV_DOCKER_10 mistakes quoted absolute paths for relative paths
**Describe the issue**
CKV_DOCKER_10 mistakes quoted absolute paths for relative paths.

**Examples**
```
cat << EOF > Dockerfile
FROM alpine:3.16
WORKDIR "/app"
EOF

checkov --check CKV_DOCKER_10 --file Dockerfile
```

![image](https://user-images.githubusercontent.com/64158840/194717605-6a503e7e-6f6f-45bf-80b4-77a901e91aff.png)

**Version (please complete the following information):**
2.1.258




Discussion:

Resolving patch:
diff --git a/checkov/dockerfile/checks/WorkdirIsAbsolute.py b/checkov/dockerfile/checks/WorkdirIsAbsolute.py
--- a/checkov/dockerfile/checks/WorkdirIsAbsolute.py
+++ b/checkov/dockerfile/checks/WorkdirIsAbsolute.py
@@ -5,7 +5,7 @@
 from checkov.common.models.enums import CheckCategories, CheckResult
 from checkov.dockerfile.base_dockerfile_check import BaseDockerfileCheck
 
-ISABSOLUTE = re.compile("(^/[A-Za-z0-9-_+]*)|(^[A-Za-z0-9-_+]:\\\\.*)|(^\\$[{}A-Za-z0-9-_+].*)")
+ISABSOLUTE = re.compile("^\"?((/[A-Za-z0-9-_+]*)|([A-Za-z0-9-_+]:\\\\.*)|(\\$[{}A-Za-z0-9-_+].*))")
 
 
 class WorkdirIsAbsolute(BaseDockerfileCheck):


Test patch:
diff --git a/tests/dockerfile/checks/example_WorkdirIsAbsolute/failure/Dockerfile b/tests/dockerfile/checks/example_WorkdirIsAbsolute/failure/Dockerfile
--- a/tests/dockerfile/checks/example_WorkdirIsAbsolute/failure/Dockerfile
+++ b/tests/dockerfile/checks/example_WorkdirIsAbsolute/failure/Dockerfile
@@ -3,6 +3,7 @@ RUN apk add --update py2-pip
 RUN pip install --upgrade pip
 WORKDIR /path/to/workdir
 WORKDIR workdir
+WORKDIR "../workdir"
 COPY requirements.txt /usr/src/app/
 RUN pip install --no-cache-dir -r /usr/src/app/requirements.txt
 WORKDIR workdir2
diff --git a/tests/dockerfile/checks/example_WorkdirIsAbsolute/success/Dockerfile b/tests/dockerfile/checks/example_WorkdirIsAbsolute/success/Dockerfile
--- a/tests/dockerfile/checks/example_WorkdirIsAbsolute/success/Dockerfile
+++ b/tests/dockerfile/checks/example_WorkdirIsAbsolute/success/Dockerfile
@@ -4,6 +4,8 @@ RUN pip install --upgrade pip
 WORKDIR /path/to/workdir
 WORKDIR /
 WORKDIR c:\\windows
+WORKDIR "/path/to/workdir"
+WORKDIR "c:\\windows"
 ENV DIRPATH=/path
 ENV GLASSFISH_ARCHIVE glassfish5
 WORKDIR $DIRPATH/$DIRNAME
diff --git a/tests/dockerfile/checks/test_WorkdirIsAbsolute.py b/tests/dockerfile/checks/test_WorkdirIsAbsolute.py
--- a/tests/dockerfile/checks/test_WorkdirIsAbsolute.py
+++ b/tests/dockerfile/checks/test_WorkdirIsAbsolute.py
@@ -19,7 +19,8 @@ def test(self):
 
         passing_resources = {"/success/Dockerfile."}
         failing_resources = [
-            "/failure/Dockerfile.WORKDIR",  # needs to be twice
+            "/failure/Dockerfile.WORKDIR",  # filenames appear once for each check violation in the file
+            "/failure/Dockerfile.WORKDIR",
             "/failure/Dockerfile.WORKDIR",
             "/failure/Dockerfile.simple.WORKDIR",
         ]
Repository: bridgecrewio/checkov

Issue:
Checkov hangs/slow if local kubeconfig points to a cluster that is unreachable
**Checkov performs slow if the local kubeconfig points to a cluster that is unreachable**
When my local `kubeconfig` file has a current_context that is set to a kubernetes cluster that is not reachable at that moment (because it is for example only accessble through VPN which is not connected at that time), checkov takes verry long to run. 

I've did a couple of tests, in the cases that had connection issues to the cluster set in current-context, checkov took at least 34 seconds to run. With a working cluster connection, it takes just 4-5 seconds.

Because I was unaware that checkov had any dependency on the current context set in kubectl, it took quite a while before I found that this was happening. 

I'd be more than willing to work on a PR myself to fix this, but would need some help from someone pointing me to the right direction in terms of where the depedendency of checkov to the kubctl context is created. 



Discussion:
hey @duncan485 thanks for reaching out. Definitely an interesting you found here 😄 my guess is it comes from the `kustomize` framework. Can you try to run `checkov` while skipping this framework and see if it is still taking so long?
```shell
checkov -d . --skip-framework kustomize
```
Hey @gruebel thanks! Apologies for the delay, but I think I found the problem, and have a potential solution. 


I think it is due to the `kubectl version` command that is being run here:

https://github.com/bridgecrewio/checkov/blob/6eb4c17aa28c6447a932f7b1f5d3aa9ee53b8563/checkov/kustomize/runner.py#L228

When I run `kubectl version` locally, with the same conditions, I also see the 30 second delay when my VPN is turned off. 

How would you feel about running this command with `kubectl version --client=true`, this would only show the client version, without a server connection required (also see kubctl refrence docs: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#version). 

If you think this is a good solution I'd like to work on the PR myself.


hey @duncan485 no problem 😄 

yeah that sounds great, because we don't care about the server at all 😄 are you interested in contributing the needed change?
Yes, will create a PR shortly


Resolving patch:
diff --git a/checkov/kustomize/runner.py b/checkov/kustomize/runner.py
--- a/checkov/kustomize/runner.py
+++ b/checkov/kustomize/runner.py
@@ -225,7 +225,7 @@ def check_system_deps(self):
 
         if shutil.which(self.kubectl_command) is not None:
             try:
-                proc = subprocess.Popen([self.kubectl_command, 'version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)  # nosec
+                proc = subprocess.Popen([self.kubectl_command, 'version', '--client=true'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)  # nosec
                 o, e = proc.communicate()
                 oString = str(o, 'utf-8')
 


Test patch:
Repository: bridgecrewio/checkov

Issue:
Duplicate checks CKV_K8S_29 and CKV_K8S_30 ?
It seem that both checks are the same, at least in the description :

```
Check: CKV_K8S_29: "Apply security context to your pods and containers"
	FAILED for resource: module.some_module.kubernetes_deployment.app
	File: /base/main.tf:12-355
	Calling File: /some_module.tf:1-116

Check: CKV_K8S_30: "Apply security context to your pods and containers"
	FAILED for resource: module.some_module.kubernetes_deployment.app
	File: /base/main.tf:12-355
	Calling File: /some_module.tf:1-116
```


Discussion:
Its just naming, the second looks at containers, the first at resources like pods

Resolving patch:
diff --git a/checkov/kubernetes/checks/resource/k8s/ContainerSecurityContext.py b/checkov/kubernetes/checks/resource/k8s/ContainerSecurityContext.py
--- a/checkov/kubernetes/checks/resource/k8s/ContainerSecurityContext.py
+++ b/checkov/kubernetes/checks/resource/k8s/ContainerSecurityContext.py
@@ -7,7 +7,7 @@
 class ContainerSecurityContext(BaseK8sContainerCheck):
     def __init__(self) -> None:
         # CIS-1.5 5.7.3
-        name = "Apply security context to your pods and containers"
+        name = "Apply security context to your containers"
         # Security context can be set at pod or container level.
         # Location: container .securityContext
         id = "CKV_K8S_30"
diff --git a/checkov/terraform/checks/resource/kubernetes/PodSecurityContext.py b/checkov/terraform/checks/resource/kubernetes/PodSecurityContext.py
--- a/checkov/terraform/checks/resource/kubernetes/PodSecurityContext.py
+++ b/checkov/terraform/checks/resource/kubernetes/PodSecurityContext.py
@@ -6,7 +6,7 @@ class PodSecurityContext(BaseResourceCheck):
 
     def __init__(self):
         # CIS-1.5 5.7.3
-        name = "Apply security context to your pods and containers"
+        name = "Apply security context to your pods, deployments and daemon_sets"
         # Security context can be set at pod or container level.
         id = "CKV_K8S_29"
 


Test patch:
Repository: bridgecrewio/checkov

Issue:
Some ansible playbooks cause checkov crash
Continuation of #4471 

The following playbook (probably because of missing tasks) still causes checkov to crash:

```yaml
- name: Sample play
  hosts:
    - test
  roles:
    - role: somerole
```

cc @gruebel 


Discussion:
@Igorgro of course there will be more 🙈 thanks for keep testing it 🏅 

Resolving patch:
diff --git a/checkov/ansible/graph_builder/local_graph.py b/checkov/ansible/graph_builder/local_graph.py
--- a/checkov/ansible/graph_builder/local_graph.py
+++ b/checkov/ansible/graph_builder/local_graph.py
@@ -42,11 +42,11 @@ def _process_blocks(self, file_path: str, task: Any, prefix: str = "") -> None:
         if not task or not isinstance(task, dict):
             return
 
-        if "block" in task and isinstance(task["block"], list):
+        if ResourceType.BLOCK in task and isinstance(task[ResourceType.BLOCK], list):
             prefix += f"{ResourceType.BLOCK}."  # with each nested level an extra block prefix is added
             self._create_block_vertices(file_path=file_path, block=task, prefix=prefix)
 
-            for block_task in task["block"]:
+            for block_task in task[ResourceType.BLOCK]:
                 self._process_blocks(file_path=file_path, task=block_task, prefix=prefix)
         else:
             self._create_tasks_vertices(file_path=file_path, task=task, prefix=prefix)
@@ -65,6 +65,9 @@ def _create_tasks_vertices(self, file_path: str, task: Any, prefix: str = "") ->
                 continue
             if name in (START_LINE, END_LINE):
                 continue
+            if isinstance(config, list):
+                # either it is actually not an Ansible file or a playbook without tasks refs
+                continue
 
             resource_type = f"{ResourceType.TASKS}.{name}"
 


Test patch:
diff --git a/tests/ansible/examples/no_tasks.yml b/tests/ansible/examples/no_tasks.yml
new file mode 100644
--- /dev/null
+++ b/tests/ansible/examples/no_tasks.yml
@@ -0,0 +1,7 @@
+---
+
+- name: Sample play
+  hosts:
+    - test
+  roles:
+    - role: somerole
diff --git a/tests/ansible/test_runner.py b/tests/ansible/test_runner.py
--- a/tests/ansible/test_runner.py
+++ b/tests/ansible/test_runner.py
@@ -222,6 +222,29 @@ def test_runner_with_nested_blocks(graph_connector):
     assert failing_resources == failed_check_resources
 
 
+@pytest.mark.parametrize(
+    "graph_connector",
+    [
+        NetworkxConnector,
+        IgraphConnector,
+    ],
+)
+def test_runner_with_no_tasks(graph_connector):
+    # given
+    test_file = EXAMPLES_DIR / "no_tasks.yml"
+
+    # when
+    report = Runner(db_connector=graph_connector()).run(root_folder="", files=[str(test_file)])
+
+    # then
+    summary = report.get_summary()
+
+    assert summary["passed"] == 0
+    assert summary["failed"] == 0
+    assert summary["skipped"] == 0
+    assert summary["parsing_errors"] == 0
+
+
 @pytest.mark.parametrize(
     "graph_connector",
     [