[PATCH] D46602: [clang-tidy] Store checks profiling info as YAML files

Alexander Kornienko via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon May 14 09:24:05 PDT 2018


alexfh added a comment.

In https://reviews.llvm.org/D46602#1097954, @lebedev.ri wrote:

> In https://reviews.llvm.org/D46602#1097902, @alexfh wrote:
>
> > In https://reviews.llvm.org/D46602#1095980, @lebedev.ri wrote:
> >
> > > In https://reviews.llvm.org/D46602#1095960, @alexfh wrote:
> > >
> > > > In https://reviews.llvm.org/D46602#1092902, @lebedev.ri wrote:
> > > >
> > > > > In https://reviews.llvm.org/D46602#1092890, @alexfh wrote:
> > > > >
> > > > > > Roman, it looks to me that a simpler storage scheme would be sufficient. For example, YYYYMMDDhhmmss-InputFileName.cpp.csv.
> > > > > >  Main things are:
> > > > > >
> > > > > > 1. include a timestamp, so there's no need to overwrite old results,
> > > > >
> > > > >
> > > > > Of the input source file?
> > > >
> > > >
> > > > No, current timestamp, when each profile gets dumped.
> > >
> > >
> > > Ah.
> > >  Then i don't understand this at all. Why would we want to do that, exactly?
> > >  Just so that we can avoid creating directory structure? Why do we want to avoid that?
> >
> >
> > If clang-tidy is invoked manually, a simpler naming scheme with less configuration options would be easier to use, in particular:
> >
> > 1. no the need to specify the `-store-check-profile-elide-prefix=` option;
> > 2. it's easier to see all results (no need to use `find`, just `ls /output/directory` or `ls /output/directory/20180514*` to see today's results, for example);
> > 3. no chance of filename collision, and thus no chance of losing older results by just running clang-tidy again.
>
>
> How do i reflect that in tests? The output name will basically be random.


Why random? It will follow a certain rule that can be verified. If we decide to name the file `YYYYMMDD_InputFileName.cpp.yaml`, for example, then the test can verify the file matching `????????_InputFileName.cpp.yaml` exists and contains whatever it should contain. If we want the test to be stricter, it could verify that the `????????` part matches a certain pattern (say, `20\d\d[0-1][0-9][0-3][0-9]`). Additionally, it could verify that after a short sleep a file with a different `????????` part is generated.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D46602





More information about the cfe-commits mailing list