#!/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:]))