| // Copyright 2014 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import 'package:flutter_tools/src/android/build_validation.dart'; |
| import 'package:flutter_tools/src/build_info.dart'; |
| |
| import '../../src/common.dart'; |
| |
| void main() { |
| testWithoutContext('validateBuild throws if attempting to build release/profile on x86', () { |
| expect(() => validateBuild( |
| const AndroidBuildInfo( |
| BuildInfo.release, |
| targetArchs: <AndroidArch>[AndroidArch.x86], |
| ), |
| ), throwsToolExit(message: 'Cannot build release mode for x86 ABI.')); |
| }); |
| |
| testWithoutContext('validateBuild does not throw on AOT supported architectures', () { |
| expect(() => validateBuild( |
| const AndroidBuildInfo( |
| BuildInfo.release, |
| targetArchs: <AndroidArch>[AndroidArch.x86_64, AndroidArch.armeabi_v7a, AndroidArch.arm64_v8a], |
| ), |
| ), returnsNormally); |
| }); |
| |
| testWithoutContext('validateBuild throws if an invalid build number is specified', () { |
| expect(() => validateBuild( |
| const AndroidBuildInfo( |
| // Invalid number |
| BuildInfo(BuildMode.debug, '', treeShakeIcons: false, buildNumber: 'a'), |
| targetArchs: <AndroidArch>[AndroidArch.x86], |
| ), |
| ), throwsToolExit(message: 'buildNumber: a was not a valid integer value.')); |
| |
| expect(() => validateBuild( |
| const AndroidBuildInfo( |
| // Negative number |
| BuildInfo(BuildMode.debug, '', treeShakeIcons: false, buildNumber: '-1'), |
| targetArchs: <AndroidArch>[AndroidArch.x86], |
| ), |
| ), throwsToolExit(message: 'buildNumber: -1 must be a positive integer value.')); |
| |
| expect(() => validateBuild( |
| const AndroidBuildInfo( |
| // bigger than maximum supported play store value |
| BuildInfo(BuildMode.debug, '', treeShakeIcons: false, buildNumber: '2100000001'), |
| targetArchs: <AndroidArch>[AndroidArch.x86], |
| ), |
| ), throwsToolExit(message: 'buildNumber: 2100000001 is greater than the maximum ' |
| 'allowed value of 2100000000.')); |
| }); |
| |
| testWithoutContext('validateBuild does not throw on positive number', () { |
| expect(() => validateBuild( |
| const AndroidBuildInfo( |
| BuildInfo(BuildMode.debug, '', treeShakeIcons: false, buildNumber: '2'), |
| targetArchs: <AndroidArch>[AndroidArch.x86], |
| ), |
| ), returnsNormally); |
| }); |
| } |