[PATCH] D48879: [XRay][test-suite] Benchmarks for profiling mode implementation

Hans Wennborg via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 2 05:38:48 PDT 2018


hans added a comment.
Herald added a subscriber: jfb.

These tests are flaky when run as part of the full test-suite, as happens when testing the release branch.

Any idea why these would break when run in parallel?

  $ /work/llvm-release-test/branches_release_70/sandbox/bin/lit -sv MicroBenchmarks/XRay/ProfilingMode/
  FAIL: test-suite :: MicroBenchmarks/XRay/ProfilingMode/deep-call-bench.test (1 of 3)
  ******************** TEST 'test-suite :: MicroBenchmarks/XRay/ProfilingMode/deep-call-bench.test' FAILED ********************
  
  /work/llvm-release-test/branches_release_70/test-suite-build/MicroBenchmarks/XRay/ProfilingMode/deep-call-bench --benchmark_format=csv > /work/llvm-release-test/branches_release_70/test-suite-build/Micr
  oBenchmarks/XRay/ProfilingMode/Output/deep-call-bench.test.bench.csv
  
  Run on (56 X 3500 MHz CPU s)
  2018-08-02 14:24:49
  ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
  /work/llvm-release-test/branches_release_70/test-suite-build/MicroBenchmarks/XRay/ProfilingMode/Output/deep-call-bench.test_run.script: line 1: 223587 Segmentation fault      /work/llvm-release-test/bra
  nches_release_70/test-suite-build/MicroBenchmarks/XRay/ProfilingMode/deep-call-bench --benchmark_format=csv > /work/llvm-release-test/branches_release_70/test-suite-build/MicroBenchmarks/XRay/ProfilingM
  ode/Output/deep-call-bench.test.bench.csv
  
  ********************
  Testing Time: 187.27s
  ********************
  Failing Tests (1):
      test-suite :: MicroBenchmarks/XRay/ProfilingMode/deep-call-bench.test
  
    Expected Passes    : 2
    Unexpected Failures: 1

(It varies how many and which tests fail.)

I've reverted this from trunk in r338710 and merged to 7.0 in r338711 until this is fixed.



================
Comment at: test-suite/trunk/MicroBenchmarks/XRay/ProfilingMode/CMakeLists.txt:12
+		-fxray-instrument -fxray-modes=xray-profiling)
+  llvm_test_run()
+  llvm_test_executable(deep-call-bench deep-call-bench.cc)
----------------
I think there needs to be a llvm_test_run() for each test executable. Otherwise lit fails like this:


```
UNRESOLVED: test-suite :: MicroBenchmarks/XRay/ProfilingMode/shallow-call-bench.test (341 of 912)
******************** TEST 'test-suite :: MicroBenchmarks/XRay/ProfilingMode/shallow-call-bench.test' FAILED ********************
Exception during script execution:
Traceback (most recent call last):
  File "/work/llvm-release-test/branches_release_70/sandbox/local/lib/python2.7/site-packages/lit-0.7.0.dev0-py2.7.egg/lit/run.py", line 202, in _execute_test_impl
    result = test.config.test_format.execute(test, lit_config)
  File "/work/llvm-release-test/branches_release_70/test-suite.src/litsupport/test.py", line 49, in execute
    litsupport.testfile.parse(context, test.getSourcePath())
  File "/work/llvm-release-test/branches_release_70/test-suite.src/litsupport/testfile.py", line 50, in parse
    raise ValueError("Test has no RUN: line!")
ValueError: Test has no RUN: line!


********************
Testing: 0 .. 10.. 20.. 30.
UNRESOLVED: test-suite :: MicroBenchmarks/XRay/ProfilingMode/wide-call-bench.test (343 of 912)
******************** TEST 'test-suite :: MicroBenchmarks/XRay/ProfilingMode/wide-call-bench.test' FAILED ********************
Exception during script execution:
Traceback (most recent call last):
  File "/work/llvm-release-test/branches_release_70/sandbox/local/lib/python2.7/site-packages/lit-0.7.0.dev0-py2.7.egg/lit/run.py", line 202, in _execute_test_impl
    result = test.config.test_format.execute(test, lit_config)
  File "/work/llvm-release-test/branches_release_70/test-suite.src/litsupport/test.py", line 49, in execute
    litsupport.testfile.parse(context, test.getSourcePath())
  File "/work/llvm-release-test/branches_release_70/test-suite.src/litsupport/testfile.py", line 50, in parse
    raise ValueError("Test has no RUN: line!")
ValueError: Test has no RUN: line!
```


This worked for me:

```
  llvm_test_run()
  llvm_test_executable(deep-call-bench deep-call-bench.cc)
  target_link_libraries(deep-call-bench benchmark)
  llvm_test_run()
  llvm_test_executable(shallow-call-bench shallow-call-bench.cc)
  target_link_libraries(shallow-call-bench benchmark)
  llvm_test_run()
  llvm_test_executable(wide-call-bench wide-call-bench.cc)
  target_link_libraries(wide-call-bench benchmark)
```

However, the tests are flaky when run together, see below.


Repository:
  rL LLVM

https://reviews.llvm.org/D48879





More information about the llvm-commits mailing list