Skip to content

Commit f276624

Browse files
author
Julie Hockett
committedOct 16, 2018
[clang-doc] Add unit tests for bitcode
Adds unit tests for the BitcodeWriter and BitcodeReader libraries. This is part of a move to convert clang-doc's tests to a more maintainable unit test framework, with a smaller number of integration tests to maintain and more granular failure feedback. Differential Revision: https://reviews.llvm.org/D53082 llvm-svn: 344651
1 parent 68049b1 commit f276624

27 files changed

+807
-548
lines changed
 

‎clang-tools-extra/clang-doc/BitcodeWriter.cpp

+2-4
Original file line numberDiff line numberDiff line change
@@ -309,10 +309,8 @@ void ClangDocBitcodeWriter::emitRecord(const Location &Loc, RecordId ID) {
309309
// FIXME: Assert that the line number is of the appropriate size.
310310
Record.push_back(Loc.LineNumber);
311311
assert(Loc.Filename.size() < (1U << BitCodeConstants::StringLengthSize));
312-
// Record.push_back(Loc.Filename.size());
313-
// Stream.EmitRecordWithBlob(Abbrevs.get(ID), Record, Loc.Filename);
314-
Record.push_back(4);
315-
Stream.EmitRecordWithBlob(Abbrevs.get(ID), Record, "test");
312+
Record.push_back(Loc.Filename.size());
313+
Stream.EmitRecordWithBlob(Abbrevs.get(ID), Record, Loc.Filename);
316314
}
317315

