steakhal added a comment.

I would rather match on the complete line (except the file descriptor ofc).

By inspecting the output that is piped to the `count`, I have a suspicion:

  openat(AT_FDCWD, "invocations.yaml", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such 
file or directory)

It should have found it! It exists, but ill-formed. @martong what did we 
misconfigure?

My guess is that `ctu-invocation-list` is not using the `ctu-dir`. It should be 
a different bug though.
To workaround this issue, simply use an absolute path for the invocation yaml.

What about this?

  // RUN ... 2>&1 | grep 'invocations\.yaml' | FileCheck %s
  void foo() {
    // It finds the invocation yaml, then it tries to parse it which expected 
to fail.
    bar();
    // CHECK: openat(AT_FDCWD, "{{[^"]+}}invocations.yaml", O_RDONLY|O_CLOEXEC) 
= {{[0-9]+}}
  
    // We should remember that the parsing failed, we shouldn't try to reopen 
and parse the yaml again.
    bar();
    // CHECK-NOT: openat(AT_FDCWD, "{{[^"]+}}invocations.yaml", 
O_RDONLY|O_CLOEXEC) = {{[0-9]+}}
  }

This way we are sure that the file opened (it resulted in a non-negative file 
descriptor) and opened only once!


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D101763/new/

https://reviews.llvm.org/D101763

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to