[DEFAULT]
head = "head_psm.js"
tags = "psm condprof"
firefox-appdir = "browser"
prefs = [
  "security.pki.certificate_transparency.mode=1",
]
run-if = [
  "!msix", # Bug 1809477
]
support-files = [
  "bad_certs/**",
  "ocsp_certs/**",
  "test_baseline_requirements/**",
  "test_broken_fips/**",
  "test_cert_eku/**",
  "test_cert_embedded_null/**",
  "test_cert_keyUsage/**",
  "test_cert_overrides_read_only/**",
  "test_cert_sha1/**",
  "test_cert_signatures/**",
  "test_cert_storage_preexisting/**",
  "test_cert_trust/**",
  "test_cert_utf8/**",
  "test_cert_version/**",
  "test_certDB_import/**",
  "test_content_signing/**",
  "test_crlite_filters/**",
  "test_ct/**",
  "test_delegated_credentials/**",
  "test_encrypted_client_hello/**",
  "test_ev_certs/**",
  "test_faulty_server/**",
  "test_intermediate_basic_usage_constraints/**",
  "test_intermediate_preloads/**",
  "test_keysize/**",
  "test_keysize_ev/**",
  "test_missing_intermediate/**",
  "test_name_constraints/**",
  "test_ocsp_url/**",
  "test_onecrl/**",
  "test_pdf_verification/**",
  "test_qwacs/**",
  "test_sdr_preexisting/**",
  "test_sdr_preexisting_with_password/**",
  "test_self_signed_certs/**",
  "test_signed_apps/**",
  "test_trust_anchors/**",
  "tlsserver/**",
]

["test_add_preexisting_cert.js"]

["test_allow_all_cert_errors.js"]
run-sequentially = ["true"] # hardcoded ports

["test_baseline_requirements_subject_common_name.js"]

["test_blocklist_onecrl.js"]
# Skip signature tests for Thunderbird (Bug 1341983).
run-if = [
  "appname != 'thunderbird'",
]
tags = "remote-settings blocklist psm"

