cmmerge – merging utility

cmmerge is a small utility which lets you merge several instrumentation databases (.csmes file) together. It behaves like the CoverageBrowser menu entry File > Merge with (see Merging instrumentations).


cmmerge <options> -o <outfile> <infile>...

cmmerge --blackbox -o <outfile> <infile>...


  • -o <outfile> | --output=<outfile>: .csmes output file. (Required.)
  • <infile>: .csmes input file. Only one input file is allowed if --blackbox is selected.
  • -b | --blackbox: Generate a .csmes file for black-box testing.
  • <options>: Any of:
    • -a | --append: Merge the input file(s) with the existing content of the output file. <outfile> must already exist.
    • -i <reference> | --instrumentation-and-execution=<reference>: Include only execution results that belong to the .csmes file <reference>.

      With this option, cmmerge merges <reference> with the <infile>s, but includes the instrumentations and executions of an <infile> only if they also occur in <reference>. If --append is set, <outfile> is viewed as a part of <reference>.

      This option is useful for unit tests, where <reference> is the program for which the test is written, while <infile>s contain the execution results of the unit tests.

    • -r <reference> | --reviews-only=<reference>: Merge <reference> with the comments and manual validations in the <infile>s.

      The file <reference> is a .csmes file. Only validations and comments of unmodified functions are imported. If there are comments for the same line of code, they are merged. The original comments are then separated by a horizontal bar. If the same comment occurs more than once in the input files, only one copy is kept.

    • -s | --strict: Require that the preprocessed output for each C++ file is identical across the build.
    • --delete: Delete the input files from disk after importing them.
    • -v | --verbose: Verbose output.
    • @<path>: Read command line options from the file at <path> and insert them at the position of this option. The option file is a text file with one option per line. Leading and trailing blanks and empty lines are ignored.

© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.