class_docstr: Run suites from a CMakeBuild. 
docstr: Returns all suite for a runner. 
docstr_tok: ["Returns","all","suite","for","a","runner","."]
code: def suites(self):
      """Returns all suite for a runner."""
      suite_matcher = regex_filter(self.suite_filter)
  
      suite_found = False
      suite_and_binaries = self.suites_binaries
      for suite_name in suite_and_binaries:
          if not suite_matcher(suite_name):
              logger.debug("Ignoring suite {}".format(suite_name))
              continue
  
          suite_bin = suite_and_binaries[suite_name]
          suite = self.suite(suite_name, suite_bin)
  
          # Filter may exclude all benchmarks
          if not suite:
              logger.debug(
                  "Suite {} executed but no results".format(suite_name)
              )
              continue
  
          suite_found = True
          yield suite
  
      if not suite_found:
          raise ValueError(
              "No benchmark matches the suite/benchmark filter"
          )
  
imports: import glob
  import json
  import os
  import re
  from .core import BenchmarkSuite
  from .google import GoogleBenchmarkCommand, GoogleBenchmark
  from .jmh import JavaMicrobenchmarkHarnessCommand, JavaMicrobenchmarkHarness
  from ..lang.cpp import CppCMakeDefinition, CppConfiguration
  from ..lang.java import JavaMavenDefinition, JavaConfiguration
  from ..utils.cmake import CMakeBuild
  from ..utils.maven import MavenBuild
  from ..utils.logger import logger
label_desc: Use image node_id 6 for calling the CppBenchmarkRunner obj's underlying member method code with example usage: obj.suites() without return types