["test_broken_fips.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]
# FIPS has never been a thing on Android, so the workaround doesn't
# exist on that platform.
# FIPS still works on Linux, so this test doesn't make any sense there.
# FIPS still works on Windows, but running the test to ensure that it does not
# break with a non-ASCII profile path.
run-if = [
  "os != 'android'",
]

["test_certDB_export_pkcs12.js"]

["test_certDB_export_pkcs12_with_primary_password.js"]

["test_certDB_import.js"]
# nsCertificateDialogs not available in geckoview, bug 1554276

["test_certDB_import_pkcs12.js"]

["test_certDB_import_with_primary_password.js"]
# nsCertificateDialogs not available in geckoview, bug 1554276

["test_cert_chains.js"]
run-sequentially = ["true"] # hardcoded ports

["test_cert_dbKey.js"]

["test_cert_eku.js"]

["test_cert_embedded_null.js"]

["test_cert_expiration_canary.js"]
run-if = [
  "false",
  #"nightly_build",
]

["test_cert_keyUsage.js"]

["test_cert_override_read.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]

["test_cert_overrides.js"]
run-sequentially = ["true"] # hardcoded ports

["test_cert_overrides_read_only.js"]
run-sequentially = ["true"] # hardcoded ports

["test_cert_sha1.js"]

["test_cert_signatures.js"]

["test_cert_storage.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]
tags = "addons psm blocklist"

["test_cert_storage_broken_db.js"]

["test_cert_storage_direct.js"]

["test_cert_storage_preexisting.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]

["test_cert_trust.js"]

["test_cert_utf8.js"]

["test_cert_version.js"]

["test_client_auth_remember_service_read.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]

["test_client_auth_speculative_connection.js"]
run-sequentially = ["true"] # hardcoded ports

["test_constructX509FromBase64.js"]

["test_content_signing.js"]

["test_crlite_filters.js"]
run-if = [
  "debug", # Requires hard-coded debug-only data
]
run-sequentially = ["true"] # hardcoded ports
tags = "remote-settings psm"

["test_crlite_preexisting.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]
run-if = [
  "debug", # Requires hard-coded debug-only data
]

["test_crlite_preexisting_tls.js"]
run-if = [
  "debug", # Requires hard-coded debug-only data
]

["test_ct.js"]
run-if = [
  "debug", # Requires hard-coded debug-only data
]
run-sequentially = ["true"] # hardcoded ports
skip-if = [
  "os == 'win' && os_version == '11.26100' && arch == 'x86_64' && msix",
  "os == 'win' && os_version == '11.26200' && arch == 'x86_64' && msix",
]

["test_ct_stapled.js"]
run-if = [
  "debug", # Requires hard-coded debug-only data
]
run-sequentially = ["true"] # hardcoded ports
skip-if = [
  "os == 'win' && os_version == '11.26100' && arch == 'x86_64' && msix",
  "os == 'win' && os_version == '11.26200' && arch == 'x86_64' && msix",
]

["test_data_storage.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]

["test_db_format_pref_new.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]
run-if = [
  "os != 'android'", # Android always has and always will use the new format, so this test doesn't apply.
]
skip-if = [
  "os == 'linux' && os_version == '24.04' && arch == 'x86_64' && display == 'x11' && opt && condprof",
  "os == 'win' && os_version == '11.26100' && arch == 'x86_64' && opt && condprof",
  "os == 'win' && os_version == '11.26200' && arch == 'x86_64' && opt && condprof",
]

["test_delegated_credentials.js"]
run-sequentially = ["true"] # hardcoded ports

["test_der.js"]

["test_encrypted_client_hello.js"]
run-sequentially = ["true"] # hardcoded ports

["test_encrypted_client_hello_client_only.js"]
run-sequentially = ["true"] # hardcoded ports

["test_enterprise_roots.js"]
# This feature is implemented for Windows and OS X. However, we don't currently
# have a way to test it on OS X.
run-if = [
  "os == 'mac'",
  "os == 'win'",
]
skip-if = ["os == 'mac' && arch == 'aarch64'"]  # Asserts non-zero enterprise roots; fails on macOS aarch64 workers (see Bug 2037084 discussion)

["test_ev_certs.js"]
tags = "blocklist psm"
run-sequentially = ["true"] # hardcoded ports

["test_faulty_server.js"]
run-sequentially = ["true"] # hardcoded ports

["test_forget_about_site_security_headers.js"]

["test_hash_algorithms.js"]

["test_hash_algorithms_wrap.js"]

["test_intermediate_basic_usage_constraints.js"]

["test_intermediate_preloads.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]
run-sequentially = ["true"] # hardcoded ports
tags = "blocklist psm remote-settings"

["test_keysize.js"]

["test_keysize_ev.js"]
run-sequentially = ["true"] # hardcoded ports

["test_logoutAndTeardown.js"]
run-sequentially = ["true"] # hardcoded ports

["test_missing_intermediate.js"]
run-sequentially = ["true"] # hardcoded ports

["test_name_constraints.js"]

["test_nonascii_path.js"]

["test_nsCertType.js"]
run-sequentially = ["true"] # hardcoded ports

["test_nsIX509CertValidity.js"]

["test_nsIX509Cert_utf8.js"]

["test_nss_errors_service.js"]

["test_ocsp_caching.js"]
run-sequentially = ["true"] # hardcoded ports

["test_ocsp_enabled_pref.js"]
run-sequentially = ["true"] # hardcoded ports

["test_ocsp_must_staple.js"]
run-sequentially = ["true"] # hardcoded ports

["test_ocsp_no_hsts_upgrade.js"]
run-sequentially = ["true"] # hardcoded ports

["test_ocsp_private_caching.js"]
run-sequentially = ["true"] # hardcoded ports

["test_ocsp_required.js"]
run-sequentially = ["true"] # hardcoded ports

["test_ocsp_stapling.js"]
run-sequentially = ["true"] # hardcoded ports

["test_ocsp_stapling_expired.js"]
run-sequentially = ["true"] # hardcoded ports

["test_ocsp_stapling_with_intermediate.js"]
run-sequentially = ["true"] # hardcoded ports

["test_ocsp_timeout.js"]
requesttimeoutfactor = 2  # Slow on Linux and Windows
run-sequentially = ["true"] # hardcoded ports

["test_ocsp_url.js"]
run-sequentially = ["true"] # hardcoded ports

["test_oskeystore.js"]
skip-if = [
  "os == 'mac' && os_version == '15.30' && arch == 'aarch64'", # Bug 1729538
]

["test_osreauthenticator.js"]
# Reauthentication has been implemented on Windows and MacOS, so running this
# test results in the OS popping up a dialog, which means we can't run it in
# automation.
run-if = [
  "os == 'android'",
  "os == 'linux'",
]

["test_password_prompt.js"]

["test_pinning.js"]
run-sequentially = ["true"] # hardcoded ports

["test_qwacs.js"]

["test_sdr.js"]

["test_sdr_preexisting.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]
run-if = [
  "os != 'android'", # Not relevant to Android. See the comment in the test.
]

["test_sdr_preexisting_with_password.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]
run-if = [
  "os != 'android'", # Not relevant to Android. See the comment in the test.
]

["test_self_signed_certs.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]

["test_session_resumption.js"]
run-sequentially = ["true"] # hardcoded ports

["test_signed_apps.js"]

["test_signed_pdfs.js"]
prefs = [
  "security.pdf_signature_verification.enable_test_trust_anchors=true"
]

["test_ssl_session_cache_pbm_exit.js"]
run-sequentially = ["true"] # hardcoded ports

["test_ssl_status.js"]
run-sequentially = ["true"] # hardcoded ports

["test_sss_eviction.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]
run-if = [
  "!condprof", # Bug 1769154 - as designed
]

["test_sss_migration.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]
run-if = [
  "!condprof", # Bug 1769154 - as designed
]

["test_sss_originAttributes.js"]

["test_sss_readstate.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]
run-if = [
  "!condprof", # Bug 1769154 - as designed
]

["test_sss_readstate_empty.js"]
run-if = [
  "!condprof", # Bug 1769154 - as designed
]

["test_sss_readstate_garbage.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]
run-if = [
  "!condprof", # Bug 1769154 - as designed
]

["test_sss_readstate_huge.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]
run-if = [
  "!condprof", # Bug 1769154 - as designed
]

["test_sss_resetState.js"]

["test_sss_sanitizeOnShutdown_v2.js"]
prefs = ["security.storage.encryption.sqlite.enabled=false"]
firefox-appdir = "browser"
skip-if = [
  "appname == 'thunderbird'", # browser/modules/Sanitizer.sys.mjs used by the test isn't available in Thunderbird.
  "os == 'android'", # Sanitization works differently on Android - this doesn't apply.
]

["test_sss_savestate.js"]

["test_sts_fqdn.js"]

["test_sts_ipv4_ipv6.js"]

["test_sts_parser.js"]

["test_sts_preloadlist_perwindowpb.js"]

["test_sts_preloadlist_selfdestruct.js"]

["test_trust_anchors.js"]

["test_x509.js"]
