From c8fd99fb3313c73eb03210a3af037cd2d150ef51 Mon Sep 17 00:00:00 2001 From: xster Date: Mon, 12 Mar 2018 01:05:23 -0700 Subject: [PATCH] Add a simple convenience test task runner for VSCode (#15417) --- .gitignore | 4 +++- .vscode/tasks.json | 24 ++++++++++++++++++++++++ .vscode/test.sh | 27 +++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 .vscode/tasks.json create mode 100755 .vscode/test.sh diff --git a/.gitignore b/.gitignore index 6f135de6ed3..3f4f6e17ea6 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,7 @@ .idea/ # Visual Studio Code related -.vscode/ +.vscode/* # Flutter repo-specific /bin/cache/ @@ -79,6 +79,8 @@ unlinked_spec.ds **/ios/Runner/GeneratedPluginRegistrant.* # Exceptions to above rules. +!.vscode/tasks.json +!.vscode/test.sh !**/ios/**/default.mode1v3 !**/ios/**/default.mode2v3 !**/ios/**/default.pbxuser diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000000..5d1b72023b1 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,24 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "command": "./.vscode/test.sh", + "windows": { + // TODO :S + }, + "label": "test", + "type": "shell", + "group": { + "kind": "test", + "isDefault": true + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "new" + }, + "args": ["${relativeFile}"] + } + ] +} diff --git a/.vscode/test.sh b/.vscode/test.sh new file mode 100755 index 00000000000..f12301f4142 --- /dev/null +++ b/.vscode/test.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +if [[ $# -ne 1 ]]; then + echo "Invalid test target arguments. + +Please invoke test from VSCode via the workbench.action.tasks.test command." + exit 1 +fi + +if [[ "$1" != *.dart ]]; then + echo "Only .dart files can be tested by task in this repo." + exit 1 +fi + +echo "Testing $1..." + +if [[ "$1" == packages/flutter/test/* ]]; then + cd packages/flutter + ../../bin/flutter test ../../$1 +elif [[ "$1" == packages/flutter_tools/test/* ]]; then + bin/cache/dart-sdk/bin/dart $1 +else + echo "No test task configured for $1. + +Please edit .vscode/test.sh to configure new test types." + exit 1 +fi