318316
void ClangDocBitcodeWriter::emitRecord(bool Val, RecordId ID) {

‎clang-tools-extra/test/clang-doc/bc-comment.cpp

+50-50
Original file line numberDiff line numberDiff line change
@@ -32,169 +32,169 @@ void F(int I, int J) {}
3232

3333
// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-0
3434
// CHECK-0: <BLOCKINFO_BLOCK/>
35-
// CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
35+
// CHECK-0-NEXT: <VersionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
3636
// CHECK-0-NEXT: <Version abbrevid=4 op0=2/>
3737
// CHECK-0-NEXT: </VersionBlock>
38-
// CHECK-0-NEXT: <NamespaceBlock NumWords=432 BlockCodeSize=4>
39-
// CHECK-0-NEXT: <FunctionBlock NumWords=429 BlockCodeSize=4>
38+
// CHECK-0-NEXT: <NamespaceBlock NumWords={{[0-9]+}} BlockCodeSize=4>
39+
// CHECK-0-NEXT: <FunctionBlock NumWords={{[0-9]+}} BlockCodeSize=4>
4040
// CHECK-0-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
4141
// CHECK-0-NEXT: <Name abbrevid=5 op0=1/> blob data = 'F'
42-
// CHECK-0-NEXT: <CommentBlock NumWords=354 BlockCodeSize=4>
42+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
4343
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'FullComment'
44-
// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4>
44+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
4545
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
46-
// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4>
46+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
4747
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
4848
// CHECK-0-NEXT: </CommentBlock>
4949
// CHECK-0-NEXT: </CommentBlock>
50-
// CHECK-0-NEXT: <CommentBlock NumWords=31 BlockCodeSize=4>
50+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
5151
// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'BlockCommandComment'
5252
// CHECK-0-NEXT: <Name abbrevid=6 op0=5/> blob data = 'brief'
53-
// CHECK-0-NEXT: <CommentBlock NumWords=19 BlockCodeSize=4>
53+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
5454
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
55-
// CHECK-0-NEXT: <CommentBlock NumWords=11 BlockCodeSize=4>
55+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
5656
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
5757
// CHECK-0-NEXT: <Text abbrevid=5 op0=19/> blob data = ' Brief description.'
5858
// CHECK-0-NEXT: </CommentBlock>
5959
// CHECK-0-NEXT: </CommentBlock>
6060
// CHECK-0-NEXT: </CommentBlock>
61-
// CHECK-0-NEXT: <CommentBlock NumWords=37 BlockCodeSize=4>
61+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
6262
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
63-
// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4>
63+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
6464
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
6565
// CHECK-0-NEXT: <Text abbrevid=5 op0=26/> blob data = ' Extended description that'
6666
// CHECK-0-NEXT: </CommentBlock>
67-
// CHECK-0-NEXT: <CommentBlock NumWords=14 BlockCodeSize=4>
67+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
6868
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
6969
// CHECK-0-NEXT: <Text abbrevid=5 op0=30/> blob data = ' continues onto the next line.'
7070
// CHECK-0-NEXT: </CommentBlock>
7171
// CHECK-0-NEXT: </CommentBlock>
72-
// CHECK-0-NEXT: <CommentBlock NumWords=76 BlockCodeSize=4>
72+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
7373
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
74-
// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4>
74+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
7575
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
7676
// CHECK-0-NEXT: </CommentBlock>
77-
// CHECK-0-NEXT: <CommentBlock NumWords=14 BlockCodeSize=4>
77+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
7878
// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'HTMLStartTagComment'
7979
// CHECK-0-NEXT: <Name abbrevid=6 op0=2/> blob data = 'ul'
8080
// CHECK-0-NEXT: <AttrKey abbrevid=12 op0=5/> blob data = 'class'
81-
// CHECK-0-NEXT: <AttrVal abbrevid=13 op0=4/> blob data = '{{.*}}'
81+
// CHECK-0-NEXT: <AttrVal abbrevid=13 op0=4/> blob data = 'test'
8282
// CHECK-0-NEXT: </CommentBlock>
83-
// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4>
83+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
8484
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
8585
// CHECK-0-NEXT: </CommentBlock>
86-
// CHECK-0-NEXT: <CommentBlock NumWords=9 BlockCodeSize=4>
86+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
8787
// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'HTMLStartTagComment'
8888
// CHECK-0-NEXT: <Name abbrevid=6 op0=2/> blob data = 'li'
8989
// CHECK-0-NEXT: </CommentBlock>
90-
// CHECK-0-NEXT: <CommentBlock NumWords=9 BlockCodeSize=4>
90+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
9191
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
9292
// CHECK-0-NEXT: <Text abbrevid=5 op0=9/> blob data = ' Testing.'
9393
// CHECK-0-NEXT: </CommentBlock>
94-
// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4>
94+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
9595
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
9696
// CHECK-0-NEXT: </CommentBlock>
97-
// CHECK-0-NEXT: <CommentBlock NumWords=9 BlockCodeSize=4>
97+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
9898
// CHECK-0-NEXT: <Kind abbrevid=4 op0=17/> blob data = 'HTMLEndTagComment'
9999
// CHECK-0-NEXT: <Name abbrevid=6 op0=2/> blob data = 'ul'
100100
// CHECK-0-NEXT: <SelfClosing abbrevid=10 op0=1/>
101101
// CHECK-0-NEXT: </CommentBlock>
102102
// CHECK-0-NEXT: </CommentBlock>
103-
// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4>
103+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
104104
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
105-
// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4>
105+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
106106
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
107107
// CHECK-0-NEXT: </CommentBlock>
108108
// CHECK-0-NEXT: </CommentBlock>
109-
// CHECK-0-NEXT: <CommentBlock NumWords=32 BlockCodeSize=4>
109+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
110110
// CHECK-0-NEXT: <Kind abbrevid=4 op0=20/> blob data = 'VerbatimBlockComment'
111111
// CHECK-0-NEXT: <Name abbrevid=6 op0=8/> blob data = 'verbatim'
112112
// CHECK-0-NEXT: <CloseName abbrevid=9 op0=11/> blob data = 'endverbatim'
113-
// CHECK-0-NEXT: <CommentBlock NumWords=16 BlockCodeSize=4>
113+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
114114
// CHECK-0-NEXT: <Kind abbrevid=4 op0=24/> blob data = 'VerbatimBlockLineComment'
115115
// CHECK-0-NEXT: <Text abbrevid=5 op0=27/> blob data = ' The description continues.'
116116
// CHECK-0-NEXT: </CommentBlock>
117117
// CHECK-0-NEXT: </CommentBlock>
118-
// CHECK-0-NEXT: <CommentBlock NumWords=22 BlockCodeSize=4>
118+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
119119
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
120-
// CHECK-0-NEXT: <CommentBlock NumWords=7 BlockCodeSize=4>
120+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
121121
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
122122
// CHECK-0-NEXT: <Text abbrevid=5 op0=3/> blob data = ' --'
123123
// CHECK-0-NEXT: </CommentBlock>
124-
// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4>
124+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
125125
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
126126
// CHECK-0-NEXT: </CommentBlock>
127127
// CHECK-0-NEXT: </CommentBlock>
128-
// CHECK-0-NEXT: <CommentBlock NumWords=39 BlockCodeSize=4>
128+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
129129
// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'ParamCommandComment'
130130
// CHECK-0-NEXT: <Direction abbrevid=7 op0=5/> blob data = '[out]'
131131
// CHECK-0-NEXT: <ParamName abbrevid=8 op0=1/> blob data = 'I'
132132
// CHECK-0-NEXT: <Explicit abbrevid=11 op0=1/>
133-
// CHECK-0-NEXT: <CommentBlock NumWords=25 BlockCodeSize=4>
133+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
134134
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
135-
// CHECK-0-NEXT: <CommentBlock NumWords=10 BlockCodeSize=4>
135+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
136136
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
137137
// CHECK-0-NEXT: <Text abbrevid=5 op0=16/> blob data = ' is a parameter.'
138138
// CHECK-0-NEXT: </CommentBlock>
139-
// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4>
139+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
140140
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
141141
// CHECK-0-NEXT: </CommentBlock>
142142
// CHECK-0-NEXT: </CommentBlock>
143143
// CHECK-0-NEXT: </CommentBlock>
144-
// CHECK-0-NEXT: <CommentBlock NumWords=38 BlockCodeSize=4>
144+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
145145
// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'ParamCommandComment'
146146
// CHECK-0-NEXT: <Direction abbrevid=7 op0=4/> blob data = '[in]'
147147
// CHECK-0-NEXT: <ParamName abbrevid=8 op0=1/> blob data = 'J'
148-
// CHECK-0-NEXT: <CommentBlock NumWords=25 BlockCodeSize=4>
148+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
149149
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
150-
// CHECK-0-NEXT: <CommentBlock NumWords=10 BlockCodeSize=4>
150+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
151151
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
152152
// CHECK-0-NEXT: <Text abbrevid=5 op0=16/> blob data = ' is a parameter.'
153153
// CHECK-0-NEXT: </CommentBlock>
154-
// CHECK-0-NEXT: <CommentBlock NumWords=5 BlockCodeSize=4>
154+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
155155
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
156156
// CHECK-0-NEXT: </CommentBlock>
157157
// CHECK-0-NEXT: </CommentBlock>
158158
// CHECK-0-NEXT: </CommentBlock>
159-
// CHECK-0-NEXT: <CommentBlock NumWords=28 BlockCodeSize=4>
159+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
160160
// CHECK-0-NEXT: <Kind abbrevid=4 op0=19/> blob data = 'BlockCommandComment'
161161
// CHECK-0-NEXT: <Name abbrevid=6 op0=6/> blob data = 'return'
162-
// CHECK-0-NEXT: <CommentBlock NumWords=16 BlockCodeSize=4>
162+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
163163
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
164-
// CHECK-0-NEXT: <CommentBlock NumWords=8 BlockCodeSize=4>
164+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
165165
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
166166
// CHECK-0-NEXT: <Text abbrevid=5 op0=5/> blob data = ' void'
167167
// CHECK-0-NEXT: </CommentBlock>
168168
// CHECK-0-NEXT: </CommentBlock>
169169
// CHECK-0-NEXT: </CommentBlock>
170170
// CHECK-0-NEXT: </CommentBlock>
171-
// CHECK-0-NEXT: <CommentBlock NumWords=28 BlockCodeSize=4>
171+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
172172
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'FullComment'
173-
// CHECK-0-NEXT: <CommentBlock NumWords=21 BlockCodeSize=4>
173+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
174174
// CHECK-0-NEXT: <Kind abbrevid=4 op0=16/> blob data = 'ParagraphComment'
175-
// CHECK-0-NEXT: <CommentBlock NumWords=13 BlockCodeSize=4>
175+
// CHECK-0-NEXT: <CommentBlock NumWords={{[0-9]+}} BlockCodeSize=4>
176176
// CHECK-0-NEXT: <Kind abbrevid=4 op0=11/> blob data = 'TextComment'
177177
// CHECK-0-NEXT: <Text abbrevid=5 op0=28/> blob data = ' Bonus comment on definition'
178178
// CHECK-0-NEXT: </CommentBlock>
179179
// CHECK-0-NEXT: </CommentBlock>
180180
// CHECK-0-NEXT: </CommentBlock>
181-
// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=28 op1=4/> blob data = '{{.*}}'
182-
// CHECK-0-NEXT: <Location abbrevid=7 op0=25 op1=4/> blob data = '{{.*}}'
183-
// CHECK-0-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4>
184-
// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
181+
// CHECK-0-NEXT: <DefLocation abbrevid=6 op0=28 op1={{[0-9]+}}/> blob data = '{{.*}}'
182+
// CHECK-0-NEXT: <Location abbrevid=7 op0=25 op1={{[0-9]+}}/> blob data = '{{.*}}'
183+
// CHECK-0-NEXT: <TypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
184+
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} BlockCodeSize=4>
185185
// CHECK-0-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void'
186186
// CHECK-0-NEXT: <Field abbrevid=7 op0=4/>
187187
// CHECK-0-NEXT: </ReferenceBlock>
188188
// CHECK-0-NEXT: </TypeBlock>
189-
// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4>
190-
// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
189+
// CHECK-0-NEXT: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
190+
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} BlockCodeSize=4>
191191
// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int'
192192
// CHECK-0-NEXT: <Field abbrevid=7 op0=4/>
193193
// CHECK-0-NEXT: </ReferenceBlock>
194194
// CHECK-0-NEXT: <Name abbrevid=4 op0=1/> blob data = 'I'
195195
// CHECK-0-NEXT: </FieldTypeBlock>
196-
// CHECK-0-NEXT: <FieldTypeBlock NumWords=8 BlockCodeSize=4>
197-
// CHECK-0-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4>
196+
// CHECK-0-NEXT: <FieldTypeBlock NumWords={{[0-9]+}} BlockCodeSize=4>
197+
// CHECK-0-NEXT: <ReferenceBlock NumWords={{[0-9]+}} BlockCodeSize=4>
198198
// CHECK-0-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int'
199199
// CHECK-0-NEXT: <Field abbrevid=7 op0=4/>
200200
// CHECK-0-NEXT: </ReferenceBlock>

0 commit comments

Comments
 (0)
Please sign in to comment.