1e5c31af7Sopenharmony_ci#!/usr/bin/python3
2e5c31af7Sopenharmony_ci#
3e5c31af7Sopenharmony_ci# Copyright 2023-2024 The Khronos Group Inc.
4e5c31af7Sopenharmony_ci#
5e5c31af7Sopenharmony_ci# SPDX-License-Identifier: Apache-2.0
6e5c31af7Sopenharmony_ci#
7e5c31af7Sopenharmony_ci# Author(s):    Shahbaz Youssefi <syoussefi@google.com>
8e5c31af7Sopenharmony_ci#
9e5c31af7Sopenharmony_ci# Purpose:      This file contains tests for reflow.py
10e5c31af7Sopenharmony_ci
11e5c31af7Sopenharmony_ciimport pytest
12e5c31af7Sopenharmony_ci
13e5c31af7Sopenharmony_cifrom collections import namedtuple
14e5c31af7Sopenharmony_ciimport os
15e5c31af7Sopenharmony_ci
16e5c31af7Sopenharmony_cifrom reflib import loadFile
17e5c31af7Sopenharmony_cifrom reflow import reflowFile
18e5c31af7Sopenharmony_ci
19e5c31af7Sopenharmony_citestsDir = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'reflow-tests')
20e5c31af7Sopenharmony_ciresultsDir = os.path.join(testsDir, 'results')
21e5c31af7Sopenharmony_ci
22e5c31af7Sopenharmony_ciVariations = namedtuple('Variations', ['reflow', 'addVUID'])
23e5c31af7Sopenharmony_ci
24e5c31af7Sopenharmony_cidef makeTestId(variations):
25e5c31af7Sopenharmony_ci    separator = ''
26e5c31af7Sopenharmony_ci    testid = ''
27e5c31af7Sopenharmony_ci
28e5c31af7Sopenharmony_ci    if not variations.reflow:
29e5c31af7Sopenharmony_ci        testid += separator + 'noreflow'
30e5c31af7Sopenharmony_ci        separator = '-'
31e5c31af7Sopenharmony_ci
32e5c31af7Sopenharmony_ci    if not variations.addVUID:
33e5c31af7Sopenharmony_ci        testid += separator + 'novuid'
34e5c31af7Sopenharmony_ci        separator = '-'
35e5c31af7Sopenharmony_ci
36e5c31af7Sopenharmony_ci    if testid == '':
37e5c31af7Sopenharmony_ci        testid = 'default'
38e5c31af7Sopenharmony_ci
39e5c31af7Sopenharmony_ci    return testid
40e5c31af7Sopenharmony_ci
41e5c31af7Sopenharmony_ciclass ReflowArgs:
42e5c31af7Sopenharmony_ci    def __init__(self, variations):
43e5c31af7Sopenharmony_ci        self.overwrite = False
44e5c31af7Sopenharmony_ci        self.nowrite = False
45e5c31af7Sopenharmony_ci        self.outDir = os.path.join(resultsDir, makeTestId(variations))
46e5c31af7Sopenharmony_ci        self.check = True
47e5c31af7Sopenharmony_ci        self.checkVUID = True
48e5c31af7Sopenharmony_ci        self.noflow = not variations.reflow
49e5c31af7Sopenharmony_ci        self.margin = 76
50e5c31af7Sopenharmony_ci        self.suffix = ''
51e5c31af7Sopenharmony_ci        self.nextvu = 10000 if variations.addVUID else None
52e5c31af7Sopenharmony_ci        self.maxvu = 99999
53e5c31af7Sopenharmony_ci        self.warnCount = 0
54e5c31af7Sopenharmony_ci        self.vuidDict = {}
55e5c31af7Sopenharmony_ci
56e5c31af7Sopenharmony_ci        self.variations = variations
57e5c31af7Sopenharmony_ci
58e5c31af7Sopenharmony_civariations = [
59e5c31af7Sopenharmony_ci    Variations(False, False),
60e5c31af7Sopenharmony_ci    Variations(False, True),
61e5c31af7Sopenharmony_ci    Variations(True, False),
62e5c31af7Sopenharmony_ci    Variations(True, True),
63e5c31af7Sopenharmony_ci]
64e5c31af7Sopenharmony_ci
65e5c31af7Sopenharmony_ci@pytest.fixture(params=variations, ids=makeTestId)
66e5c31af7Sopenharmony_cidef args(request):
67e5c31af7Sopenharmony_ci    return ReflowArgs(request.param)
68e5c31af7Sopenharmony_ci
69e5c31af7Sopenharmony_cidef getPath(*names):
70e5c31af7Sopenharmony_ci    return os.path.join(testsDir, *names)
71e5c31af7Sopenharmony_ci
72e5c31af7Sopenharmony_cidef match_with_expected(resultFile, expectation):
73e5c31af7Sopenharmony_ci    result, result_newline = loadFile(resultFile)
74e5c31af7Sopenharmony_ci    expect, expect_newline = loadFile(expectation)
75e5c31af7Sopenharmony_ci
76e5c31af7Sopenharmony_ci    assert(result_newline == expect_newline)
77e5c31af7Sopenharmony_ci    assert(result == expect)
78e5c31af7Sopenharmony_ci
79e5c31af7Sopenharmony_cidef run_reflow_test(args, filetag):
80e5c31af7Sopenharmony_ci    testid = makeTestId(args.variations)
81e5c31af7Sopenharmony_ci
82e5c31af7Sopenharmony_ci    source = 'src-' + filetag + '.adoc'
83e5c31af7Sopenharmony_ci    expect = 'expect-' + filetag + '-' + testid + '.adoc'
84e5c31af7Sopenharmony_ci
85e5c31af7Sopenharmony_ci    filename = getPath(source)
86e5c31af7Sopenharmony_ci
87e5c31af7Sopenharmony_ci    reflowFile(filename, args)
88e5c31af7Sopenharmony_ci
89e5c31af7Sopenharmony_ci    match_with_expected(getPath(resultsDir, testid, source), getPath(expect))
90e5c31af7Sopenharmony_ci
91e5c31af7Sopenharmony_cidef match_warn_count(args, expected):
92e5c31af7Sopenharmony_ci    assert(args.warnCount == expected)
93e5c31af7Sopenharmony_ci
94e5c31af7Sopenharmony_cidef match_vuid_dict(args, expectedExisting, expectedNew):
95e5c31af7Sopenharmony_ci    expected = expectedExisting
96e5c31af7Sopenharmony_ci    if args.nextvu is not None:
97e5c31af7Sopenharmony_ci        expected = expected | expectedNew
98e5c31af7Sopenharmony_ci
99e5c31af7Sopenharmony_ci    assert(sorted(args.vuidDict.keys()) == sorted(expected.keys()))
100e5c31af7Sopenharmony_ci
101e5c31af7Sopenharmony_ci    for vuid, locations in args.vuidDict.items():
102e5c31af7Sopenharmony_ci        for location, expectedLocation in zip(locations, expected[vuid]):
103e5c31af7Sopenharmony_ci            filename, tagline = location
104e5c31af7Sopenharmony_ci            expectedFilename, expectedTag = expectedLocation
105e5c31af7Sopenharmony_ci
106e5c31af7Sopenharmony_ci        assert(expectedFilename in filename)
107e5c31af7Sopenharmony_ci        assert(expectedTag in tagline)
108e5c31af7Sopenharmony_ci
109e5c31af7Sopenharmony_cidef test_text(args):
110e5c31af7Sopenharmony_ci    """Basic test of text reflow."""
111e5c31af7Sopenharmony_ci    run_reflow_test(args, 'text')
112e5c31af7Sopenharmony_ci    match_warn_count(args, 0)
113e5c31af7Sopenharmony_ci    match_vuid_dict(args, {}, {})
114e5c31af7Sopenharmony_ci
115e5c31af7Sopenharmony_cidef test_table(args):
116e5c31af7Sopenharmony_ci    """Basic test that ensures tables are not reformatted."""
117e5c31af7Sopenharmony_ci    run_reflow_test(args, 'table')
118e5c31af7Sopenharmony_ci    match_warn_count(args, 0)
119e5c31af7Sopenharmony_ci    match_vuid_dict(args, {}, {})
120e5c31af7Sopenharmony_ci
121e5c31af7Sopenharmony_cidef test_vu(args):
122e5c31af7Sopenharmony_ci    """Basic test that VU reflows work."""
123e5c31af7Sopenharmony_ci    run_reflow_test(args, 'vu')
124e5c31af7Sopenharmony_ci    match_warn_count(args, 0)
125e5c31af7Sopenharmony_ci    match_vuid_dict(args, {'01993':
126e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
127e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-image-01993]]']],
128e5c31af7Sopenharmony_ci                           '00002':
129e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
130e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-image-00002]]']],
131e5c31af7Sopenharmony_ci                           '01545':
132e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
133e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-image-01545]]']],
134e5c31af7Sopenharmony_ci                           '00003':
135e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
136e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-image-00003]]']],
137e5c31af7Sopenharmony_ci                           '00004':
138e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
139e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-imageLayout-00004]]']],
140e5c31af7Sopenharmony_ci                           '00005':
141e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
142e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-imageLayout-00005]]']],
143e5c31af7Sopenharmony_ci                           '01394':
144e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
145e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-imageLayout-01394]]']],
146e5c31af7Sopenharmony_ci                           '02498':
147e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
148e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-aspectMask-02498]]']],
149e5c31af7Sopenharmony_ci                           '01470':
150e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
151e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-baseMipLevel-01470]]']],
152e5c31af7Sopenharmony_ci                           '01692':
153e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
154e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-pRanges-01692]]']],
155e5c31af7Sopenharmony_ci                           '01472':
156e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
157e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-baseArrayLayer-01472]]']],
158e5c31af7Sopenharmony_ci                           '01693':
159e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
160e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-pRanges-01693]]']],
161e5c31af7Sopenharmony_ci                           '00007':
162e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
163e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-image-00007]]']],
164e5c31af7Sopenharmony_ci                           '04961':
165e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
166e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-pColor-04961]]']],
167e5c31af7Sopenharmony_ci                           '01805':
168e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
169e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-commandBuffer-01805]]']],
170e5c31af7Sopenharmony_ci                           '01806':
171e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vu.adoc',
172e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-commandBuffer-01806]]']]},
173e5c31af7Sopenharmony_ci                    {})
174e5c31af7Sopenharmony_ci
175e5c31af7Sopenharmony_ci# Commented out now that VU extractor supports this, but may
176e5c31af7Sopenharmony_ci# need to refactor through a conventions object enable if
177e5c31af7Sopenharmony_ci# OpenXR still needs this.
178e5c31af7Sopenharmony_ci# def test_ifdef_in_vu(args):
179e5c31af7Sopenharmony_ci#     """Test that ifdef in VUs are warned against."""
180e5c31af7Sopenharmony_ci#     run_reflow_test(args, 'ifdef-in-vu')
181e5c31af7Sopenharmony_ci#     match_warn_count(args, 1)
182e5c31af7Sopenharmony_ci#     match_vuid_dict(args, {'00003':
183e5c31af7Sopenharmony_ci#                            [['scripts/reflow-tests/src-ifdef-in-vu.adoc',
184e5c31af7Sopenharmony_ci#                              '[[VUID-vkCmdClearColorImage-image-00003]]']],
185e5c31af7Sopenharmony_ci#                            '00004':
186e5c31af7Sopenharmony_ci#                            [['scripts/reflow-tests/src-ifdef-in-vu.adoc',
187e5c31af7Sopenharmony_ci#                              '[[VUID-vkCmdClearColorImage-imageLayout-00004]]']],
188e5c31af7Sopenharmony_ci#                            '00005':
189e5c31af7Sopenharmony_ci#                            [['scripts/reflow-tests/src-ifdef-in-vu.adoc',
190e5c31af7Sopenharmony_ci#                              '[[VUID-vkCmdClearColorImage-imageLayout-00005]]']],
191e5c31af7Sopenharmony_ci#                            '04961':
192e5c31af7Sopenharmony_ci#                            [['scripts/reflow-tests/src-ifdef-in-vu.adoc',
193e5c31af7Sopenharmony_ci#                              '[[VUID-vkCmdClearColorImage-pColor-04961]]']]},
194e5c31af7Sopenharmony_ci#                     {})
195e5c31af7Sopenharmony_ci
196e5c31af7Sopenharmony_cidef test_vuid_repeat(args):
197e5c31af7Sopenharmony_ci    """Test that same VUID in multiple VUs is detected."""
198e5c31af7Sopenharmony_ci    run_reflow_test(args, 'vuid-repeat')
199e5c31af7Sopenharmony_ci    match_warn_count(args, 0)
200e5c31af7Sopenharmony_ci    match_vuid_dict(args, {'02498':
201e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vuid-repeat.adoc',
202e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-aspectMask-02498]]'],
203e5c31af7Sopenharmony_ci                            ['scripts/reflow-tests/src-vuid-repeat.adoc',
204e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-pRanges-02498]]'],
205e5c31af7Sopenharmony_ci                            ['scripts/reflow-tests/src-vuid-repeat.adoc',
206e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-pRanges-02498]]'],
207e5c31af7Sopenharmony_ci                            ['scripts/reflow-tests/src-vuid-repeat.adoc',
208e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-pColor-02498]]']],
209e5c31af7Sopenharmony_ci                           '01470':
210e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vuid-repeat.adoc',
211e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-baseMipLevel-01470]]']],
212e5c31af7Sopenharmony_ci                           '00007':
213e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-vuid-repeat.adoc',
214e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-baseArrayLayer-00007]]'],
215e5c31af7Sopenharmony_ci                            ['scripts/reflow-tests/src-vuid-repeat.adoc',
216e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-image-00007]]']]},
217e5c31af7Sopenharmony_ci                    {})
218e5c31af7Sopenharmony_ci
219e5c31af7Sopenharmony_cidef test_new_vuid(args):
220e5c31af7Sopenharmony_ci    """Test that VUID generation works."""
221e5c31af7Sopenharmony_ci    run_reflow_test(args, 'new-vuid')
222e5c31af7Sopenharmony_ci    match_warn_count(args, 0)
223e5c31af7Sopenharmony_ci    match_vuid_dict(args, {'01993':
224e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
225e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-image-01993]]']],
226e5c31af7Sopenharmony_ci                           '01545':
227e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
228e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-image-01545]]']],
229e5c31af7Sopenharmony_ci                           '00004':
230e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
231e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-imageLayout-00004]]']],
232e5c31af7Sopenharmony_ci                           '00005':
233e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
234e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-imageLayout-00005]]']],
235e5c31af7Sopenharmony_ci                           '02498':
236e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
237e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-aspectMask-02498]]']],
238e5c31af7Sopenharmony_ci                           '01470':
239e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
240e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-baseMipLevel-01470]]']],
241e5c31af7Sopenharmony_ci                           '01472':
242e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
243e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-baseArrayLayer-01472]]']],
244e5c31af7Sopenharmony_ci                           '01693':
245e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
246e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-pRanges-01693]]']],
247e5c31af7Sopenharmony_ci                           '01805':
248e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
249e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-commandBuffer-01805]]']],
250e5c31af7Sopenharmony_ci                           '01806':
251e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
252e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-commandBuffer-01806]]']]},
253e5c31af7Sopenharmony_ci                          {'10000':
254e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
255e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-image-10000]]']],
256e5c31af7Sopenharmony_ci                           '10001':
257e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
258e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-image-10001]]']],
259e5c31af7Sopenharmony_ci                           '10002':
260e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
261e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-imageLayout-10002]]']],
262e5c31af7Sopenharmony_ci                           '10003':
263e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
264e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-pRanges-10003]]']],
265e5c31af7Sopenharmony_ci                           '10004':
266e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
267e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-image-10004]]']],
268e5c31af7Sopenharmony_ci                           '10005':
269e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-new-vuid.adoc',
270e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-pColor-10005]]']]})
271e5c31af7Sopenharmony_ci
272e5c31af7Sopenharmony_cidef test_new_vuid_attribute(args):
273e5c31af7Sopenharmony_ci    """Test that VUID generation works and prioritizes attributes for tags."""
274e5c31af7Sopenharmony_ci    run_reflow_test(args, 'new-vuid-attribute')
275e5c31af7Sopenharmony_ci    match_warn_count(args, 0)
276e5c31af7Sopenharmony_ci    match_vuid_dict(args, {}, {'10000':
277e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
278e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10000]]']],
279e5c31af7Sopenharmony_ci                               '10001':
280e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
281e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imagesubresource}-10001]]']],
282e5c31af7Sopenharmony_ci                               '10002':
283e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
284e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10002]]']],
285e5c31af7Sopenharmony_ci                               '10003':
286e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
287e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10003]]']],
288e5c31af7Sopenharmony_ci                               '10004':
289e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
290e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10004]]']],
291e5c31af7Sopenharmony_ci                               '10005':
292e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
293e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10005]]']],
294e5c31af7Sopenharmony_ci                               '10006':
295e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
296e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10006]]']],
297e5c31af7Sopenharmony_ci                               '10007':
298e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
299e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10007]]']],
300e5c31af7Sopenharmony_ci                               '10008':
301e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
302e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10008]]']],
303e5c31af7Sopenharmony_ci                               '10009':
304e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
305e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10009]]']],
306e5c31af7Sopenharmony_ci                               '10010':
307e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
308e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10010]]']],
309e5c31af7Sopenharmony_ci                               '10011':
310e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
311e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imagesubresource}-10011]]']],
312e5c31af7Sopenharmony_ci                               '10012':
313e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
314e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10012]]']],
315e5c31af7Sopenharmony_ci                               '10013':
316e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
317e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10013]]']],
318e5c31af7Sopenharmony_ci                               '10014':
319e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
320e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10014]]']],
321e5c31af7Sopenharmony_ci                               '10015':
322e5c31af7Sopenharmony_ci                               [['scripts/reflow-tests/src-new-vuid-attribute.adoc',
323e5c31af7Sopenharmony_ci                                 '[[VUID-{refpage}-{imageparam}-10015]]']]})
324e5c31af7Sopenharmony_ci
325e5c31af7Sopenharmony_cidef test_common_validity(args):
326e5c31af7Sopenharmony_ci    """Test that VUID generation works for common validity files."""
327e5c31af7Sopenharmony_ci    run_reflow_test(args, 'common-validity')
328e5c31af7Sopenharmony_ci    match_warn_count(args, 0)
329e5c31af7Sopenharmony_ci    match_vuid_dict(args, {'00171':
330e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-common-validity.adoc',
331e5c31af7Sopenharmony_ci                             '[[VUID-{refpage}-pRegions-00171]]']],
332e5c31af7Sopenharmony_ci                           '00176':
333e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-common-validity.adoc',
334e5c31af7Sopenharmony_ci                             '[[VUID-{refpage}-srcBuffer-00176]]']],
335e5c31af7Sopenharmony_ci                           '00177':
336e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-common-validity.adoc',
337e5c31af7Sopenharmony_ci                             '[[VUID-{refpage}-dstImage-00177]]']],
338e5c31af7Sopenharmony_ci                           '00178':
339e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-common-validity.adoc',
340e5c31af7Sopenharmony_ci                             '[[VUID-{refpage}-dstImage-00178]]']],
341e5c31af7Sopenharmony_ci                           '00181':
342e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-common-validity.adoc',
343e5c31af7Sopenharmony_ci                             '[[VUID-{refpage}-dstImageLayout-00181]]']]},
344e5c31af7Sopenharmony_ci                          {'10000':
345e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-common-validity.adoc',
346e5c31af7Sopenharmony_ci                             '[[VUID-{refpage}-pRegions-10000]]']],
347e5c31af7Sopenharmony_ci                           '10001':
348e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-common-validity.adoc',
349e5c31af7Sopenharmony_ci                             '[[VUID-{refpage}-srcBuffer-10001]]']],
350e5c31af7Sopenharmony_ci                           '10002':
351e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-common-validity.adoc',
352e5c31af7Sopenharmony_ci                             '[[VUID-{refpage}-dstImage-10002]]']],
353e5c31af7Sopenharmony_ci                           '10003':
354e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-common-validity.adoc',
355e5c31af7Sopenharmony_ci                             '[[VUID-{refpage}-dstImage-10003]]']],
356e5c31af7Sopenharmony_ci                           '10004':
357e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-common-validity.adoc',
358e5c31af7Sopenharmony_ci                             '[[VUID-{refpage}-dstImageLayout-10004]]']]})
359e5c31af7Sopenharmony_ci
360e5c31af7Sopenharmony_cidef test_nested_lists_in_vu(args):
361e5c31af7Sopenharmony_ci    """Test that nested lists in VU work correctly."""
362e5c31af7Sopenharmony_ci    run_reflow_test(args, 'nested-lists-in-vu')
363e5c31af7Sopenharmony_ci    match_warn_count(args, 0)
364e5c31af7Sopenharmony_ci    match_vuid_dict(args, {'07284':
365e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-nested-lists-in-vu.adoc',
366e5c31af7Sopenharmony_ci                             '[[VUID-{refpage}-multisampledRenderToSingleSampled-07284]]']],
367e5c31af7Sopenharmony_ci                           '08971':
368e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-nested-lists-in-vu.adoc',
369e5c31af7Sopenharmony_ci                             '[[VUID-{refpage}-None-08971]]']]},
370e5c31af7Sopenharmony_ci                          {'10000':
371e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-nested-lists-in-vu.adoc',
372e5c31af7Sopenharmony_ci                             '[[VUID-{refpage}-None-10000]]']]})
373e5c31af7Sopenharmony_ci
374e5c31af7Sopenharmony_ci
375e5c31af7Sopenharmony_cidef test_math_block_in_vu(args):
376e5c31af7Sopenharmony_ci    """Test that nested lists in VU work correctly."""
377e5c31af7Sopenharmony_ci    run_reflow_test(args, 'math-block-in-vu')
378e5c31af7Sopenharmony_ci    match_warn_count(args, 0)
379e5c31af7Sopenharmony_ci    match_vuid_dict(args, {'00004':
380e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-math-block-in-vu.adoc',
381e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-imageLayout-00004]]']]},
382e5c31af7Sopenharmony_ci                          {'10000':
383e5c31af7Sopenharmony_ci                           [['scripts/reflow-tests/src-math-block-in-vu.adoc',
384e5c31af7Sopenharmony_ci                             '[[VUID-vkCmdClearColorImage-image-10000]]']]})
385