1. 14 Jun, 2016 1 commit
    • Ian Hickson's avatar
      Lock flutter tool while updating artifacts (#4476) · f92f71fe
      Ian Hickson authored
      This prevents multiple simultaneous runs of the analyzer from stomping
      over each other (e.g. multiple runs of 'update-packages'). Certain
      long-lived commands (like analyze, run, logs) are exempted once they've
      done enough work to be safe from most stomping action.
      
      This still doesn't make us entirely safe from craziness, e.g. if you're
      half way through an 'update-packages' run and you call 'git pull', who
      knows what state you'll end up in. But there's only so much one can do.
      
      Fixes https://github.com/flutter/flutter/issues/2762
      f92f71fe
  2. 16 May, 2016 1 commit
    • Ian Hickson's avatar
      Make it possible to run tests live on a device (#3936) · 32527017
      Ian Hickson authored
      This makes it possible to substitute 'flutter run' for 'flutter test'
      and actually watch a test run on a device.
      
      For any test that depends on flutter_test:
      
      1. Remove any import of 'package:test/test.dart'.
      
      2. Replace `testWidgets('...', (WidgetTester tester) {`
            with `testWidgets('...', (WidgetTester tester) async {`
      
      3. Add an "await" in front of calls to any of the following:
          * tap()
          * tapAt()
          * fling()
          * flingFrom()
          * scroll()
          * scrollAt()
          * pump()
          * pumpWidget()
      
      4. Replace any calls to `tester.flushMicrotasks()` with calls to
         `await tester.idle()`.
      
      There's a guarding API that you can use, if you have particularly
      complicated tests, to get better error messages. Search for
      TestAsyncUtils.
      32527017