Repository navigation
Expand file tree
/
Copy pathe2e_test.sh
More file actions
executable file
·56 lines (47 loc) · 2.23 KB
/
Copy pathe2e_test.sh
File metadata and controls
executable file
·56 lines (47 loc) · 2.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/bash
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# About this script:
#
# This script runs all the tests that use non-stubbed AI models and thus require API key.
# It is invoked by GitHub Actions. But, it cannot be invoked by GitHub for fork branches.
#
# If your PR is from forked branch, please, run this script locally before merging.
# If the script fails both locally and
# [on the main branch](https://github.com/flutter/genui/actions?query=event%3Aschedule+workflow%3Atest_with_ai_workflow),
# file an issue and link in your PR.
#
# To run script locally, you need to set API key as an environment variable.
# Example: export GEMINI_API_KEY=your_api_key
# No exit on failure, because we want all tests to run
# regardless of previous test failures.
# set -e
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
# Without `set -e`, the script would exit with the status of its last command,
# so a failure in an earlier test suite would be lost: the workflow would pass
# and no issue would be filed. STATUS records any failure, and the script exits
# with it at the end.
STATUS=0
# A failed `cd` stops the script, because the tests would run in the wrong
# directory.
cd "$REPO_ROOT/samples/client/flutter/restaurant_finder/e2e_test" || exit 1
# Parallel tests are disabled to avoid conflicts on environment.
flutter test --concurrency=1 --dart-define=GEMINI_API_KEY="$GEMINI_API_KEY" || STATUS=1
cd "$REPO_ROOT/dart/a2ui_agent/e2e_test" || exit 1
dart test || STATUS=1
cd "$REPO_ROOT/dart/a2ui_flutter/e2e_test" || exit 1
flutter test --dart-define=GEMINI_API_KEY="$GEMINI_API_KEY" || STATUS=1
cd "$REPO_ROOT/dart/a2ui_flutter/e2e_test_v0_9" || exit 1
flutter test --dart-define=GEMINI_API_KEY="$GEMINI_API_KEY" || STATUS=1
exit $STATUS