[skipped_groups.unsupported_options]
reason = "These tests use unsupported options"
tests = [
  "audit.sh",
  "auxiliary.sh",                      # `-auxiliary` and `-f`
  "color-diagnostics.sh",
  "compress-debug-sections-zstd.sh",   # Compressed debug sections support #493
  "compress-debug-sections.sh",        # Compressed debug sections support #493
  "default-symver-version-script.sh",
  "default-symver.sh",
  "depaudit.sh",
  "depaudit2.sh",
  "dependency-file-response-file.sh",  # `-dependency-file={file}`
  "dependency-file.sh",
  "dynamic-list-data.sh",
  "emit-relocs-cpp.sh",
  "emit-relocs-dead-sections.sh",
  "emit-relocs.sh",
  "exception-multiple-ehframe.sh",     # `-r`
  "exclude-libs.sh",
  "execute-only.sh",
  "fatal-warnings.sh",                 # `-warn-common` and `-fatal-warnings`
  "filler.sh",
  "filter.sh",
  "global-offset-table.sh",            # `-defsym=foo=_GLOBAL_OFFSET_TABLE_`
  "icf-gcc-except-table.sh",           # `--icf`
  "icf.sh",                            # `--icf`
  "image-base.sh",
  "init-in-dso.sh",
  "init.sh",
  "library.sh",
  "linker-script-relocatable.sh",      # `--relocatable`
  "many-input-sections2.sh",           # `--relocatable`
  "nmagic.sh",
  "no-quick-exit.sh",
  "oformat-binary.sh",
  "omagic.sh",
  "package-metadata.sh",
  "physical-image-base.sh",
  "print-dependencies.sh",
  "relocatable-archive.sh",
  "relocatable-c++.sh",
  "relocatable-debug-info.sh",
  "relocatable-exception.sh",
  "relocatable-many-sections.sh",      # `-r`
  "relocatable-merge-sections.sh",
  "relocatable-mergeable-sections.sh",
  "relocatable.sh",
  "repro.sh",                          # Note in this test's second half that it uses a custom environment variable called `MOLD_REPRO`. While Wild currently doesn't support `--repro`, it will eventually be moved to the "ignore" group once support is added.
  "require-defined.sh",
  "response-file-quoting.sh",
  "retain-symbols-file.sh",
  "reverse-sections.sh",
  "rosegment.sh",
  "run.sh",
  "section-align.sh",                  # `--section-align`
  "section-order.sh",
  "separate-debug-file-sort.sh",
  "separate-debug-file.sh",
  "shuffle-sections-seed.sh",
  "shuffle-sections.sh",
  "sort-debug-info-compressed.sh",     # `-Map`
  "sort-debug-info-merged.sh",         # `-r`
  "sort-debug-info.sh",                # `-Map`
  "spare-program-headers.sh",
  "start-stop.sh",
  "static-archive.sh",                 # `--trace`
  "synthetic-symbols.sh",              # `--image-base`
  "thin-archive.sh",                   # `--trace`
  "trace-symbol-symver.sh",
  "trace-symbol.sh",
  "trace.sh",
  "undefined-glob-gc-sections.sh",
  "undefined-glob.sh",
  "warn-common.sh",
  "warn-once.sh",
  "zero-to-bss.sh",
]

[skipped_groups.gdb_index]
reason = "GDB index support"
tracking_issue = "https://github.com/davidlattimore/wild/issues/811"
tests = [
  "gdb-index-compress-output.sh",
  "gdb-index-dwarf2.sh",
  "gdb-index-dwarf3.sh",
  "gdb-index-dwarf4.sh",
  "gdb-index-dwarf5.sh",
  "gdb-index-dwarf64.sh",
  "gdb-index-split-dwarf.sh",
]

[skipped_groups.version_script]
reason = "Version script support"
tests = [
  "version-script-search-paths.sh",
  "version-script15.sh",
  "version-script17.sh",
]

[skipped_groups.z_options]
reason = "Related to -z"
tests = [
  "z-cet-report.sh",
  "z-dynamic-undefined-weak-exe.sh",
  "z-dynamic-undefined-weak.sh",
  "z-nodefaultlib.sh",
  "z-nodump.sh",
  "z-pack-relative-relocs.sh",
  "z-rodynamic.sh",
  "z-sectionheader.sh",
  "z-start-stop-visibility.sh",
]

[skipped_groups.arch_x86_64]
reason = "x86_64 specific tests"
tests = [
  "arch-x86_64-address-equality.sh",
  "arch-x86_64-empty-mergeable-section.sh",
  "arch-x86_64-execstack-if-needed.sh",
  "arch-x86_64-gnu-linkonce.sh",
  "arch-x86_64-gotpcrelx.sh",
  "arch-x86_64-init-array-readonly.sh",
  "arch-x86_64-mergeable-strings-nonalloc.sh",
  "arch-x86_64-note-property2.sh",             # `--relocatable` is not supported yet.
  "arch-x86_64-relax.sh",
  "arch-x86_64-reloc.sh",
  "arch-x86_64-section-name.sh",
  "arch-x86_64-tbss-only.sh",
  "arch-x86_64-unique.sh",
  "arch-x86_64-warn-execstack.sh",
  "arch-x86_64-warn-shared-textrel.sh",
  "arch-x86_64-warn-textrel.sh",
  "arch-x86_64-z-dynamic-undefined-weak.sh",
  "arch-x86_64-z-ibt.sh",
  "arch-x86_64-z-rewrite-endbr.sh",
  "arch-x86_64-z-rewrite-endbr2.sh",
  "arch-x86_64-z-shstk.sh",
  "arch-x86_64-z-text.sh",
]

