code-intelligence.com/cifuzz@v0.40.0/docs/Configuration.md (about)

     1  # cifuzz configuration
     2  
     3  You can change the behavior of **cifuzz** both via command-line flags
     4  and via settings stored in the `cifuzz.yaml` config file. Flags take
     5  precedence over the respective config file setting.
     6  
     7  ## cifuzz.yaml settings
     8  
     9  [build-system](#build-system) <br/>
    10  [build-command](#build-command) <br/>
    11  [seed-corpus-dirs](#seed-corpus-dirs) <br/>
    12  [dict](#dict) <br/>
    13  [engine-args](#engine-args) <br/>
    14  [timeout](#timeout) <br/>
    15  [use-sandbox](#use-sandbox) <br/>
    16  [print-json](#print-json) <br/>
    17  [no-notifications](#no-notifications) <br/>
    18  [server](#server) <br/>
    19  [project](#project) <br/>
    20  [style](#style) <br/>
    21  
    22  <a id="build-system"></a>
    23  
    24  ### build-system
    25  
    26  The build system used to build this project. If not set, cifuzz tries
    27  to detect the build system automatically.
    28  Valid values: "bazel", "cmake", "maven", "gradle", "other".
    29  
    30  #### Example
    31  
    32  ```yaml
    33  build-system: cmake
    34  ```
    35  
    36  <a id="build-command"></a>
    37  
    38  ### build-command
    39  
    40  If the build system type is "other", this command is used by
    41  `cifuzz run` to build the fuzz test.
    42  
    43  #### Example
    44  
    45  ```yaml
    46  build-command: "make all"
    47  ```
    48  
    49  <a id="seed-corpus-dirs"></a>
    50  
    51  ### seed-corpus-dirs
    52  
    53  Directories containing sample inputs for the code under test.
    54  See https://llvm.org/docs/LibFuzzer.html#corpus.
    55  
    56  #### Example
    57  
    58  ```yaml
    59  seed-corpus-dirs:
    60    - path/to/seed-corpus
    61  ```
    62  
    63  <a id="dict"></a>
    64  
    65  ### dict
    66  
    67  A file containing input language keywords or other interesting byte
    68  sequences.
    69  See https://llvm.org/docs/LibFuzzer.html#dictionaries.
    70  
    71  #### Example
    72  
    73  ```yaml
    74  dict: path/to/dictionary.dct
    75  ```
    76  
    77  <a id="engine-args"></a>
    78  
    79  ### engine-args
    80  
    81  Command-line arguments to pass to libFuzzer or Jazzer for running fuzz tests.
    82  Engine-args are not supported for running `cifuzz coverage` on JVM-projects
    83  and are not supported for Node.js projects.
    84  
    85  For possible libFuzzer options see https://llvm.org/docs/LibFuzzer.html#options.
    86  
    87  For advanced configuration with Jazzer parameters see https://github.com/CodeIntelligenceTesting/jazzer/blob/main/docs/advanced.md.
    88  
    89  Fuzzer customization for Node.js projects can be specified in `.jazzerjsrc.json`
    90  in the root project directory. See https://github.com/CodeIntelligenceTesting/jazzer.js/blob/main/docs/jest-integration.md
    91  for further information.
    92  
    93  #### Example Libfuzzer
    94  
    95  ```yaml
    96  engine-args:
    97    - -rss_limit_mb=4096
    98    - -timeout=5s
    99  ```
   100  
   101  #### Example Jazzer
   102  
   103  ```yaml
   104  engine-args:
   105    - --instrumentation_includes=com.**
   106    - --keep_going
   107  ```
   108  
   109  <a id="timeout"></a>
   110  
   111  ### timeout
   112  
   113  Maximum time in seconds to run the fuzz tests. The default is to run
   114  indefinitely.
   115  
   116  #### Example
   117  
   118  ```yaml
   119  timeout: 300
   120  ```
   121  
   122  <a id="use-sandbox"></a>
   123  
   124  ### use-sandbox
   125  
   126  By default, fuzz tests are executed in a sandbox to prevent accidental
   127  damage to the system. Set to false to run fuzz tests unsandboxed.
   128  Only supported on Linux.
   129  
   130  #### Example
   131  
   132  ```yaml
   133  use-sandbox: false
   134  ```
   135  
   136  <a id="print-json"></a>
   137  
   138  ### print-json
   139  
   140  Set to true to print output of the `cifuzz run` command as JSON.
   141  
   142  #### Example
   143  
   144  ```yaml
   145  print-json: true
   146  ```
   147  
   148  ### no-notifications
   149  
   150  Set to true to disable desktop notifications
   151  
   152  #### Example
   153  
   154  ```yaml
   155  no-notifications: true
   156  ```
   157  
   158  ### server
   159  
   160  Set URL of the CI App
   161  
   162  #### Example
   163  
   164  ```yaml
   165  server: https://app.code-intelligence.com
   166  ```
   167  
   168  ### project
   169  
   170  Set the project name of the CI App project
   171  
   172  #### Example
   173  
   174  ```yaml
   175  project: my-project-1a2b3c4d
   176  ```
   177  
   178  ### style
   179  
   180  Choose the style to run cifuzz in
   181  
   182  - `pretty`: Colored output and icons (default)
   183  - `color`: Colored output
   184  - `plain`: Pure text without any styles
   185  
   186  #### Example
   187  
   188  ```yaml
   189  style: plain
   190  ```