docs: def metadata(self):
          """
          The build metadata is the union of the metadata in its test runs.
          Common keys with different values are transformed into a list with each
          of the different values.
          """
          if self.__metadata__ is None:
              metadata = {}
              for test_run in self.test_runs.defer(None).all():
                  for key, value in test_run.metadata.items():
                      metadata.setdefault(key, [])
                      if value not in metadata[key]:
                          metadata[key].append(value)
              for key in metadata.keys():
                  if len(metadata[key]) == 1:
                      metadata[key] = metadata[key][0]
                  else:
                      metadata[key] = sorted(metadata[key], key=str)
              self.__metadata__ = metadata
          return self.__metadata__