Enable travis-ci (#7)
* Add analysis_options and .travis.yml
* dartfmt
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..a0653e3
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,25 @@
+language: dart
+
+dart:
+ - dev
+ - stable
+
+dart_task:
+ - test
+
+# Only run one instance of the formatter and the analyzer, rather than running
+# them against each Dart version.
+matrix:
+ include:
+ - dart: dev
+ dart_task: dartfmt
+ - dart: dev
+ dart_task: dartanalyzer
+
+# Only building master means that we don't run two builds for each pull request.
+branches:
+ only: [master]
+
+cache:
+ directories:
+ - $HOME/.pub-cache
diff --git a/analysis_options.yaml b/analysis_options.yaml
new file mode 100644
index 0000000..a10d4c5
--- /dev/null
+++ b/analysis_options.yaml
@@ -0,0 +1,2 @@
+analyzer:
+ strong-mode: true
diff --git a/lib/test_process.dart b/lib/test_process.dart
index 3584ab5..dcb1d85 100644
--- a/lib/test_process.dart
+++ b/lib/test_process.dart
@@ -79,8 +79,7 @@
/// printed to the console as they appear. This is only intended to be set
/// temporarily to help when debugging test failures.
static Future<TestProcess> start(
- String executable,
- Iterable<String> arguments,
+ String executable, Iterable<String> arguments,
{String workingDirectory,
Map<String, String> environment,
bool includeParentEnvironment: true,
@@ -102,8 +101,8 @@
}
encoding ??= UTF8;
- return new TestProcess(
- process, description, encoding: encoding, forwardStdio: forwardStdio);
+ return new TestProcess(process, description,
+ encoding: encoding, forwardStdio: forwardStdio);
}
/// Creates a [TestProcess] for [process].
@@ -113,13 +112,15 @@
///
/// This is protected, which means it should only be called by subclasses.
@protected
- TestProcess(Process process, this.description, {Encoding encoding,
- bool forwardStdio: false})
+ TestProcess(Process process, this.description,
+ {Encoding encoding, bool forwardStdio: false})
: _process = process,
_stdoutSplitter = new StreamSplitter(process.stdout
- .transform(encoding.decoder).transform(const LineSplitter())),
+ .transform(encoding.decoder)
+ .transform(const LineSplitter())),
_stderrSplitter = new StreamSplitter(process.stderr
- .transform(encoding.decoder).transform(const LineSplitter())) {
+ .transform(encoding.decoder)
+ .transform(const LineSplitter())) {
addTearDown(_tearDown);
expect(_process.exitCode.then((_) => _logOutput()), completes,
reason: "Process `$description` never exited.");
diff --git a/test/test_process_test.dart b/test/test_process_test.dart
index 81d27e1..dd97a6b 100644
--- a/test/test_process_test.dart
+++ b/test/test_process_test.dart
@@ -49,18 +49,15 @@
print("\nworld");
''');
- expect(process.stdout,
- emitsInOrder(['hello', '', 'world', emitsDone]));
+ expect(process.stdout, emitsInOrder(['hello', '', 'world', emitsDone]));
expect(process.stderr, emitsInOrder(['hi', emitsDone]));
await process.shouldExit(0);
});
test("close when the process exits", () async {
var process = await startDartProcess('');
- expect(expectLater(process.stdout, emits('hello')),
- throwsTestFailure);
- expect(expectLater(process.stderr, emits('world')),
- throwsTestFailure);
+ expect(expectLater(process.stdout, emits('hello')), throwsTestFailure);
+ expect(expectLater(process.stderr, emits('world')), throwsTestFailure);
await process.shouldExit(0);
});
});
@@ -73,19 +70,19 @@
print("\nworld");
''');
- expect(process.stdoutStream(),
- emitsInOrder(['hello', '', 'world', emitsDone]));
- expect(process.stdoutStream(),
- emitsInOrder(['hello', '', 'world', emitsDone]));
+ expect(process.stdoutStream(),
+ emitsInOrder(['hello', '', 'world', emitsDone]));
+ expect(process.stdoutStream(),
+ emitsInOrder(['hello', '', 'world', emitsDone]));
- expect(process.stderrStream(), emitsInOrder(['hi', emitsDone]));
- expect(process.stderrStream(), emitsInOrder(['hi', emitsDone]));
+ expect(process.stderrStream(), emitsInOrder(['hi', emitsDone]));
+ expect(process.stderrStream(), emitsInOrder(['hi', emitsDone]));
- await process.shouldExit(0);
+ await process.shouldExit(0);
- expect(process.stdoutStream(),
- emitsInOrder(['hello', '', 'world', emitsDone]));
- expect(process.stderrStream(), emitsInOrder(['hi', emitsDone]));
+ expect(process.stdoutStream(),
+ emitsInOrder(['hello', '', 'world', emitsDone]));
+ expect(process.stderrStream(), emitsInOrder(['hi', emitsDone]));
});
test("stdin writes to the process", () async {