Commit 0b5072c2 authored by Devon Carew's avatar Devon Carew

fix check to ignore bots (#4034)

parent 376cb2eb
......@@ -12,22 +12,20 @@ import 'base/utils.dart';
import 'globals.dart';
import 'version.dart';
// TODO(devoncarew): We'll need to do some work on the user agent in order to
// correctly track usage by operating system (dart-lang/usage/issues/70).
// TODO(devoncarew): We'll want to find a way to send (sanitized) command parameters.
const String _kFlutterUA = 'UA-67589403-5';
class Usage {
Usage() {
String version = FlutterVersion.getVersionString(whitelistBranchName: true);
_analytics = new AnalyticsIO(_kFlutterUA, 'flutter', version);
/// Create a new Usage instance; [versionOverride] is used for testing.
Usage({ String settingsName: 'flutter', String versionOverride }) {
String version = versionOverride ?? FlutterVersion.getVersionString(whitelistBranchName: true);
_analytics = new AnalyticsIO(_kFlutterUA, settingsName, version);
bool runningOnCI = false;
// Many CI systems don't do a full git checkout.
if (version.startsWith('unknown/'))
if (version.endsWith('/unknown'))
runningOnCI = true;
// Check for common CI systems.
......
......@@ -78,4 +78,16 @@ void main() {
Usage: new Usage()
});
});
group('analytics bots', () {
testUsingContext('don\'t send on bots', () async {
int count = 0;
flutterUsage.onSend.listen((Map<String, dynamic> data) => count++);
await createTestCommandRunner().run(<String>['--version']);
expect(count, 0);
}, overrides: <Type, dynamic>{
Usage: new Usage(settingsName: 'flutter_bot_test', versionOverride: 'dev/unknown')
});
});
}
......@@ -6,6 +6,9 @@ import 'package:args/command_runner.dart';
import 'package:flutter_tools/src/runner/flutter_command.dart';
import 'package:flutter_tools/src/runner/flutter_command_runner.dart';
CommandRunner createTestCommandRunner(FlutterCommand command) {
return new FlutterCommandRunner()..addCommand(command);
CommandRunner createTestCommandRunner([FlutterCommand command]) {
FlutterCommandRunner runner = new FlutterCommandRunner();
if (command != null)
runner.addCommand(command);
return runner;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment