running_processes_test.dart 2.11 KB
Newer Older
Ian Hickson's avatar
Ian Hickson committed
1
// Copyright 2014 The Flutter Authors. All rights reserved.
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
// 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(
27
            '6552',
28 29 30 31
            DateTime(2019, 7, 3, 17, 0, 27),
            r'"C:\tools\dart-sdk\bin\dart.exe" .\bin\agent.dart ci',
          ),
          RunningProcessInfo(
32
            '6553',
33 34 35 36
            DateTime(2019, 7, 3, 22, 0, 27),
            r'"C:\tools\dart-sdk1\bin\dart.exe" .\bin\agent.dart ci',
          ),
          RunningProcessInfo(
37
            '6554',
38 39 40 41 42 43 44
            DateTime(2019, 7, 3, 11, 0, 27),
            r'"C:\tools\dart-sdk2\bin\dart.exe" .\bin\agent.dart ci',
          ),
        ]));
  });

  test('Parse Posix output', () {
45 46
    const String psOutput = r'''
STARTED                        PID COMMAND
47 48 49 50 51 52 53 54 55 56 57
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(
58
            '1',
59 60 61 62
            DateTime(2019, 3, 9, 20, 12, 47),
            '/sbin/launchd',
          ),
          RunningProcessInfo(
63
            '49',
64 65 66 67 68 69
            DateTime(2019, 3, 9, 20, 13, 00),
            '/usr/sbin/syslogd',
          ),
        ]));
  });
}