[DEFAULT]
head = head_appinfo.js ../../../common/tests/unit/head_helpers.js head_helpers.js head_http_server.js head_errorhandler_common.js
firefox-appdir = browser
prefs =
  identity.fxaccounts.enabled=true
support-files =
  addon1-search.json
  bootstrap1-search.json
  missing-sourceuri.json
  missing-xpi-search.json
  rewrite-search.json
  sync_ping_schema.json
  systemaddon-search.json
  !/services/common/tests/unit/head_helpers.js
  !/toolkit/components/extensions/test/xpcshell/head_sync.js

# The manifest is roughly ordered from low-level to high-level. When making
# systemic sweeping changes, this makes it easier to identify errors closer to
# the source.

# Ensure we can import everything.
[test_load_modules.js]

# util contains a bunch of functionality used throughout.
[test_utils_catch.js]
[test_utils_deepEquals.js]
[test_utils_deferGetSet.js]
[test_utils_keyEncoding.js]
[test_utils_json.js]
[test_utils_lock.js]
[test_utils_makeGUID.js]
run-sequentially = Disproportionately slows down full test run, bug 1450316
[test_utils_notify.js]
[test_utils_passphrase.js]

# We have a number of other libraries that are pretty much standalone.
[test_addon_utils.js]
run-sequentially = Restarts server, can't change pref.
tags = addons
[test_httpd_sync_server.js]

# HTTP layers.
[test_resource.js]
[test_resource_header.js]
[test_resource_ua.js]

# Generic Sync types.
[test_collection_getBatched.js]
[test_collections_recovery.js]
[test_keys.js]
[test_records_crypto.js]
[test_records_wbo.js]
[test_sync_auth_manager.js]

# Engine APIs.
[test_engine.js]
[test_engine_abort.js]
[test_engine_changes_during_sync.js]
skip-if = appname == 'thunderbird'
[test_enginemanager.js]
[test_syncengine.js]
[test_syncengine_sync.js]
run-sequentially = Frequent timeouts, bug 1395148
[test_tracker_addChanged.js]

# Service semantics.
[test_service_attributes.js]
# Bug 752243: Profile cleanup frequently fails
skip-if =
  os == "mac"
  os == "linux"
[test_service_cluster.js]
[test_service_detect_upgrade.js]
skip-if = appname == 'thunderbird'
[test_service_login.js]
[test_service_startOver.js]
[test_service_startup.js]
[test_service_sync_401.js]
[test_service_sync_locked.js]
[test_service_sync_remoteSetup.js]
run-sequentially = Frequent timeouts, bug 1395148
[test_service_sync_specified.js]
[test_service_sync_updateEnabledEngines.js]
run-sequentially = Frequent timeouts, bug 1395148
[test_service_verifyLogin.js]
[test_service_wipeClient.js]
[test_service_wipeServer.js]
# Bug 752243: Profile cleanup frequently fails
skip-if =
  os == "mac"
  os == "linux"

[test_corrupt_keys.js]
skip-if = appname == 'thunderbird'
[test_declined.js]
[test_errorhandler_1.js]
run-sequentially = Frequent timeouts, bug 1395148
[test_errorhandler_2.js]
run-sequentially = Frequent timeouts, bug 1395148
[test_errorhandler_filelog.js]
[test_errorhandler_sync_checkServerError.js]
[test_hmac_error.js]
[test_interval_triggers.js]
[test_node_reassignment.js]
run-sequentially = Frequent timeouts, bug 1395148
[test_score_triggers.js]
[test_status.js]
[test_status_checkSetup.js]
[test_syncscheduler.js]
run-sequentially = Frequent timeouts, bug 1395148

# Firefox Accounts specific tests
[test_fxa_service_cluster.js]
[test_fxa_node_reassignment.js]
run-sequentially = Frequent timeouts, bug 1395148

# Finally, we test each engine.
[test_addons_engine.js]
run-sequentially = Hardcoded port in static files.
tags = addons
[test_addons_reconciler.js]
skip-if = appname == 'thunderbird'
tags = addons
[test_addons_store.js]
run-sequentially = Hardcoded port in static files.
tags = addons
[test_addons_tracker.js]
tags = addons
[test_addons_validator.js]
tags = addons
[test_bookmark_batch_fail.js]
skip-if = appname == 'thunderbird'
[test_bookmark_engine.js]
skip-if =
  appname == 'thunderbird'
  tsan # Runs unreasonably slow on TSan, bug 1612707
[test_bookmark_order.js]
skip-if = appname == 'thunderbird'
[test_bookmark_places_query_rewriting.js]
skip-if = appname == 'thunderbird'
[test_bookmark_record.js]
skip-if = appname == 'thunderbird'
[test_bookmark_store.js]
skip-if = appname == 'thunderbird'
[test_bookmark_decline_undecline.js]
skip-if = appname == 'thunderbird'
[test_bookmark_tracker.js]
skip-if =
  appname == 'thunderbird'
  tsan # Runs unreasonably slow on TSan, bug 1612707
requesttimeoutfactor = 4
[test_bridged_engine.js]
[test_clients_engine.js]
run-sequentially = Frequent timeouts, bug 1395148
[test_clients_escape.js]
[test_extension_storage_migration_telem.js]
skip-if = appname == 'thunderbird'
run-sequentially = extension-storage migration happens only once, and must be tested first.
[test_extension_storage_engine.js]
skip-if = appname == 'thunderbird'
run-sequentially = extension-storage migration happens only once, and must be tested first.
[test_extension_storage_engine_kinto.js]
skip-if = appname == 'thunderbird'
run-sequentially = extension-storage migration happens only once, and must be tested first.
[test_extension_storage_tracker_kinto.js]
skip-if = appname == 'thunderbird'
[test_forms_store.js]
skip-if = appname == 'thunderbird'
[test_forms_tracker.js]
skip-if = appname == 'thunderbird'
[test_form_validator.js]
skip-if = appname == 'thunderbird'
[test_history_engine.js]
skip-if = appname == 'thunderbird'
[test_history_store.js]
skip-if = appname == 'thunderbird'
[test_history_tracker.js]
skip-if = appname == 'thunderbird'
[test_password_engine.js]
[test_password_store.js]
[test_password_validator.js]
[test_password_tracker.js]
[test_prefs_engine.js]
skip-if = appname == 'thunderbird'
[test_prefs_store.js]
skip-if = appname == 'thunderbird'
support-files = prefs_test_prefs_store.js
[test_prefs_tracker.js]
skip-if = appname == 'thunderbird'
[test_tab_engine.js]
skip-if = appname == 'thunderbird'
[test_tab_quickwrite.js]
skip-if = appname == 'thunderbird'
[test_tab_provider.js]
skip-if = appname == 'thunderbird'
[test_tab_tracker.js]
skip-if = appname == 'thunderbird'

[test_postqueue.js]

# Synced tabs.
[test_syncedtabs.js]

[test_telemetry.js]
skip-if =
  appname == 'thunderbird'
  tsan # Unreasonably slow, bug 1612707
requesttimeoutfactor = 4

[test_uistate.js]
[test_412.js]
[test_disconnect_shutdown.js]
