#!/usr/bin/env python # Copyright (c) 2019 The Khronos Group Inc. # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE.txt file. """ Generator for vertexarrays* tests. This file needs to be run in its folder. """ import sys _DO_NOT_EDIT_WARNING = """ """ _HTML_TEMPLATE = """ WebGL Vertex Arrays Conformance Tests
""" _GROUPS = [ 'single_attribute.stride', 'single_attribute.normalize', 'single_attribute.output_type.float', 'single_attribute.output_type.short', 'single_attribute.output_type.byte', 'single_attribute.output_type.unsigned_short', 'single_attribute.output_type.unsigned_byte', 'single_attribute.output_type.unsigned_int', 'single_attribute.output_type.int', 'single_attribute.output_type.half', 'single_attribute.output_type.unsigned_int_2_10_10_10', 'single_attribute.output_type.int_2_10_10_10', 'single_attribute.usage.static_draw', 'single_attribute.usage.stream_draw', 'single_attribute.usage.dynamic_draw', 'single_attribute.usage.static_copy', 'single_attribute.usage.stream_copy', 'single_attribute.usage.dynamic_copy', 'single_attribute.usage.static_read', 'single_attribute.usage.stream_read', 'single_attribute.usage.dynamic_read', 'single_attribute.offset', 'single_attribute.first', 'multiple_attributes.count', 'multiple_attributes.storage', 'multiple_attributes.stride', 'multiple_attributes.output', ] def WriteTest(filename, start, end): """Write one test.""" file = open(filename, "wb") file.write(_DO_NOT_EDIT_WARNING) file.write(_HTML_TEMPLATE % { 'start': start, 'end': end }) file.close def GenerateTests(): """Generate all tests.""" filelist = [] ii = 0 for ii in range(len(_GROUPS)): filename = _GROUPS[ii] + ".html" filelist.append(filename) WriteTest(filename, ii, ii + 1) return filelist def GenerateTestList(filelist): file = open("00_test_list.txt", "wb") file.write('\n'.join(filelist)) file.close def main(argv): """This is the main function.""" filelist = GenerateTests() GenerateTestList(filelist) if __name__ == '__main__': sys.exit(main(sys.argv[1:]))