Skip to content

Add support for YAML CodeChecker config files #30

@Szelethus

Description

@Szelethus

As discussed in the documentation patch #13, we likely also support YAML config files as well. Here is the corresponding CodeChecker documentation: https://github.com/Ericsson/codechecker/blob/master/docs/config_file.md#yaml.

My initial impression is to the contrary. I created config.yaml to the image of config.json already in the repo:

config.json:

{
    "analyze": [
        "--enable=core.DivideZero",
        "--enable=core.CallAndMessage",
        "--analyzer-config"
    ],
    "parse": [
        "--print-steps"
    ],
    "server": [
        "--port=9090"
    ],
    "store": [
        "--name=run_name",
        "--tag=tag_name"
    ]
}

config.yaml:

---
analyze:
- "--enable=core.DivideZero"
- "--enable=core.CallAndMessage"
- "--analyzer-config"
parse:
- "--print-steps"
server:
- "--port=9090"
store:
- "--name=run_name"
- "--tag=tag_name"

In order to test whether this could be a drop-in replacement, I changed one of the checker names to something nonexistent, which should trigger a CodeChecker error. In the json version, it correctly did after invoking bazel test codechecker_pass. However, when I changed the filegroup to take the yaml file instead of the json one:

filegroup(
    name = "codechecker_config_file",
    srcs = [":config.yaml"],
)

calling bazel test codechecker_pass didn't give me an error, even though the config gile had an erronous checker name.

This should be investigated further, it shouldn't be too tricky to also support YAML config files.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions