[DEFAULT]
head = head_appinfo.js ../../../common/tests/unit/head_helpers.js head_helpers.js head_http_server.js head_errorhandler_common.js
tail =
firefox-appdir = browser
support-files =
  addon1-search.xml
  bootstrap1-search.xml
  fake_login_manager.js
  missing-sourceuri.xml
  missing-xpi-search.xml
  places_v10_from_v11.sqlite
  rewrite-search.xml
  sync_ping_schema.json
  systemaddon-search.xml
  !/services/common/tests/unit/head_helpers.js
  !/toolkit/mozapps/extensions/test/xpcshell/head_addons.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_deriveKey.js]
[test_utils_keyEncoding.js]
[test_utils_getErrorString.js]
[test_utils_json.js]
[test_utils_lazyStrings.js]
[test_utils_lock.js]
[test_utils_makeGUID.js]
[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]
[test_jpakeclient.js]
# Bug 618233: this test produces random failures on Windows 7.
# Bug 676978: test hangs on Android (see also testing/xpcshell/xpcshell.ini)
skip-if = os == "win" || os == "android"

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

# Generic Sync types.
[test_browserid_identity.js]
[test_collection_inc_get.js]
[test_collection_getBatched.js]
[test_collections_recovery.js]
[test_identity_manager.js]
[test_keys.js]
[test_records_crypto.js]
[test_records_wbo.js]

# Engine APIs.
[test_engine.js]
[test_engine_abort.js]
[test_enginemanager.js]
[test_syncengine.js]
[test_syncengine_sync.js]
# Bug 676978: test hangs on Android (see also testing/xpcshell/xpcshell.ini)
skip-if = os == "android"
[test_tracker_addChanged.js]

# Service semantics.
[test_service_attributes.js]
[test_service_changePassword.js]
# Bug 752243: Profile cleanup frequently fails
skip-if = os == "mac" || os == "linux"
[test_service_checkAccount.js]
[test_service_cluster.js]
[test_service_createAccount.js]
# Bug 752243: Profile cleanup frequently fails
skip-if = os == "mac" || os == "linux"
[test_service_detect_upgrade.js]
[test_service_getStorageInfo.js]
[test_service_login.js]
[test_service_migratePrefs.js]
[test_service_passwordUTF8.js]
[test_service_persistLogin.js]
[test_service_set_serverURL.js]
[test_service_startOver.js]
[test_service_startup.js]
[test_service_sync_401.js]
[test_service_sync_locked.js]
[test_service_sync_remoteSetup.js]
# Bug 676978: test hangs on Android (see also testing/xpcshell/xpcshell.ini)
skip-if = os == "android"
[test_service_sync_specified.js]
[test_service_sync_updateEnabledEngines.js]
# Bug 676978: test hangs on Android (see also testing/xpcshell/xpcshell.ini)
skip-if = os == "android"
[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]
[test_declined.js]
[test_errorhandler_1.js]
[test_errorhandler_2.js]
[test_errorhandler_filelog.js]
# Bug 676978: test hangs on Android (see also testing/xpcshell/xpcshell.ini)
skip-if = os == "android"
[test_errorhandler_sync_checkServerError.js]
# Bug 676978: test hangs on Android (see also testing/xpcshell/xpcshell.ini)
skip-if = os == "android"
[test_errorhandler_eol.js]
[test_hmac_error.js]
[test_interval_triggers.js]
[test_node_reassignment.js]
[test_score_triggers.js]
[test_sendcredentials_controller.js]
[test_status.js]
[test_status_checkSetup.js]
[test_syncscheduler.js]
[test_upgrade_old_sync_key.js]

# Firefox Accounts specific tests
[test_fxa_startOver.js]
[test_fxa_service_cluster.js]
[test_fxa_node_reassignment.js]

# Finally, we test each engine.
[test_addons_engine.js]
run-sequentially = Hardcoded port in static files.
tags = addons
[test_addons_reconciler.js]
tags = addons
[test_addons_store.js]
run-sequentially = Hardcoded port in static files.
tags = addons
[test_addons_tracker.js]
tags = addons
[test_bookmark_batch_fail.js]
[test_bookmark_duping.js]
[test_bookmark_engine.js]
[test_bookmark_invalid.js]
[test_bookmark_legacy_microsummaries_support.js]
[test_bookmark_livemarks.js]
[test_bookmark_order.js]
[test_bookmark_places_query_rewriting.js]
[test_bookmark_record.js]
[test_bookmark_smart_bookmarks.js]
[test_bookmark_store.js]
# Too many intermittent "ASSERTION: thread pool wasn't shutdown: '!mPool'" (bug 804479)
skip-if = debug
[test_bookmark_tracker.js]
requesttimeoutfactor = 4
[test_bookmark_validator.js]
[test_clients_engine.js]
[test_clients_escape.js]
[test_extension_storage_crypto.js]
[test_extension_storage_engine.js]
[test_extension_storage_tracker.js]
[test_forms_store.js]
[test_forms_tracker.js]
# Too many intermittent "ASSERTION: thread pool wasn't shutdown: '!mPool'" (bug 804479)
skip-if = debug
[test_history_engine.js]
[test_history_store.js]
[test_history_tracker.js]
# Too many intermittent "ASSERTION: thread pool wasn't shutdown: '!mPool'" (bug 804479)
skip-if = debug
[test_places_guid_downgrade.js]
[test_password_store.js]
[test_password_validator.js]
[test_password_tracker.js]
# Too many intermittent "ASSERTION: thread pool wasn't shutdown: '!mPool'" (bug 804479)
skip-if = debug
[test_prefs_store.js]
support-files = prefs_test_prefs_store.js
[test_prefs_tracker.js]
[test_tab_engine.js]
[test_tab_store.js]
[test_tab_tracker.js]

[test_warn_on_truncated_response.js]
[test_postqueue.js]

# FxA migration
[test_fxa_migration.js]

# Synced tabs.
[test_syncedtabs.js]

[test_telemetry.js]
