Compute the test file name in _finalize_params

Bug: 330885075
Change-Id: Ifaad7186f02ad856c521a41ae2bfbcd0204af21f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5378526
Reviewed-by: Andres Ricardo Perez <andresrperez@chromium.org>
Commit-Queue: Jean-Philippe Gravel <jpgravel@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1282119}
diff --git a/html/canvas/tools/gentestutilsunion.py b/html/canvas/tools/gentestutilsunion.py
index dcca0d8..0cc3e23 100644
--- a/html/canvas/tools/gentestutilsunion.py
+++ b/html/canvas/tools/gentestutilsunion.py
@@ -343,9 +343,17 @@
     return name
 
 
+def _get_file_name(params: _TestParams) -> str:
+    file_name = params['name']
+    if 'manual' in params:
+        file_name += '-manual'
+    return file_name
+
+
 def _finalize_params(jinja_env: jinja2.Environment,
                      params: _MutableTestParams) -> None:
     params['name'] = _get_variant_name(jinja_env, params)
+    params['file_name'] = _get_file_name(params)
 
 
 def _write_reference_test(jinja_env: jinja2.Environment, params: _TestParams,
@@ -473,10 +481,7 @@
             f'Test {name} is defined twice for types {already_tested}')
     used_tests[name].update(enabled_canvas_types)
 
-    file_name = name
-    if 'manual' in test:
-        file_name += '-manual'
-    output_files = output_dirs.sub_path(file_name)
+    output_files = output_dirs.sub_path(params['file_name'])
 
     if 'reference' in test or 'html_reference' in test:
         _write_reference_test(jinja_env, params, enabled_canvas_types,
@@ -593,7 +598,7 @@
             if test['name'] != variant['name']:
                 print(f'  {variant["name"]}')
 
-            sub_dir = _get_test_sub_dir(variant['name'], name_to_sub_dir)
+            sub_dir = _get_test_sub_dir(variant['file_name'], name_to_sub_dir)
             _generate_test(variant, jinja_env, used_tests,
                            output_dirs.sub_path(sub_dir))