| // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| @TestOn('linux') |
| import 'dart:io'; |
| |
| import 'package:test/test.dart'; |
| |
| import '../../descriptor.dart' as d; |
| import '../../test_pub.dart'; |
| |
| void main() { |
| test('reports failure if Git is not installed', () async { |
| await setUpFakeGitScript(bash: ''' |
| #!/bin/bash -e |
| echo "not git" |
| exit 1 |
| ''', batch: ''' |
| echo "not git" |
| '''); |
| await d.appDir({ |
| 'foo': {'git': '../foo.git'} |
| }).create(); |
| |
| await pubGet( |
| environment: extendedPathEnv(), |
| error: contains('Cannot find a Git executable'), |
| exitCode: 1, |
| ); |
| }); |
| |
| test('warns if git version is too old', () async { |
| await setUpFakeGitScript(bash: ''' |
| #!/bin/bash -e |
| if [ "\$1" == "--version" ] |
| then |
| echo "git version 2.13.1.616" |
| exit 1 |
| else |
| PATH=${Platform.environment['PATH']} git \$* |
| fi |
| ''', batch: ''' |
| if "%1"=="--version" ( |
| echo "git version 2.13.1.616" |
| ) else ( |
| set path="${Platform.environment['PATH']}" |
| git %* |
| ) |
| '''); |
| |
| await d.git('foo.git', [d.libPubspec('foo', '1.0.0')]).create(); |
| |
| await d.appDir({ |
| 'foo': {'git': '../foo.git'} |
| }).create(); |
| |
| await pubGet( |
| environment: extendedPathEnv(), |
| warning: |
| contains('You have a very old version of git (version 2.13.1.616)'), |
| exitCode: 0, |
| ); |
| }); |
| } |