diff --git a/schema/schema_files.py b/schema/schema_files.py index 4b6e6a29..403aba6d 100644 --- a/schema/schema_files.py +++ b/schema/schema_files.py @@ -16,7 +16,6 @@ 'collation_test': 'collation', 'datetime_fmt_test_file': 'datetime_fmt', 'datetime_fmt_test': 'datetime_fmt', - 'lang_name_test_file': 'lang_names', 'lang_names_test_file': 'lang_names', 'likely_subtags_test': 'likely_subtags', 'list_fmt_test_file': 'list_fmt', @@ -98,15 +97,15 @@ "lang_names": { "test_data": { "schema_file": "lang_names/test_schema.json", - 'prod_file': 'lang_name_test_file.json' + 'prod_file': 'lang_names_test_file.json' }, "verify_data": { "schema_file": "lang_names/verify_schema.json", - 'prod_file': 'lang_name_verify_file.json' + 'prod_file': 'lang_names_verify_file.json' }, "result_data": { "schema_file": "lang_names/result_schema.json", - "prod_file": "lang_name_test_file.json" + "prod_file": "lang_names_test_file.json" } }, diff --git a/testdriver/datasets.py b/testdriver/datasets.py index f96c8f6c..493e3483 100644 --- a/testdriver/datasets.py +++ b/testdriver/datasets.py @@ -144,14 +144,14 @@ def def_value(): testName = 'display_names' testDatasets[testName] = DataSet(testType.display_names.value, - 'lang_name_test_file.json', - 'lang_name_verify_file.json', + 'lang_names_test_file.json', + 'lang_names_verify_file.json', CLDRVersion.CLDR41, ICUVersion.ICU71) testName = 'lang_names' testDatasets[testName] = DataSet(testType.lang_names.value, - 'lang_name_test_file.json', - 'lang_name_verify_file.json', + 'lang_names_test_file.json', + 'lang_names_verify_file.json', CLDRVersion.CLDR41, ICUVersion.ICU71) testName = 'likely_subtags' diff --git a/testgen/generators/lang_names.py b/testgen/generators/lang_names.py deleted file mode 100644 index 45a18e60..00000000 --- a/testgen/generators/lang_names.py +++ /dev/null @@ -1,103 +0,0 @@ -# -*- coding: utf-8 -*- -import common - -import os -import json -import re -import logging -from generators.base import DataGenerator - -class LangNamesGenerator(DataGenerator): - json_test = {"test_type": "lang_names"} - json_verify = {"test_type": "lang_names"} - - - def process_test_data(self): - self.languageNameDescr() - filename = "languageNameTable.txt" - rawlangnametestdata = self.readFile(filename, self.icu_version) - - if not rawlangnametestdata: - return None - - # TODO: add standard vs. dialect vs. alternate names - self.generateLanguageNameTestDataObjects(rawlangnametestdata) - self.generateTestHashValues(self.json_test) - output_path = os.path.join(self.icu_version, "lang_name_test_file.json") - lang_name_test_file = open(output_path, "w", encoding="UTF-8") - json.dump(self.json_test, lang_name_test_file, indent=1) - lang_name_test_file.close() - - output_path = os.path.join(self.icu_version, "lang_name_verify_file.json") - lang_name_verify_file = open(output_path, "w", encoding="UTF-8") - json.dump(self.json_verify, lang_name_verify_file, indent=1) - lang_name_verify_file.close() - - return True - - def languageNameDescr(self): - # Adds information to LanguageName tests and verify JSON - descr = "Language display name test cases. The first code declares the language whose display name is requested while the second code declares the locale to display the language name in." - test_id = "lang_names" - source_url = "No URL yet." - version = "unspecified" - self.json_test = { - "test_type": test_id, - "Test scenario": test_id, - "description": descr, - "source": { - "repository": "conformance-test", - "version": "trunk", - "url": source_url, - "source_version": version, - }, - } - return - - def generateLanguageNameTestDataObjects(self, rawtestdata): - # Get the JSON data for tests and verification for language names - count = 0 - - jtests = [] - jverify = [] - - # Compute max size needed for label number - test_lines = rawtestdata.splitlines() - num_samples = len(test_lines) - max_digits = self.computeMaxDigitsForCount(num_samples) - for item in test_lines: - if not (common.RE_COMMENT_LINE.match(item) or common.RE_BLANK_LINE.match(item)): - test_data = self.parseLanguageNameData(item) - if test_data == None: - logging.debug( - " LanguageNames (%s): Line '%s' not recognized as valid test data entry", - self.icu_version, - item, - ) - continue - else: - label = str(count).rjust(max_digits, "0") - test_json = { - "label": label, - "language_label": test_data[0], - "locale_label": test_data[1], - } - jtests.append(test_json) - jverify.append({"label": label, "verify": test_data[2]}) - count += 1 - - self.json_test["tests"] = self.sample_tests(jtests) - self.json_verify["verifications"] = self.sample_tests(jverify) - - logging.info("LangNames Test (%s): %d lines processed", self.icu_version, count) - return - - def parseLanguageNameData(self, rawtestdata): - reformat = re.compile(r"(\w*);(\w*);(.*)") - - test_match = reformat.search(rawtestdata) - - if test_match != None: - return (test_match.group(1), test_match.group(2), test_match.group(3)) - else: - return None diff --git a/testgen/generators/localeDisplayNames.py b/testgen/generators/localeDisplayNames.py index 0c2708db..2f3c729d 100644 --- a/testgen/generators/localeDisplayNames.py +++ b/testgen/generators/localeDisplayNames.py @@ -1,12 +1,13 @@ # -*- coding: utf-8 -*- -import common - import os import json import re import logging from generators.base import DataGenerator +RE_BLANK_LINE = re.compile(r"^\s*$") +RE_COMMENT_LINE = re.compile(r"^\s*#") + class LocaleNamesGenerator(DataGenerator): json_test = {"test_type": "lang_names"} json_verify = {"test_type": "lang_names"} @@ -25,15 +26,15 @@ def process_test_data(self): # TODO: add standard vs. dialect vs. alternate names self.generateLanguageNameTestDataObjects(raw_locale_display_names_testdata) self.generateTestHashValues(self.json_test) - output_path = os.path.join(self.icu_version, "lang_name_test_file.json") - lang_name_test_file = open(output_path, "w", encoding="UTF-8") - json.dump(self.json_test, lang_name_test_file, indent=1) - lang_name_test_file.close() + output_path = os.path.join(self.icu_version, "lang_names_test_file.json") + lang_names_test_file = open(output_path, "w", encoding="UTF-8") + json.dump(self.json_test, lang_names_test_file, indent=1) + lang_names_test_file.close() - output_path = os.path.join(self.icu_version, "lang_name_verify_file.json") - lang_name_verify_file = open(output_path, "w", encoding="UTF-8") - json.dump(self.json_verify, lang_name_verify_file, indent=1) - lang_name_verify_file.close() + output_path = os.path.join(self.icu_version, "lang_names_verify_file.json") + lang_names_verify_file = open(output_path, "w", encoding="UTF-8") + json.dump(self.json_verify, lang_names_verify_file, indent=1) + lang_names_verify_file.close() return True @@ -75,7 +76,7 @@ def generateLanguageNameTestDataObjects(self, rawtestdata): language_display = 'standard' for item in test_lines: - if not (common.RE_COMMENT_LINE.match(item) or common.RE_BLANK_LINE.match(item)): + if not (RE_COMMENT_LINE.match(item) or RE_BLANK_LINE.match(item)): locale_match = set_locale.match(item) if locale_match: diff --git a/testgen/testdata_gen.py b/testgen/testdata_gen.py index 6b9fcc42..d41bc237 100644 --- a/testgen/testdata_gen.py +++ b/testgen/testdata_gen.py @@ -8,7 +8,6 @@ from test_type import TestType, test_types from generators.collation import CollationGenerator from generators.datetime_fmt import DateTimeFmtGenerator -from generators.lang_names import LangNamesGenerator from generators.localeDisplayNames import LocaleNamesGenerator from generators.likely_subtags import LikelySubtagsGenerator from generators.message_fmt2 import MessageFmt2Generator @@ -84,11 +83,7 @@ def generate_versioned_data(version_info): # First try with the new source of data. If not found, then use the older # lang names generator. generator = LocaleNamesGenerator(icu_version, args.run_limit) - if not generator: - logging.info('lang generated from old LangNames data in %s', icu_version) - generator = LangNamesGenerator(icu_version, args.run_limit) - else: - logging.info('lang generated from new LocaleNames data in %s', icu_version) + logging.info('lang generated from new LocaleNames data in %s', icu_version) if generator: generator.process_test_data() diff --git a/verifier/check_known_issues.py b/verifier/check_known_issues.py index 750d5858..282e434b 100644 --- a/verifier/check_known_issues.py +++ b/verifier/check_known_issues.py @@ -445,7 +445,7 @@ def compute_known_issues_for_single_test(test_type, test, platform_info): known_issue_found = False if test_type == ddt_data.testType.collation.value: known_issue_found = check_collation_issues(test, platform_info) - if test_type == ddt_data.testType.datetime_fmt.value: + elif test_type == ddt_data.testType.datetime_fmt.value: known_issue_found = check_datetime_known_issues(test, platform_info) elif test_type == ddt_data.testType.rdt_fmt.value: known_issue_found = check_rdt_known_issues(test, platform_info)