1 // Purpose:
2 // Check that \DexExpectWatchValue applies no penalties when expected
3 // values are found.
4 //
5 // UNSUPPORTED: system-darwin
6 //
7 // RUN: %dexter_regression_test_build %s -o %t
8 // RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck %s
9 // CHECK: expect_watch_value.cpp:
10
Factorial(int n)11 unsigned long Factorial(int n) {
12 volatile unsigned long fac = 1; // DexLabel('entry')
13
14 for (int i = 1; i <= n; ++i)
15 fac *= i; // DexLabel('loop')
16
17 return fac; // DexLabel('ret')
18 }
19
main()20 int main()
21 {
22 return Factorial(8);
23 }
24
25 /*
26 DexExpectWatchValue('n', '8', on_line=ref('entry'))
27 DexExpectWatchValue('i',
28 '1', '2', '3', '4', '5', '6', '7', '8',
29 on_line=ref('loop'))
30
31 DexExpectWatchValue('fac',
32 '1', '2', '6', '24', '120', '720', '5040',
33 on_line=ref('loop'))
34
35 DexExpectWatchValue('n', '8', on_line=ref('loop'))
36 DexExpectWatchValue('fac', '40320', on_line=ref('ret'))
37 DexExpectWatchValue('n', '8', on_line=ref('ret'))
38 */
39