| load("@bazel_skylib//:bzl_library.bzl", "bzl_library") |
| load("@bazel_skylib//rules:diff_test.bzl", "diff_test") |
| load(":stardoc_test.bzl", "self_gen_test", "stardoc_test") |
| |
| package( |
| default_applicable_licenses = ["//:license"], |
| default_testonly = True, |
| ) |
| |
| licenses(["notice"]) # Apache 2.0 |
| |
| self_gen_test( |
| name = "stardoc_self_gen_test", |
| golden_file = "//stardoc:stardoc_doc.md", |
| stardoc_doc = "//:stardoc_rule_doc", |
| # stardoc_doc.md output was generated with Bazel HEAD on 2024-06-12 and may differ in other versions |
| tags = [ |
| "bazel_8", |
| "manual", |
| ], |
| ) |
| |
| exports_files(["testdata/fakedeps/dep.bzl"]) |
| |
| stardoc_test( |
| name = "input_template_test", |
| aspect_template = "testdata/input_template_test/aspect.vm", |
| func_template = "testdata/input_template_test/func.vm", |
| golden_file = "testdata/input_template_test/golden.md", |
| header_template = "testdata/input_template_test/header.vm", |
| input_file = "testdata/input_template_test/input.bzl", |
| provider_template = "testdata/input_template_test/provider.vm", |
| rule_template = "testdata/input_template_test/rule.vm", |
| ) |
| |
| stardoc_test( |
| name = "angle_bracket_test", |
| golden_file = "testdata/angle_bracket_test/golden.md", |
| input_file = "testdata/angle_bracket_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "proto_format_test", |
| format = "proto", |
| golden_file = "testdata/proto_format_test/golden.binaryproto", |
| input_file = "testdata/proto_format_test/input.bzl", |
| # Golden output was generated with Bazel 7.2 and may differ in other versions |
| tags = [ |
| "bazel_7_2", |
| "manual", |
| ], |
| ) |
| |
| stardoc_test( |
| name = "cc_api_test", |
| golden_file = "testdata/cc_api_test/golden.md", |
| input_file = "testdata/cc_api_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "simple_test", |
| golden_file = "testdata/simple_test/golden.md", |
| input_file = "testdata/simple_test/input.bzl", |
| symbol_names = ["my_rule"], |
| ) |
| |
| stardoc_test( |
| name = "repo_rules_test", |
| golden_file = "testdata/repo_rules_test/golden.md", |
| input_file = "testdata/repo_rules_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "module_extension_test", |
| golden_file = "testdata/module_extension_test/golden.md", |
| input_file = "testdata/module_extension_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "unknown_name_test", |
| golden_file = "testdata/unknown_name_test/golden.md", |
| input_file = "testdata/unknown_name_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "multiple_rules_test", |
| golden_file = "testdata/multiple_rules_test/golden.md", |
| input_file = "testdata/multiple_rules_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "cpp_basic_test", |
| golden_file = "testdata/cpp_basic_test/golden.md", |
| input_file = "testdata/cpp_basic_test/input.bzl", |
| symbol_names = ["cpp_related_rule"], |
| ) |
| |
| stardoc_test( |
| name = "multiple_files_test", |
| golden_file = "testdata/multiple_files_test/golden.md", |
| input_file = "testdata/multiple_files_test/input.bzl", |
| deps = [ |
| "testdata/multiple_files_test/dep.bzl", |
| "testdata/multiple_files_test/inner_dep.bzl", |
| ], |
| ) |
| |
| stardoc_test( |
| name = "multiple_files_noenable_bzlmod_test", |
| golden_file = "testdata/multiple_files_test/noenable_bzlmod_golden.md", |
| input_file = "testdata/multiple_files_test/input.bzl", |
| tags = [ |
| "manual", |
| "noenable_bzlmod", |
| ], |
| deps = [ |
| "testdata/multiple_files_test/dep.bzl", |
| "testdata/multiple_files_test/inner_dep.bzl", |
| ], |
| ) |
| |
| stardoc_test( |
| name = "same_level_file_test", |
| golden_file = "//test/testdata/same_level_file_test:golden.md", |
| input_file = "//test/testdata/same_level_file_test:input.bzl", |
| symbol_names = ["my_rule"], |
| deps = [ |
| "//test/testdata/same_level_file_test:dep.bzl", |
| ], |
| ) |
| |
| stardoc_test( |
| name = "same_level_file_noenable_bzlmod_test", |
| golden_file = "//test/testdata/same_level_file_test:noenable_bzlmod_golden.md", |
| input_file = "//test/testdata/same_level_file_test:input.bzl", |
| symbol_names = ["my_rule"], |
| tags = [ |
| "manual", |
| "noenable_bzlmod", |
| ], |
| deps = [ |
| "//test/testdata/same_level_file_test:dep.bzl", |
| ], |
| ) |
| |
| stardoc_test( |
| name = "misc_apis_test", |
| golden_file = "testdata/misc_apis_test/golden.md", |
| input_file = "testdata/misc_apis_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "attribute_types_test", |
| golden_file = "testdata/attribute_types_test/golden.md", |
| input_file = "testdata/attribute_types_test/input.bzl", |
| symbol_names = ["my_rule"], |
| ) |
| |
| stardoc_test( |
| name = "filter_rules_test", |
| golden_file = "testdata/filter_rules_test/golden.md", |
| input_file = "testdata/filter_rules_test/input.bzl", |
| symbol_names = [ |
| "my_rule", |
| "allowlisted_dep_rule", |
| ], |
| deps = [ |
| "testdata/filter_rules_test/dep.bzl", |
| ], |
| ) |
| |
| stardoc_test( |
| name = "provider_basic_test", |
| golden_file = "testdata/provider_basic_test/golden.md", |
| input_file = "testdata/provider_basic_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "function_basic_test", |
| golden_file = "testdata/function_basic_test/golden.md", |
| input_file = "testdata/function_basic_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "function_wrap_multiple_lines_test", |
| golden_file = "testdata/function_wrap_multiple_lines_test/golden.md", |
| input_file = "testdata/function_wrap_multiple_lines_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "namespace_test", |
| golden_file = "testdata/namespace_test/golden.md", |
| input_file = "testdata/namespace_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "namespace_test_with_allowlist", |
| golden_file = "testdata/namespace_test/golden.md", |
| input_file = "testdata/namespace_test/input.bzl", |
| symbol_names = [ |
| "my_namespace", |
| ], |
| ) |
| |
| stardoc_test( |
| name = "multi_level_namespace_test", |
| golden_file = "testdata/multi_level_namespace_test/golden.md", |
| input_file = "testdata/multi_level_namespace_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "multi_level_namespace_test_with_allowlist", |
| golden_file = "testdata/multi_level_namespace_test_with_allowlist/golden.md", |
| input_file = "testdata/multi_level_namespace_test_with_allowlist/input.bzl", |
| symbol_names = [ |
| "my_namespace", |
| "other_namespace.foo.nothing", |
| ], |
| ) |
| |
| stardoc_test( |
| name = "macro_kwargs_legacy_test", |
| golden_file = "testdata/macro_kwargs_test/legacy_golden.md", |
| input_file = "testdata/macro_kwargs_test/input.bzl", |
| # Golden output was generated with Bazel 7.2 and may differ in other versions |
| tags = [ |
| "bazel_7_2", |
| "manual", |
| ], |
| ) |
| |
| stardoc_test( |
| name = "macro_kwargs_test", |
| golden_file = "testdata/macro_kwargs_test/golden.md", |
| input_file = "testdata/macro_kwargs_test/input.bzl", |
| # Golden output was generated with Bazel HEAD on 2024-06-12 and may differ in other versions |
| tags = [ |
| "bazel_8", |
| "manual", |
| ], |
| ) |
| |
| stardoc_test( |
| name = "pure_markdown_template_test", |
| golden_file = "testdata/pure_markdown_template_test/golden.md", |
| input_file = "testdata/pure_markdown_template_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "py_rule_test", |
| golden_file = "testdata/py_rule_test/golden.md", |
| input_file = "testdata/py_rule_test/input.bzl", |
| symbol_names = ["py_related_rule"], |
| ) |
| |
| stardoc_test( |
| name = "struct_default_value_test", |
| golden_file = "testdata/struct_default_value_test/golden.md", |
| input_file = "testdata/struct_default_value_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "aspect_test", |
| golden_file = "testdata/aspect_test/golden.md", |
| input_file = "testdata/aspect_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "providers_for_attributes_test", |
| golden_file = "testdata/providers_for_attributes_test/golden.md", |
| input_file = "testdata/providers_for_attributes_test/input.bzl", |
| deps = [ |
| "testdata/providers_for_attributes_test/dep.bzl", |
| ], |
| ) |
| |
| stardoc_test( |
| name = "html_tables_template_test", |
| golden_file = "testdata/html_tables_template_test/golden.md", |
| input_file = "testdata/html_tables_template_test/input.bzl", |
| test = "html_tables", |
| ) |
| |
| stardoc_test( |
| name = "attribute_defaults_test", |
| golden_file = "testdata/attribute_defaults_test/golden.md", |
| input_file = "testdata/attribute_defaults_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "config_apis_test", |
| golden_file = "testdata/config_apis_test/golden.md", |
| input_file = "testdata/config_apis_test/input.bzl", |
| ) |
| |
| stardoc_test( |
| name = "footer_test", |
| footer_template = "testdata/footer_test/footer_template.vm", |
| golden_file = "testdata/footer_test/golden.md", |
| input_file = "testdata/footer_test/input.bzl", |
| ) |
| |
| bzl_library( |
| name = "table_of_contents_test_deps", |
| srcs = [ |
| "testdata/aspect_test/input.bzl", |
| "testdata/function_basic_test/input.bzl", |
| "testdata/module_extension_test/input.bzl", |
| "testdata/provider_basic_test/input.bzl", |
| "testdata/repo_rules_test/input.bzl", |
| "testdata/simple_test/input.bzl", |
| ], |
| ) |
| |
| stardoc_test( |
| name = "table_of_contents_test", |
| golden_file = "testdata/table_of_contents_test/golden.md", |
| input_file = "testdata/table_of_contents_test/input.bzl", |
| table_of_contents_template = "//stardoc:templates/markdown_tables/table_of_contents.vm", |
| deps = [":table_of_contents_test_deps"], |
| ) |
| |
| stardoc_test( |
| name = "table_of_contents_noenable_bzlmod_test", |
| golden_file = "testdata/table_of_contents_test/noenable_bzlmod_golden.md", |
| input_file = "testdata/table_of_contents_test/input.bzl", |
| table_of_contents_template = "//stardoc:templates/markdown_tables/table_of_contents.vm", |
| tags = [ |
| "manual", |
| "noenable_bzlmod", |
| ], |
| deps = [":table_of_contents_test_deps"], |
| ) |
| |
| stardoc_test( |
| name = "stamping_test", |
| golden_file = "testdata/stamping_test/golden.md", |
| header_template = "testdata/stamping_test/stamping_header.vm", |
| input_file = "testdata/stamping_test/input.bzl", |
| stamp = 1, |
| ) |
| |
| stardoc_test( |
| name = "stamping_with_stamping_off_test", |
| golden_file = "testdata/stamping_test/golden_stamping_off.md", |
| header_template = "testdata/stamping_test/stamping_header_stamping_off.vm", |
| input_file = "testdata/stamping_test/input.bzl", |
| stamp = 0, |
| ) |
| |
| sh_test( |
| name = "local_repository_test", |
| srcs = ["diff_test_runner.sh"], |
| args = [ |
| "$(location @local_repository_test//:output.md)", |
| "$(location @local_repository_test//:golden.md)", |
| ], |
| data = [ |
| "@local_repository_test//:golden.md", |
| "@local_repository_test//:output.md", |
| ], |
| tags = [ |
| "manual", |
| "noenable_bzlmod", |
| ], |
| ) |
| |
| # Consistency tests for WORKSPACE-related .bzl files vs. MODULE.bazel |
| |
| genrule( |
| name = "stardoc_maven_artifacts_in_deps_bzl", |
| srcs = ["//:deps.bzl"], |
| outs = ["stardoc_maven_artifacts_in_deps_bzl.txt"], |
| # Remove all lines except those from 'STARDOC_MAVEN_ARTIFACTS = [' to next ']' |
| cmd = "sed -e '/STARDOC_MAVEN_ARTIFACTS = \\[/,/\\]/!d' $< >$@", |
| ) |
| |
| genrule( |
| name = "stardoc_maven_artifacts_in_module_bazel", |
| srcs = ["//:MODULE.bazel"], |
| outs = ["stardoc_maven_artifacts_in_module_bazel.txt"], |
| # Remove all lines except those from 'STARDOC_MAVEN_ARTIFACTS = [' to next ']' |
| cmd = "sed -e '/STARDOC_MAVEN_ARTIFACTS = \\[/,/\\]/!d' $< >$@", |
| ) |
| |
| diff_test( |
| name = "stardoc_maven_artifacts_consistency_test", |
| failure_message = "STARDOC_MAVEN_ARTIFACTS in deps.bzl and MODULE.bazel are inconsistent", |
| file1 = "stardoc_maven_artifacts_in_deps_bzl", |
| file2 = "stardoc_maven_artifacts_in_module_bazel", |
| ) |
| |
| genrule( |
| name = "stardoc_version_in_version_bzl", |
| srcs = ["//:version.bzl"], |
| outs = ["stardoc_version_in_version_bzl.txt"], |
| # Find first line starting containing 'version = ' and extract the string value |
| cmd = "grep -m 1 'version = ' $< | sed -e 's/.*version = \\(\".*\"\\).*/\\1/' >$@", |
| ) |
| |
| genrule( |
| name = "stardoc_version_in_module_bazel", |
| srcs = ["//:MODULE.bazel"], |
| outs = ["stardoc_version_in_module_bazel.txt"], |
| # Find first line starting containing 'version = ' and extract the string value |
| cmd = "grep -m 1 'version = ' $< | sed -e 's/.*version = \\(\".*\"\\).*/\\1/' >$@", |
| ) |
| |
| diff_test( |
| name = "stardoc_version_consistency_test", |
| failure_message = "version in version.bzl and MODULE.bazel is inconsistent", |
| file1 = "stardoc_version_in_version_bzl", |
| file2 = "stardoc_version_in_module_bazel", |
| ) |