blob: d5d824d75fc063d39bb3db5efa8db42d0fb90da7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
/* { dg-do compile } */
/* { dg-options "-fdiagnostics-format=sarif-file" } */
/* { dg-additional-options "-fno-report-bug" } */
extern void inject_write_through_null (void);
void test_inject_write_through_null (void)
{
inject_write_through_null (); /* { dg-ice "" } */
/* { dg-regexp "during GIMPLE pass: crash_test" } */
}
/* Verify that some JSON was written to a file with the expected name. */
/* { dg-final { verify-sarif-file } } */
/* We expect various properties.
The indentation here reflects the expected hierarchy, though these tests
don't check for that, merely the string fragments we expect.
{ dg-final { scan-sarif-file "\"version\": \"2.1.0\"" } }
{ dg-final { scan-sarif-file "\"runs\": \\\[" } }
{ dg-final { scan-sarif-file "\"artifacts\": \\\[" } }
{ dg-final { scan-sarif-file "\"location\": " } }
{ dg-final { scan-sarif-file "\"uri\": " } }
{ dg-final { scan-sarif-file "\"sourceLanguage\": \"c\"" { target c } } }
{ dg-final { scan-sarif-file "\"sourceLanguage\": \"cplusplus\"" { target c++ } } }
{ dg-final { scan-sarif-file "\"contents\": " } }
{ dg-final { scan-sarif-file "\"text\": " } }
{ dg-final { scan-sarif-file "\"tool\": " } }
{ dg-final { scan-sarif-file "\"driver\": " } }
{ dg-final { scan-sarif-file "\"name\": \"GNU C" } }
{ dg-final { scan-sarif-file "\"fullName\": \"GNU C" } }
{ dg-final { scan-sarif-file "\"informationUri\": \"" } }
{ dg-final { scan-sarif-file "\"extensions\": \\\[" } }
{ dg-final { scan-sarif-file "\"name\": \"crash_test_plugin\"" } }
We expect no results:
{ dg-final { scan-sarif-file "\"results\": \\\[\\\]" } }
but instead should have an invocations array...
{ dg-final { scan-sarif-file "\"invocations\": \\\[" } }
...containing this:
{ dg-final { scan-sarif-file "\"executionSuccessful\": false" } }
{ dg-final { scan-sarif-file "\"toolExecutionNotifications\": \\\[" } }
...containing this notification:
{ dg-final { scan-sarif-file "\"level\": \"error\"" } }
{ dg-final { scan-sarif-file "\"locations\": \\\[" } }
{ dg-final { scan-sarif-file "\"logicalLocations\": \\\[" } }
{ dg-final { scan-sarif-file "\"kind\": \"function\"" } }
{ dg-final { scan-sarif-file "\"name\": \"test_inject_write_through_null\"" } }
{ dg-final { scan-sarif-file "\"physicalLocation\": " } }
{ dg-final { scan-sarif-file "\"contextRegion\": " } }
{ dg-final { scan-sarif-file "\"artifactLocation\": " } }
{ dg-final { scan-sarif-file "\"region\": " } }
{ dg-final { scan-sarif-file "\"startLine\": 9" } }
{ dg-final { scan-sarif-file "\"startColumn\": 3" } }
{ dg-final { scan-sarif-file "\"endColumn\": 31" } }
{ dg-final { scan-sarif-file "\"message\": " } }
{ dg-final { scan-sarif-file "\"text\": \"Segmentation \[Ff\]ault" } } */
|