#!/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 textureformat* tests. This file needs to be run in its folder. """ import sys _DO_NOT_EDIT_WARNING = """ """ _HTML_TEMPLATE = """ WebGL Texture Shadow Conformance Tests
""" _TARGETS = [ '2d', 'cube', '2d_array', ] _FILTERS = [ 'nearest', 'linear', 'nearest_mipmap_nearest', 'linear_mipmap_nearest', 'nearest_mipmap_linear', 'linear_mipmap_linear', ] _COMPARE_FUNCS = [ 'less_or_equal', 'greater_or_equal', 'less', 'greater', 'equal', 'not_equal', 'always', 'never', ] def GenerateFilename(group): """Generate test filename.""" filename = group filename += ".html" return filename 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 iTarget in range(len(_TARGETS)): for iFilter in range(len(_FILTERS)): for iFunc in range(len(_COMPARE_FUNCS)): item = _TARGETS[iTarget] + '_' + _FILTERS[iFilter] + '_' + _COMPARE_FUNCS[iFunc] filename = GenerateFilename(item) filelist.append(filename) WriteTest(filename, ii, ii + 1) 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:]))