blob: 395ada4673f55a6229322f8a5f4c423bde02a55e [file] [log] [blame]
// Copyright 2018 The Chromium 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_devicelab/framework/running_processes.dart';
import 'common.dart';
void main() {
test('Parse PowerShell result', () {
const String powershellOutput = r'''
ProcessId CreationDate CommandLine
--------- ------------ -----------
6552 3/7/2019 5:00:27 PM "C:\tools\dart-sdk\bin\dart.exe" .\bin\agent.dart ci
6553 3/7/2019 10:00:27 PM "C:\tools\dart-sdk1\bin\dart.exe" .\bin\agent.dart ci
6554 3/7/2019 11:00:27 AM "C:\tools\dart-sdk2\bin\dart.exe" .\bin\agent.dart ci
''';
final List<RunningProcessInfo> results =
processPowershellOutput(powershellOutput).toList();
expect(results.length, 3);
expect(
results,
equals(<RunningProcessInfo>[
RunningProcessInfo(
6552,
DateTime(2019, 7, 3, 17, 0, 27),
r'"C:\tools\dart-sdk\bin\dart.exe" .\bin\agent.dart ci',
),
RunningProcessInfo(
6553,
DateTime(2019, 7, 3, 22, 0, 27),
r'"C:\tools\dart-sdk1\bin\dart.exe" .\bin\agent.dart ci',
),
RunningProcessInfo(
6554,
DateTime(2019, 7, 3, 11, 0, 27),
r'"C:\tools\dart-sdk2\bin\dart.exe" .\bin\agent.dart ci',
),
]));
});
test('Parse Posix output', () {
const String psOutput = r'''STARTED PID COMMAND
Sat Mar 9 20:12:47 2019 1 /sbin/launchd
Sat Mar 9 20:13:00 2019 49 /usr/sbin/syslogd
''';
final List<RunningProcessInfo> results =
processPsOutput(psOutput, null).toList();
expect(results.length, 2);
expect(
results,
equals(<RunningProcessInfo>[
RunningProcessInfo(
1,
DateTime(2019, 3, 9, 20, 12, 47),
'/sbin/launchd',
),
RunningProcessInfo(
49,
DateTime(2019, 3, 9, 20, 13, 00),
'/usr/sbin/syslogd',
),
]));
});
}