Support script args for packages

This does the same for packages as plugins in https://flutter-review.git.corp.google.com/c/recipes/+/35303

Change-Id: Ic6e71cafbc31aec50d560549b6faa13ae93e0cff
Bug: https://github.com/flutter/plugins/pull/6729#pullrequestreview-1188781880
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/36541
Reviewed-by: Stuart Morgan <stuartmorgan@google.com>
Commit-Queue: Keyong Han <keyonghan@google.com>
diff --git a/recipes/packages/packages.expected/master_channel.json b/recipes/packages/packages.expected/master_channel.json
index d43e4d9..1766ea9 100644
--- a/recipes/packages/packages.expected/master_channel.json
+++ b/recipes/packages/packages.expected/master_channel.json
@@ -399,6 +399,10 @@
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"args\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"arg1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"arg2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      ], @@@",
       "@@@STEP_LOG_LINE@json.output@      \"name\": \"one\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"script\": \"myscript\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
@@ -414,7 +418,9 @@
   {
     "cmd": [
       "bash",
-      "[START_DIR]/packages/myscript"
+      "[START_DIR]/packages/myscript",
+      "arg1",
+      "arg2"
     ],
     "cwd": "[START_DIR]/packages",
     "env": {
diff --git a/recipes/packages/packages.expected/stable_channel.json b/recipes/packages/packages.expected/stable_channel.json
index c8abf34..aba11df 100644
--- a/recipes/packages/packages.expected/stable_channel.json
+++ b/recipes/packages/packages.expected/stable_channel.json
@@ -380,6 +380,10 @@
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"tasks\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"args\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"arg1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"arg2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      ], @@@",
       "@@@STEP_LOG_LINE@json.output@      \"name\": \"one\", @@@",
       "@@@STEP_LOG_LINE@json.output@      \"script\": \"myscript\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
@@ -395,7 +399,9 @@
   {
     "cmd": [
       "bash",
-      "[START_DIR]/packages/myscript"
+      "[START_DIR]/packages/myscript",
+      "arg1",
+      "arg2"
     ],
     "cwd": "[START_DIR]/packages",
     "env": {
diff --git a/recipes/packages/packages.py b/recipes/packages/packages.py
index 25af4d7..7443f7a 100644
--- a/recipes/packages/packages.py
+++ b/recipes/packages/packages.py
@@ -72,12 +72,16 @@
     with api.step.nest('Run package tests'):
       for task in result.json.output['tasks']:
         script_path = packages_checkout_path.join(task['script'])
-        api.step(task['name'], cmd=['bash', script_path])
+        cmd = ['bash', script_path]
+        if 'args' in task:
+          args = task['args']
+          cmd.extend(args)
+        api.step(task['name'], cmd)
 
 
 def GenTests(api):
   flutter_path = api.path['start_dir'].join('flutter')
-  tasks_dict = {'tasks': [{'name': 'one', 'script': 'myscript'}]}
+  tasks_dict = {'tasks': [{'name': 'one', 'script': 'myscript', 'args': ['arg1', 'arg2']}]}
   yield api.test(
       'master_channel', api.repo_util.flutter_environment_data(flutter_path),
       api.properties(