diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 67924b52bb..6b159581ef 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -76,7 +76,7 @@ own code by mimicking the `pubspec.yaml` files in the `examples` subdirectories. Running the tests ----------------- -To automatically find all files named `_test.dart` inside a package and run them inside the flutter shell as a test use the `flutter test` command, e.g: +To automatically find all files named `_test.dart` inside a package's `test/` subdirectory, and run them inside the flutter shell as a test, use the `flutter test` command, e.g: * `cd examples/stocks` * `flutter test` @@ -90,9 +90,11 @@ Flutter tests use [package:flutter_test](https://github.com/flutter/flutter/tree * `cd packages/newton` * `pub run test` -`flutter test --flutter-repo` is a shortcut for those working on the flutter repository itself which finds and runs all tests inside the flutter repository regardless of the current working directory. +`flutter test --flutter-repo` is a shortcut for those working on the flutter repository itself which runs all tests inside the `flutter` package regardless of the current working directory. +To run all the tests for the entire Flutter repository, the same way that Travis runs them, run `travis/test.sh`. If you've built [your own flutter engine](#working-on-the-engine-and-the-framework-at-the-same-time), you can pass `--debug` or `--release` to change what flutter shell `flutter test` uses. +To do this with the `travis/test.sh` script, you can use the `FLUTTER_ENGINE` environment variable. Note: Flutter tests are headless, you won't see any UI. You can use `print` to generate console output or you can interact with the DartVM @@ -101,9 +103,9 @@ via observatory at [http://localhost:8181/](http://localhost:8181/). Adding a test ------------- -To add a test, simply create a file whose name ends with `_test.dart` -in the `packages/unit/test` directory. The test should have a `main` -function and use the `test` package. +To add a test to the Flutter package, simply create a file whose name +ends with `_test.dart` in the `packages/flutter/test` directory. The +test should have a `main` function and use the `test` package. Contributing code ----------------- diff --git a/examples/stocks/pubspec.yaml b/examples/stocks/pubspec.yaml index 146dac10c2..5c4516c3fd 100644 --- a/examples/stocks/pubspec.yaml +++ b/examples/stocks/pubspec.yaml @@ -2,8 +2,8 @@ name: stocks dependencies: flutter: path: ../../packages/flutter - intl: '>=0.12.4+2 <0.13.0' + dev_dependencies: flutter_test: path: ../../packages/flutter_test diff --git a/packages/cassowary/pubspec.yaml b/packages/cassowary/pubspec.yaml index 69a3784c79..865b5acb74 100644 --- a/packages/cassowary/pubspec.yaml +++ b/packages/cassowary/pubspec.yaml @@ -6,6 +6,6 @@ homepage: https://github.com/flutter/flutter/tree/master/packages/cassowary environment: sdk: '>=1.0.0 <2.0.0' dev_dependencies: - test: 0.12.6+1 - test_runner: '<=0.2.16' - dart_coveralls: '<=0.3.0' + flutter_tools: + path: ../flutter_tools + test: any # constrained by the dependency in flutter_tools diff --git a/packages/unit/benchmark/README.md b/packages/flutter/benchmark/README.md similarity index 100% rename from packages/unit/benchmark/README.md rename to packages/flutter/benchmark/README.md diff --git a/packages/unit/benchmark/gestures/velocity_tracker_bench.dart b/packages/flutter/benchmark/gestures/velocity_tracker_bench.dart similarity index 100% rename from packages/unit/benchmark/gestures/velocity_tracker_bench.dart rename to packages/flutter/benchmark/gestures/velocity_tracker_bench.dart diff --git a/packages/unit/benchmark/gestures/velocity_tracker_data.dart b/packages/flutter/benchmark/gestures/velocity_tracker_data.dart similarity index 100% rename from packages/unit/benchmark/gestures/velocity_tracker_data.dart rename to packages/flutter/benchmark/gestures/velocity_tracker_data.dart diff --git a/packages/unit/benchmark/stocks/animation_bench.dart b/packages/flutter/benchmark/stocks/animation_bench.dart similarity index 100% rename from packages/unit/benchmark/stocks/animation_bench.dart rename to packages/flutter/benchmark/stocks/animation_bench.dart diff --git a/packages/unit/benchmark/stocks/build_bench.dart b/packages/flutter/benchmark/stocks/build_bench.dart similarity index 100% rename from packages/unit/benchmark/stocks/build_bench.dart rename to packages/flutter/benchmark/stocks/build_bench.dart diff --git a/packages/unit/benchmark/stocks/layout_bench.dart b/packages/flutter/benchmark/stocks/layout_bench.dart similarity index 100% rename from packages/unit/benchmark/stocks/layout_bench.dart rename to packages/flutter/benchmark/stocks/layout_bench.dart diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index 92b31965ee..805ed9f83f 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -3,6 +3,7 @@ version: 0.0.21 author: Flutter Authors description: A framework for writing Flutter applications homepage: http://flutter.io + dependencies: collection: '>=1.1.3 <2.0.0' intl: '>=0.12.4+2 <0.13.0' @@ -11,7 +12,9 @@ dependencies: sky_services: 0.0.73 vector_math: '>=1.4.3 <2.0.0' - # To pin the transitive dependency through mojo_sdk. + # See the comment in flutter_tools' pubspec.yaml. We have to pin it + # here also because sky_services depends on mojo_sdk which depends + # on test. test: 0.12.6+1 cassowary: @@ -19,5 +22,9 @@ dependencies: newton: path: ../newton +dev_dependencies: + flutter_test: + path: ../flutter_test + environment: sdk: '>=1.12.0 <2.0.0' diff --git a/packages/unit/test/engine/canvas_test_disabled.dart b/packages/flutter/test/engine/canvas_test_disabled.dart similarity index 100% rename from packages/unit/test/engine/canvas_test_disabled.dart rename to packages/flutter/test/engine/canvas_test_disabled.dart diff --git a/packages/unit/test/engine/color_test.dart b/packages/flutter/test/engine/color_test.dart similarity index 100% rename from packages/unit/test/engine/color_test.dart rename to packages/flutter/test/engine/color_test.dart diff --git a/packages/unit/test/engine/paragraph_builder_test.dart b/packages/flutter/test/engine/paragraph_builder_test.dart similarity index 100% rename from packages/unit/test/engine/paragraph_builder_test.dart rename to packages/flutter/test/engine/paragraph_builder_test.dart diff --git a/packages/unit/test/engine/rect_test.dart b/packages/flutter/test/engine/rect_test.dart similarity index 100% rename from packages/unit/test/engine/rect_test.dart rename to packages/flutter/test/engine/rect_test.dart diff --git a/packages/unit/test/examples/sector_layout_test.dart b/packages/flutter/test/examples/sector_layout_test.dart similarity index 100% rename from packages/unit/test/examples/sector_layout_test.dart rename to packages/flutter/test/examples/sector_layout_test.dart diff --git a/packages/unit/test/gestures/arena_test.dart b/packages/flutter/test/gestures/arena_test.dart similarity index 100% rename from packages/unit/test/gestures/arena_test.dart rename to packages/flutter/test/gestures/arena_test.dart diff --git a/packages/unit/test/gestures/double_tap_test.dart b/packages/flutter/test/gestures/double_tap_test.dart similarity index 100% rename from packages/unit/test/gestures/double_tap_test.dart rename to packages/flutter/test/gestures/double_tap_test.dart diff --git a/packages/unit/test/gestures/long_press_test.dart b/packages/flutter/test/gestures/long_press_test.dart similarity index 100% rename from packages/unit/test/gestures/long_press_test.dart rename to packages/flutter/test/gestures/long_press_test.dart diff --git a/packages/unit/test/gestures/lsq_solver_test.dart b/packages/flutter/test/gestures/lsq_solver_test.dart similarity index 100% rename from packages/unit/test/gestures/lsq_solver_test.dart rename to packages/flutter/test/gestures/lsq_solver_test.dart diff --git a/packages/unit/test/gestures/pointer_router_test.dart b/packages/flutter/test/gestures/pointer_router_test.dart similarity index 100% rename from packages/unit/test/gestures/pointer_router_test.dart rename to packages/flutter/test/gestures/pointer_router_test.dart diff --git a/packages/unit/test/gestures/scale_test.dart b/packages/flutter/test/gestures/scale_test.dart similarity index 100% rename from packages/unit/test/gestures/scale_test.dart rename to packages/flutter/test/gestures/scale_test.dart diff --git a/packages/unit/test/gestures/scroll_test.dart b/packages/flutter/test/gestures/scroll_test.dart similarity index 100% rename from packages/unit/test/gestures/scroll_test.dart rename to packages/flutter/test/gestures/scroll_test.dart diff --git a/packages/unit/test/gestures/tap_test.dart b/packages/flutter/test/gestures/tap_test.dart similarity index 100% rename from packages/unit/test/gestures/tap_test.dart rename to packages/flutter/test/gestures/tap_test.dart diff --git a/packages/unit/test/gestures/velocity_tracker_data.dart b/packages/flutter/test/gestures/velocity_tracker_data.dart similarity index 100% rename from packages/unit/test/gestures/velocity_tracker_data.dart rename to packages/flutter/test/gestures/velocity_tracker_data.dart diff --git a/packages/unit/test/gestures/velocity_tracker_test.dart b/packages/flutter/test/gestures/velocity_tracker_test.dart similarity index 100% rename from packages/unit/test/gestures/velocity_tracker_test.dart rename to packages/flutter/test/gestures/velocity_tracker_test.dart diff --git a/packages/unit/test/harness/trivial_test.dart b/packages/flutter/test/harness/trivial_test.dart similarity index 100% rename from packages/unit/test/harness/trivial_test.dart rename to packages/flutter/test/harness/trivial_test.dart diff --git a/packages/unit/test/painting/edge_dims_test.dart b/packages/flutter/test/painting/edge_dims_test.dart similarity index 100% rename from packages/unit/test/painting/edge_dims_test.dart rename to packages/flutter/test/painting/edge_dims_test.dart diff --git a/packages/unit/test/painting/transform_utilities_test.dart b/packages/flutter/test/painting/transform_utilities_test.dart similarity index 100% rename from packages/unit/test/painting/transform_utilities_test.dart rename to packages/flutter/test/painting/transform_utilities_test.dart diff --git a/packages/unit/test/rendering/box_test.dart b/packages/flutter/test/rendering/box_test.dart similarity index 100% rename from packages/unit/test/rendering/box_test.dart rename to packages/flutter/test/rendering/box_test.dart diff --git a/packages/unit/test/rendering/flex_test.dart b/packages/flutter/test/rendering/flex_test.dart similarity index 100% rename from packages/unit/test/rendering/flex_test.dart rename to packages/flutter/test/rendering/flex_test.dart diff --git a/packages/unit/test/rendering/grid_test.dart b/packages/flutter/test/rendering/grid_test.dart similarity index 100% rename from packages/unit/test/rendering/grid_test.dart rename to packages/flutter/test/rendering/grid_test.dart diff --git a/packages/unit/test/rendering/image_test.dart b/packages/flutter/test/rendering/image_test.dart similarity index 100% rename from packages/unit/test/rendering/image_test.dart rename to packages/flutter/test/rendering/image_test.dart diff --git a/packages/unit/test/rendering/intrinsic_width_test.dart b/packages/flutter/test/rendering/intrinsic_width_test.dart similarity index 100% rename from packages/unit/test/rendering/intrinsic_width_test.dart rename to packages/flutter/test/rendering/intrinsic_width_test.dart diff --git a/packages/unit/test/rendering/offstage_test.dart b/packages/flutter/test/rendering/offstage_test.dart similarity index 100% rename from packages/unit/test/rendering/offstage_test.dart rename to packages/flutter/test/rendering/offstage_test.dart diff --git a/packages/unit/test/rendering/overflow_test.dart b/packages/flutter/test/rendering/overflow_test.dart similarity index 100% rename from packages/unit/test/rendering/overflow_test.dart rename to packages/flutter/test/rendering/overflow_test.dart diff --git a/packages/unit/test/rendering/positioned_box_test.dart b/packages/flutter/test/rendering/positioned_box_test.dart similarity index 100% rename from packages/unit/test/rendering/positioned_box_test.dart rename to packages/flutter/test/rendering/positioned_box_test.dart diff --git a/packages/unit/test/rendering/rendering_tester.dart b/packages/flutter/test/rendering/rendering_tester.dart similarity index 100% rename from packages/unit/test/rendering/rendering_tester.dart rename to packages/flutter/test/rendering/rendering_tester.dart diff --git a/packages/unit/test/rendering/size_test.dart b/packages/flutter/test/rendering/size_test.dart similarity index 100% rename from packages/unit/test/rendering/size_test.dart rename to packages/flutter/test/rendering/size_test.dart diff --git a/packages/unit/test/rendering/stack_test.dart b/packages/flutter/test/rendering/stack_test.dart similarity index 100% rename from packages/unit/test/rendering/stack_test.dart rename to packages/flutter/test/rendering/stack_test.dart diff --git a/packages/unit/test/rendering/viewport_test.dart b/packages/flutter/test/rendering/viewport_test.dart similarity index 100% rename from packages/unit/test/rendering/viewport_test.dart rename to packages/flutter/test/rendering/viewport_test.dart diff --git a/packages/unit/test/scheduler/animation_test.dart b/packages/flutter/test/scheduler/animation_test.dart similarity index 100% rename from packages/unit/test/scheduler/animation_test.dart rename to packages/flutter/test/scheduler/animation_test.dart diff --git a/packages/unit/test/scheduler/scheduler_test.dart b/packages/flutter/test/scheduler/scheduler_test.dart similarity index 100% rename from packages/unit/test/scheduler/scheduler_test.dart rename to packages/flutter/test/scheduler/scheduler_test.dart diff --git a/packages/unit/test/services/mock_services.dart b/packages/flutter/test/services/mock_services.dart similarity index 100% rename from packages/unit/test/services/mock_services.dart rename to packages/flutter/test/services/mock_services.dart diff --git a/packages/unit/test/widget/align_test.dart b/packages/flutter/test/widget/align_test.dart similarity index 100% rename from packages/unit/test/widget/align_test.dart rename to packages/flutter/test/widget/align_test.dart diff --git a/packages/unit/test/widget/animated_container_test.dart b/packages/flutter/test/widget/animated_container_test.dart similarity index 100% rename from packages/unit/test/widget/animated_container_test.dart rename to packages/flutter/test/widget/animated_container_test.dart diff --git a/packages/unit/test/widget/block_test.dart b/packages/flutter/test/widget/block_test.dart similarity index 100% rename from packages/unit/test/widget/block_test.dart rename to packages/flutter/test/widget/block_test.dart diff --git a/packages/unit/test/widget/bottom_sheet_test.dart b/packages/flutter/test/widget/bottom_sheet_test.dart similarity index 100% rename from packages/unit/test/widget/bottom_sheet_test.dart rename to packages/flutter/test/widget/bottom_sheet_test.dart diff --git a/packages/unit/test/widget/box_decoration_test.dart b/packages/flutter/test/widget/box_decoration_test.dart similarity index 100% rename from packages/unit/test/widget/box_decoration_test.dart rename to packages/flutter/test/widget/box_decoration_test.dart diff --git a/packages/unit/test/widget/build_scope_test.dart b/packages/flutter/test/widget/build_scope_test.dart similarity index 100% rename from packages/unit/test/widget/build_scope_test.dart rename to packages/flutter/test/widget/build_scope_test.dart diff --git a/packages/unit/test/widget/center_test.dart b/packages/flutter/test/widget/center_test.dart similarity index 100% rename from packages/unit/test/widget/center_test.dart rename to packages/flutter/test/widget/center_test.dart diff --git a/packages/unit/test/widget/coordinates_test.dart b/packages/flutter/test/widget/coordinates_test.dart similarity index 100% rename from packages/unit/test/widget/coordinates_test.dart rename to packages/flutter/test/widget/coordinates_test.dart diff --git a/packages/unit/test/widget/custom_multi_child_layout_test.dart b/packages/flutter/test/widget/custom_multi_child_layout_test.dart similarity index 100% rename from packages/unit/test/widget/custom_multi_child_layout_test.dart rename to packages/flutter/test/widget/custom_multi_child_layout_test.dart diff --git a/packages/unit/test/widget/custom_one_child_layout_test.dart b/packages/flutter/test/widget/custom_one_child_layout_test.dart similarity index 100% rename from packages/unit/test/widget/custom_one_child_layout_test.dart rename to packages/flutter/test/widget/custom_one_child_layout_test.dart diff --git a/packages/unit/test/widget/custom_paint_test.dart b/packages/flutter/test/widget/custom_paint_test.dart similarity index 100% rename from packages/unit/test/widget/custom_paint_test.dart rename to packages/flutter/test/widget/custom_paint_test.dart diff --git a/packages/unit/test/widget/date_picker_test.dart b/packages/flutter/test/widget/date_picker_test.dart similarity index 100% rename from packages/unit/test/widget/date_picker_test.dart rename to packages/flutter/test/widget/date_picker_test.dart diff --git a/packages/unit/test/widget/dismissable_test.dart b/packages/flutter/test/widget/dismissable_test.dart similarity index 100% rename from packages/unit/test/widget/dismissable_test.dart rename to packages/flutter/test/widget/dismissable_test.dart diff --git a/packages/unit/test/widget/draggable_test.dart b/packages/flutter/test/widget/draggable_test.dart similarity index 100% rename from packages/unit/test/widget/draggable_test.dart rename to packages/flutter/test/widget/draggable_test.dart diff --git a/packages/unit/test/widget/drawer_test.dart b/packages/flutter/test/widget/drawer_test.dart similarity index 100% rename from packages/unit/test/widget/drawer_test.dart rename to packages/flutter/test/widget/drawer_test.dart diff --git a/packages/unit/test/widget/duplicate_key_test.dart b/packages/flutter/test/widget/duplicate_key_test.dart similarity index 100% rename from packages/unit/test/widget/duplicate_key_test.dart rename to packages/flutter/test/widget/duplicate_key_test.dart diff --git a/packages/unit/test/widget/flex_test.dart b/packages/flutter/test/widget/flex_test.dart similarity index 100% rename from packages/unit/test/widget/flex_test.dart rename to packages/flutter/test/widget/flex_test.dart diff --git a/packages/unit/test/widget/focus_test.dart b/packages/flutter/test/widget/focus_test.dart similarity index 100% rename from packages/unit/test/widget/focus_test.dart rename to packages/flutter/test/widget/focus_test.dart diff --git a/packages/unit/test/widget/fractionally_sized_box_test.dart b/packages/flutter/test/widget/fractionally_sized_box_test.dart similarity index 100% rename from packages/unit/test/widget/fractionally_sized_box_test.dart rename to packages/flutter/test/widget/fractionally_sized_box_test.dart diff --git a/packages/unit/test/widget/gesture_detector_test.dart b/packages/flutter/test/widget/gesture_detector_test.dart similarity index 100% rename from packages/unit/test/widget/gesture_detector_test.dart rename to packages/flutter/test/widget/gesture_detector_test.dart diff --git a/packages/unit/test/widget/heroes_test.dart b/packages/flutter/test/widget/heroes_test.dart similarity index 100% rename from packages/unit/test/widget/heroes_test.dart rename to packages/flutter/test/widget/heroes_test.dart diff --git a/packages/unit/test/widget/homogeneous_viewport_test.dart b/packages/flutter/test/widget/homogeneous_viewport_test.dart similarity index 100% rename from packages/unit/test/widget/homogeneous_viewport_test.dart rename to packages/flutter/test/widget/homogeneous_viewport_test.dart diff --git a/packages/unit/test/widget/init_state_test.dart b/packages/flutter/test/widget/init_state_test.dart similarity index 100% rename from packages/unit/test/widget/init_state_test.dart rename to packages/flutter/test/widget/init_state_test.dart diff --git a/packages/unit/test/widget/input_test.dart b/packages/flutter/test/widget/input_test.dart similarity index 100% rename from packages/unit/test/widget/input_test.dart rename to packages/flutter/test/widget/input_test.dart diff --git a/packages/unit/test/widget/listener_test.dart b/packages/flutter/test/widget/listener_test.dart similarity index 100% rename from packages/unit/test/widget/listener_test.dart rename to packages/flutter/test/widget/listener_test.dart diff --git a/packages/unit/test/widget/mixed_viewport_test.dart b/packages/flutter/test/widget/mixed_viewport_test.dart similarity index 100% rename from packages/unit/test/widget/mixed_viewport_test.dart rename to packages/flutter/test/widget/mixed_viewport_test.dart diff --git a/packages/unit/test/widget/multichild_test.dart b/packages/flutter/test/widget/multichild_test.dart similarity index 100% rename from packages/unit/test/widget/multichild_test.dart rename to packages/flutter/test/widget/multichild_test.dart diff --git a/packages/unit/test/widget/navigator_test.dart b/packages/flutter/test/widget/navigator_test.dart similarity index 100% rename from packages/unit/test/widget/navigator_test.dart rename to packages/flutter/test/widget/navigator_test.dart diff --git a/packages/unit/test/widget/page_forward_transitions_test.dart b/packages/flutter/test/widget/page_forward_transitions_test.dart similarity index 100% rename from packages/unit/test/widget/page_forward_transitions_test.dart rename to packages/flutter/test/widget/page_forward_transitions_test.dart diff --git a/packages/unit/test/widget/page_transitions_test.dart b/packages/flutter/test/widget/page_transitions_test.dart similarity index 100% rename from packages/unit/test/widget/page_transitions_test.dart rename to packages/flutter/test/widget/page_transitions_test.dart diff --git a/packages/unit/test/widget/pageable_list_test.dart b/packages/flutter/test/widget/pageable_list_test.dart similarity index 100% rename from packages/unit/test/widget/pageable_list_test.dart rename to packages/flutter/test/widget/pageable_list_test.dart diff --git a/packages/unit/test/widget/parent_data_test.dart b/packages/flutter/test/widget/parent_data_test.dart similarity index 100% rename from packages/unit/test/widget/parent_data_test.dart rename to packages/flutter/test/widget/parent_data_test.dart diff --git a/packages/unit/test/widget/positioned_test.dart b/packages/flutter/test/widget/positioned_test.dart similarity index 100% rename from packages/unit/test/widget/positioned_test.dart rename to packages/flutter/test/widget/positioned_test.dart diff --git a/packages/unit/test/widget/progress_indicator_test.dart b/packages/flutter/test/widget/progress_indicator_test.dart similarity index 100% rename from packages/unit/test/widget/progress_indicator_test.dart rename to packages/flutter/test/widget/progress_indicator_test.dart diff --git a/packages/unit/test/widget/remember_scroll_position_test.dart b/packages/flutter/test/widget/remember_scroll_position_test.dart similarity index 100% rename from packages/unit/test/widget/remember_scroll_position_test.dart rename to packages/flutter/test/widget/remember_scroll_position_test.dart diff --git a/packages/unit/test/widget/render_object_widget_test.dart b/packages/flutter/test/widget/render_object_widget_test.dart similarity index 100% rename from packages/unit/test/widget/render_object_widget_test.dart rename to packages/flutter/test/widget/render_object_widget_test.dart diff --git a/packages/unit/test/widget/reparent_state_test.dart b/packages/flutter/test/widget/reparent_state_test.dart similarity index 100% rename from packages/unit/test/widget/reparent_state_test.dart rename to packages/flutter/test/widget/reparent_state_test.dart diff --git a/packages/unit/test/widget/routes_test.dart b/packages/flutter/test/widget/routes_test.dart similarity index 100% rename from packages/unit/test/widget/routes_test.dart rename to packages/flutter/test/widget/routes_test.dart diff --git a/packages/unit/test/widget/scrollable_list_hit_testing_test.dart b/packages/flutter/test/widget/scrollable_list_hit_testing_test.dart similarity index 100% rename from packages/unit/test/widget/scrollable_list_hit_testing_test.dart rename to packages/flutter/test/widget/scrollable_list_hit_testing_test.dart diff --git a/packages/unit/test/widget/scrollable_list_horizontal_test.dart b/packages/flutter/test/widget/scrollable_list_horizontal_test.dart similarity index 100% rename from packages/unit/test/widget/scrollable_list_horizontal_test.dart rename to packages/flutter/test/widget/scrollable_list_horizontal_test.dart diff --git a/packages/unit/test/widget/scrollable_list_vertical_test.dart b/packages/flutter/test/widget/scrollable_list_vertical_test.dart similarity index 100% rename from packages/unit/test/widget/scrollable_list_vertical_test.dart rename to packages/flutter/test/widget/scrollable_list_vertical_test.dart diff --git a/packages/unit/test/widget/scrollable_list_with_inherited_test.dart b/packages/flutter/test/widget/scrollable_list_with_inherited_test.dart similarity index 100% rename from packages/unit/test/widget/scrollable_list_with_inherited_test.dart rename to packages/flutter/test/widget/scrollable_list_with_inherited_test.dart diff --git a/packages/unit/test/widget/set_state_2_test.dart b/packages/flutter/test/widget/set_state_2_test.dart similarity index 100% rename from packages/unit/test/widget/set_state_2_test.dart rename to packages/flutter/test/widget/set_state_2_test.dart diff --git a/packages/unit/test/widget/set_state_3_test.dart b/packages/flutter/test/widget/set_state_3_test.dart similarity index 100% rename from packages/unit/test/widget/set_state_3_test.dart rename to packages/flutter/test/widget/set_state_3_test.dart diff --git a/packages/unit/test/widget/set_state_test.dart b/packages/flutter/test/widget/set_state_test.dart similarity index 100% rename from packages/unit/test/widget/set_state_test.dart rename to packages/flutter/test/widget/set_state_test.dart diff --git a/packages/unit/test/widget/shader_mask_test.dart b/packages/flutter/test/widget/shader_mask_test.dart similarity index 100% rename from packages/unit/test/widget/shader_mask_test.dart rename to packages/flutter/test/widget/shader_mask_test.dart diff --git a/packages/unit/test/widget/size_observer_test.dart b/packages/flutter/test/widget/size_observer_test.dart similarity index 100% rename from packages/unit/test/widget/size_observer_test.dart rename to packages/flutter/test/widget/size_observer_test.dart diff --git a/packages/unit/test/widget/snack_bar_test.dart b/packages/flutter/test/widget/snack_bar_test.dart similarity index 100% rename from packages/unit/test/widget/snack_bar_test.dart rename to packages/flutter/test/widget/snack_bar_test.dart diff --git a/packages/unit/test/widget/snap_scrolling_test.dart b/packages/flutter/test/widget/snap_scrolling_test.dart similarity index 100% rename from packages/unit/test/widget/snap_scrolling_test.dart rename to packages/flutter/test/widget/snap_scrolling_test.dart diff --git a/packages/unit/test/widget/stack_test.dart b/packages/flutter/test/widget/stack_test.dart similarity index 100% rename from packages/unit/test/widget/stack_test.dart rename to packages/flutter/test/widget/stack_test.dart diff --git a/packages/unit/test/widget/stateful_component_test.dart b/packages/flutter/test/widget/stateful_component_test.dart similarity index 100% rename from packages/unit/test/widget/stateful_component_test.dart rename to packages/flutter/test/widget/stateful_component_test.dart diff --git a/packages/unit/test/widget/stateful_components_test.dart b/packages/flutter/test/widget/stateful_components_test.dart similarity index 100% rename from packages/unit/test/widget/stateful_components_test.dart rename to packages/flutter/test/widget/stateful_components_test.dart diff --git a/packages/unit/test/widget/syncing_test.dart b/packages/flutter/test/widget/syncing_test.dart similarity index 100% rename from packages/unit/test/widget/syncing_test.dart rename to packages/flutter/test/widget/syncing_test.dart diff --git a/packages/unit/test/widget/tabs_test.dart b/packages/flutter/test/widget/tabs_test.dart similarity index 100% rename from packages/unit/test/widget/tabs_test.dart rename to packages/flutter/test/widget/tabs_test.dart diff --git a/packages/unit/test/widget/test_matchers.dart b/packages/flutter/test/widget/test_matchers.dart similarity index 100% rename from packages/unit/test/widget/test_matchers.dart rename to packages/flutter/test/widget/test_matchers.dart diff --git a/packages/unit/test/widget/test_widgets.dart b/packages/flutter/test/widget/test_widgets.dart similarity index 100% rename from packages/unit/test/widget/test_widgets.dart rename to packages/flutter/test/widget/test_widgets.dart diff --git a/packages/unit/test/widget/transform_test.dart b/packages/flutter/test/widget/transform_test.dart similarity index 100% rename from packages/unit/test/widget/transform_test.dart rename to packages/flutter/test/widget/transform_test.dart diff --git a/packages/flutter_tools/lib/src/commands/analyze.dart b/packages/flutter_tools/lib/src/commands/analyze.dart index bba032c4f7..fe034219ed 100644 --- a/packages/flutter_tools/lib/src/commands/analyze.dart +++ b/packages/flutter_tools/lib/src/commands/analyze.dart @@ -62,42 +62,11 @@ class AnalyzeCommand extends FlutterCommand { } } - bool foundTest = false; - Directory flutterDir = new Directory(path.join(ArtifactStore.flutterRoot, 'packages/unit')); // See https://github.com/flutter/flutter/issues/50 - - // .../packages/unit/test/*/*_test.dart - Directory tests = new Directory(path.join(flutterDir.path, 'test')); - for (FileSystemEntity entry in tests.listSync()) { - if (entry is Directory) { - for (FileSystemEntity subentry in entry.listSync()) { - if (subentry is File && subentry.path.endsWith('_test.dart')) { - dartFiles.add(subentry.path); - foundTest = true; - } - } - } - } - - // .../packages/unit/benchmark/*/*_bench.dart - Directory benchmarks = new Directory(path.join(flutterDir.path, 'benchmark')); - for (FileSystemEntity entry in benchmarks.listSync()) { - if (entry is Directory) { - for (FileSystemEntity subentry in entry.listSync()) { - if (subentry is File && subentry.path.endsWith('_bench.dart')) { - dartFiles.add(subentry.path); - foundTest = true; - } - } - } - } - - if (foundTest) - pubSpecDirectories.add(flutterDir.path); - // .../packages/*/bin/*.dart // .../packages/*/lib/main.dart // .../packages/*/test/*_test.dart // .../packages/*/test/*/*_test.dart + // .../packages/*/benchmark/*/*_bench.dart Directory packages = new Directory(path.join(ArtifactStore.flutterRoot, 'packages')); for (FileSystemEntity entry in packages.listSync()) { if (entry is Directory) { @@ -126,12 +95,29 @@ class AnalyzeCommand extends FlutterCommand { for (FileSystemEntity subentry in entry.listSync()) { if (subentry is File && subentry.path.endsWith('_test.dart')) { dartFiles.add(subentry.path); - foundTest = true; + foundOne = true; } } } else if (entry is File && entry.path.endsWith('_test.dart')) { dartFiles.add(entry.path); - foundTest = true; + foundOne = true; + } + } + } + + Directory benchmarkDirectory = new Directory(path.join(entry.path, 'benchmark')); + if (benchmarkDirectory.existsSync()) { + for (FileSystemEntity entry in benchmarkDirectory.listSync()) { + if (entry is Directory) { + for (FileSystemEntity subentry in entry.listSync()) { + if (subentry is File && subentry.path.endsWith('_bench.dart')) { + dartFiles.add(subentry.path); + foundOne = true; + } + } + } else if (entry is File && entry.path.endsWith('_bench.dart')) { + dartFiles.add(entry.path); + foundOne = true; } } } diff --git a/packages/flutter_tools/lib/src/commands/test.dart b/packages/flutter_tools/lib/src/commands/test.dart index 4a905fb835..d06797d316 100644 --- a/packages/flutter_tools/lib/src/commands/test.dart +++ b/packages/flutter_tools/lib/src/commands/test.dart @@ -16,14 +16,16 @@ import '../test/loader.dart' as loader; class TestCommand extends FlutterCommand { String get name => 'test'; - String get description => 'Runs Flutter unit tests for the current project. At least one of --debug and --release must be set.'; + String get description => 'Runs Flutter unit tests for the current project.'; bool get requiresProjectRoot => false; String get projectRootValidationErrorMessage { return 'Error: No pubspec.yaml file found.\n' - 'If you wish to run the tests in the flutter repo, pass --flutter-repo before\n' - 'any test paths. Otherwise, run this command from the root of your project.'; + 'If you wish to run the tests in the Flutter repository\'s \'flutter\' package,\n' + 'pass --flutter-repo before any test paths. Otherwise, run this command from the\n' + 'root of your project. Test files must be called *_test.dart and must reside in\n' + 'the package\'s \'test\' directory (or one of its subdirectories).'; } Future _getShellPath(BuildConfiguration config) async { @@ -44,7 +46,7 @@ class TestCommand extends FlutterCommand { } TestCommand() { - argParser.addFlag('flutter-repo', help: 'Run tests from the Flutter repository instead of the current directory.', defaultsTo: false); + argParser.addFlag('flutter-repo', help: 'Run tests from the \'flutter\' package in the Flutter repository instead of the current directory.', defaultsTo: false); } Iterable _findTests(Directory directory) { @@ -54,7 +56,13 @@ class TestCommand extends FlutterCommand { } Directory get _flutterUnitTestDir { - return new Directory(path.join(ArtifactStore.flutterRoot, 'packages', 'unit', 'test')); + return new Directory(path.join(ArtifactStore.flutterRoot, 'packages', 'flutter', 'test')); + } + + Directory get _currentPackageTestDir { + // We don't scan the entire package, only the test/ subdirectory, so that + // files with names like like "hit_test.dart" don't get run. + return new Directory('test'); } Future _runTests(List testArgs, Directory testDirectory) async { @@ -76,11 +84,11 @@ class TestCommand extends FlutterCommand { return 1; // If we're running the flutter tests, we want to use the packages directory - // from the unit package in order to find the proper shell binary. + // from the flutter package in order to find the proper shell binary. if (runFlutterTests && ArtifactStore.packageRoot == 'packages') - ArtifactStore.packageRoot = path.join(ArtifactStore.flutterRoot, 'packages', 'unit', 'packages'); + ArtifactStore.packageRoot = path.join(ArtifactStore.flutterRoot, 'packages', 'flutter', 'packages'); - Directory testDir = runFlutterTests ? _flutterUnitTestDir : Directory.current; + Directory testDir = runFlutterTests ? _flutterUnitTestDir : _currentPackageTestDir; if (testArgs.isEmpty) testArgs.addAll(_findTests(testDir)); diff --git a/packages/flutter_tools/pubspec.yaml b/packages/flutter_tools/pubspec.yaml index eac634a67a..df7f52d64c 100644 --- a/packages/flutter_tools/pubspec.yaml +++ b/packages/flutter_tools/pubspec.yaml @@ -16,12 +16,18 @@ dependencies: mustache4dart: ^1.0.0 path: ^1.3.0 stack_trace: ^1.4.0 - test: 0.12.6+1 + test: 0.12.6+1 # see note below yaml: ^2.1.3 flx: path: ../flx +# A note about 'test': +# We depend on very specific internal implementation details of the +# 'test' package, which change between versions, so here we pin it +# precisely. This is also pinned in the 'flutter' package. +# See also https://github.com/dart-lang/test/pull/320 + # A note about 'analyzer': # We don't actually depend on 'analyzer', but 'test' does. We aren't # compatible with some older versions of 'analyzer'. We lie here, diff --git a/packages/flx/pubspec.yaml b/packages/flx/pubspec.yaml index 1f6fbba804..11a2deb086 100644 --- a/packages/flx/pubspec.yaml +++ b/packages/flx/pubspec.yaml @@ -13,4 +13,6 @@ environment: sdk: '>=1.12.0 <2.0.0' dev_dependencies: - test: 0.12.6 + flutter_tools: + path: ../flutter_tools + test: any # constrained by the dependency in flutter_tools diff --git a/packages/newton/pubspec.yaml b/packages/newton/pubspec.yaml index 09f496e201..de85874931 100644 --- a/packages/newton/pubspec.yaml +++ b/packages/newton/pubspec.yaml @@ -6,6 +6,6 @@ homepage: https://github.com/flutter/flutter/tree/master/packages/newton environment: sdk: '>=1.0.0 <2.0.0' dev_dependencies: - test: 0.12.6+1 - test_runner: '<=0.2.16' - dart_coveralls: '<=0.3.0' + flutter_tools: + path: ../flutter_tools + test: any # constrained by the dependency in flutter_tools diff --git a/packages/playfair/pubspec.yaml b/packages/playfair/pubspec.yaml index 4dc52247a9..58c7311629 100644 --- a/packages/playfair/pubspec.yaml +++ b/packages/playfair/pubspec.yaml @@ -9,7 +9,9 @@ dependencies: path: ../flutter dev_dependencies: - test: 0.12.6+1 + flutter_tools: + path: ../flutter_tools + test: any # constrained by the dependency in flutter_tools environment: sdk: '>=1.12.0 <2.0.0' diff --git a/packages/unit/pubspec.yaml b/packages/unit/pubspec.yaml deleted file mode 100644 index 6b5440b738..0000000000 --- a/packages/unit/pubspec.yaml +++ /dev/null @@ -1,10 +0,0 @@ -name: flutter_unit_tests -dependencies: - flx: - path: ../flx - flutter: - path: ../flutter - flutter_test: - path: ../flutter_test - stocks: - path: ../../examples/stocks diff --git a/travis/setup.sh b/travis/setup.sh index 0afc97910a..2bf2d06693 100755 --- a/travis/setup.sh +++ b/travis/setup.sh @@ -8,7 +8,7 @@ fi set -x dart dev/update_packages.dart -(cd packages/unit; ../../bin/flutter cache populate) +(cd packages/flutter; ../../bin/flutter cache populate) if [ $TRAVIS_PULL_REQUEST = "false" ]; then export CLOUDSDK_CORE_DISABLE_PROMPTS=1 diff --git a/travis/test.sh b/travis/test.sh index 4065139675..0842b0de92 100755 --- a/travis/test.sh +++ b/travis/test.sh @@ -6,12 +6,11 @@ export PATH="$PWD/bin:$PATH" # analyze all the Dart code in the repo flutter analyze --flutter-repo --no-current-directory --no-current-package --congratulate -# flutter package tests -flutter test --flutter-repo - (cd packages/cassowary; pub run test -j1) +(cd packages/flutter; flutter test) # (cd packages/flutter_sprites; ) # No tests to run. (cd packages/flutter_tools; pub run test -j1) +# (cd packages/flutter_test; ) # No tests to run. (cd packages/flx; pub run test -j1) (cd packages/newton; pub run test -j1) # (cd packages/playfair; ) # No tests to run.