[skipped_groups.arch_aarch64]
reason = "Aarch64 specific tests"
tests = [
  "arch-aarch64-long-thunk.sh",
  "arch-aarch64-range-extension-thunk-disassembly.sh",
]

[skipped_groups.arch_riscv64]
reason = "RISC-V specific tests"
tests = [
  "arch-riscv64-global-pointer.sh",
  "arch-riscv64-obj-compatible.sh",
  "arch-riscv64-relax-align.sh",
  "arch-riscv64-relax-got.sh",
  "arch-riscv64-relax-hi20.sh",
  "arch-riscv64-reloc-overflow.sh",
  "arch-riscv64-symbol-size.sh",
]

[skipped_groups.arch_loongarch64]
reason = "LoongArch64 specific tests"
tests = [
  "arch-loongarch64-relax-call36.sh",
  "arch-loongarch64-relax-got-load.sh",
  "arch-loongarch64-relax-pcala-addi.sh",
  "arch-loongarch64-relax-tlsdesc.sh",
]

[skipped_groups.tls]
reason = "Related to TLS"
tests  = ["tls-common.sh", "tls-le-error.sh"]

[skipped_groups.ignore]
reason = "We ignore these tests for some reasons"
tests = [
  "arch-riscv64-relax-j.sh",        # Passes when `--no-gc-sections` is passed.
  "arch-x86_64-empty-arg.sh",       # Different message formats
  "arch-x86_64-note.sh",            # The order of sections is different.
  "arch-x86_64-note2.sh",           # The order of sections is different.
  "arch-x86_64-plt.sh",             # We use `.got.plt`, not `.plt.got`.
  "arch-x86_64-reloc-overflow.sh",  # Different message formats
  "build-id.sh",                    # Different build ID data size
  "cmdline.sh",                     # Different message formats for unknown options.
  "comment.sh",                     # We store a different string in the comment section than mold.
  "copyrel-alignment.sh",           # We put copy relocation info to `.bss`
  "copyrel-norelro.sh",             # We put copy relocation info to `.bss`
  "copyrel-protected.sh",           # We put copy relocation info to `.bss`
  "copyrel-relro.sh",               # We put copy relocation info to `.bss`
  "copyrel-relro2.sh",              # We put copy relocation info to `.bss`
  "demangle.sh",                    # Different message formats
  "duplicate-error-archive.sh",     # Different message formats
  "duplicate-error-gc-sections.sh", # Different message formats
  "duplicate-error.sh",             # Different message formats
  "empty-input.sh",                 # Different message formats
  "gc-sections.sh",                 # Passes when `--no-gc-sections` is passed.
  "hash-style.sh",                  # Wild doesn't support `--hash-style=none`.
  "help.sh",
  "invalid-version-script.sh",      # Different message formats
  "linker-script-error.sh",         # Different message formats
  "many-output-sections.sh",        # Different message formats
  "mold-wrapper.sh",
  "mold-wrapper2.sh",
  "no-allow-shlib-undefined.sh",    # Different message formats
  "no-allow-shlib-undefined3.sh",   # Different message formats
  "no-allow-shlib-undefined4.sh",   # GNU ld and LLD also fail
  "plt-symbols.sh",                 # Wild currently doesn't create entries in the symbol table with the `$plt` suffix unless `--got-plt-syms` is specified
  "run-clang.sh",                   # This test checks the comment section to verify if it's linked with mold.
  "start-lib.sh",                   # Passes when `--no-gc-sections` is passed.
  "stdout.sh",
  "undefined.sh",                   # Passes when `--no-gc-sections` is passed.
  "undefined2.sh",                  # Passes when `--no-gc-sections` is passed.
  "unresolved-symbols.sh",          # Different message formats
  "verbose.sh",
  "version.sh",                     # The message of `--version` is different from mold's one.
  "warn-unresolved-symbols.sh",     # Different message formats
  "whole-archive.sh",               # Passes when `--no-gc-sections` is passed.
  "z-defs.sh",                      # Different message formats
]

[skipped_groups.misc]
reason = "Not grouped yet"
tests = [
  "as-needed-weak.sh",
  "bno-symbolic.sh",
  "canonical-plt.sh",
  "common-archive.sh",
  "common-ref.sh",
  "common-symbols.sh",
  "ctors-in-init-array.sh",
  "defsym-missing-symbol.sh",
  "demangle-cpp.sh",
  "disable-new-dtags.sh",
  "discard-section.sh",
  "discard.sh",
  "dynamic-linker.sh",
  "glibc-2.22-bug.sh",
  "hidden-undef.sh",
  "ifunc-address-equality-exported.sh",
  "initfirst.sh",
  "large-alignment-dso.sh",
  "large-alignment.sh",
  "mergeable-strings.sh",
  "missing-error.sh",
  "no-allow-shlib-undefined-circular.sh",
  "no-undefined-version.sh",
  "nocopyreloc.sh",
  "noinhibit-exec.sh",
  "relro-alignment.sh",
  "rodata-name.sh",
  "section-attributes.sh",
  "strip.sh",
  "stt-common.sh",
  "symbol-version-as-needed.sh",
  "symbol-version-multi.sh",
  "symbol-version.sh",
  "symbol-version2.sh",
  "symtab-dso.sh",
  "symtab-section-symbols.sh",
  "symtab.sh",
  "textrel2.sh",
  "unknown-section-type.sh",
  "versioned-undef.sh",
  "warn-symbol-type.sh",
  "weak-export-exe.sh",
  "weak-undef.sh",
  "weak-undef2.sh",
  "weak-undef5.sh",
]
