
# These tests need more basic testing support plumbed right into the
# platform, which we don't currently have:
https://github.com/domokit/mojo/issues/15 parser/cr.sky [ Skip ]
https://github.com/domokit/mojo/issues/15 parser/empty.sky [ Skip ]
#https://github.com/domokit/mojo/issues/15 parser/utf16.sky [ Skip ]

# These tests fail
https://github.com/domokit/mojo/issues/14 parser/normaliser-null.sky [ Skip ]
https://github.com/domokit/mojo/issues/14 parser/utf16.sky [ Skip ]
https://github.com/domokit/mojo/issues/16 parser/normaliser-crlf.sky [ Skip ]

# This test depends on events.md being implemented
crbug.com/1 events/dispatcher.sky [ Skip ]

# These tests broke during the Dart migration
crbug.com/2 animation/basic-imperative.sky [ Skip ]
crbug.com/2 animation/basic-transition.sky [ Skip ]
crbug.com/2 events/gesture-events.sky [ Skip ]
crbug.com/2 events/pointer-events.sky [ Skip ]
crbug.com/2 layout/margins-absolute.sky [ Skip ]
crbug.com/2 layout/margins.sky [ Skip ]
crbug.com/2 lowlevel/createElement.sky [ Skip ]
crbug.com/2 modules/application.sky [ Skip ]
crbug.com/2 modules/instance-of-application.sky [ Skip ]
crbug.com/2 modules/instance-of-module.sky [ Skip ]
crbug.com/2 modules/load-event.sky [ Skip ]
crbug.com/2 modules/modules.sky [ Skip ]
crbug.com/2 modules/script-import.sky [ Skip ]
crbug.com/2 parser/script.sky [ Skip ]
crbug.com/2 services/iframe-service-provider.sky [ Skip ]

# Started failing on DEPS roll.
# https://codereview.chromium.org/1001833005/
https://github.com/domokit/mojo/issues/64 framework/flights-app-pixels.sky [ Skip ]
https://github.com/domokit/mojo/issues/64 lowlevel/layers.sky [ Skip ]

# Flaky
https://github.com/domokit/mojo/issues/62 custom-elements/registration.sky [ Skip ]
