[appmgr] Second attempt to increase timeout

After fxr/404917 was landed the tests are still timing out at 30
seconds even though 60 seconds is specified. This updates the timeout
by wrapping the tests in a group instead and specifying the timeout
for the group. Verified locally by adding long sleep calls to a test
and checking how long the test takes to time out.

Bug: 53844

Change-Id: I40c488aed8b71838b18e94367ed1bf681ed442ee
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/405451
Reviewed-by: Miguel Flores <miguelfrde@google.com>
Reviewed-by: Luke Nicholson <lukenicholson@google.com>
Testability-Review: Miguel Flores <miguelfrde@google.com>
Commit-Queue: Satsuki Ueno <satsukiu@google.com>
diff --git a/src/tests/end_to_end/inspect_metrics/test/appmgr_cpu_metrics_test.dart b/src/tests/end_to_end/inspect_metrics/test/appmgr_cpu_metrics_test.dart
index 095cd6f..243167b 100644
--- a/src/tests/end_to_end/inspect_metrics/test/appmgr_cpu_metrics_test.dart
+++ b/src/tests/end_to_end/inspect_metrics/test/appmgr_cpu_metrics_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-@Timeout(Duration(seconds: 60))
-
 import 'package:test/test.dart';
 import 'package:sl4f/sl4f.dart' as sl4f;
 import 'util.dart';
@@ -18,90 +16,95 @@
   sl4f.Sl4f sl4fDriver;
   sl4f.Inspect inspect;
 
-  setUp(() async {
-    sl4fDriver = sl4f.Sl4f.fromEnvironment();
-    await sl4fDriver.startServer();
-    inspect = sl4f.Inspect(sl4fDriver);
+  group('appmgr metrics', () {
+    setUp(() async {
+      sl4fDriver = sl4f.Sl4f.fromEnvironment();
+      await sl4fDriver.startServer();
+      inspect = sl4f.Inspect(sl4fDriver);
 
-    // Wait until some data shows up for archivist.
-    // In E2E tests sometimes the system just started up, and appmgr did not have a chance to expose data on Archivist yet.
-    // Appmgr will expose the needed information once it processes the start event for Archvist.
-    var values = [];
-    while (values.isEmpty) {
-      values = await getInspectValues(
-          inspect, '$archivistPath/*/@samples/*:cpu_time');
-    }
-  });
+      // Wait until some data shows up for archivist.
+      // In E2E tests sometimes the system just started up, and appmgr did not have a chance to expose data on Archivist yet.
+      // Appmgr will expose the needed information once it processes the start event for Archvist.
+      var values = [];
+      while (values.isEmpty) {
+        values = await getInspectValues(
+            inspect, '$archivistPath/*/@samples/*:cpu_time');
+      }
+    });
 
-  tearDown(() async {
-    await sl4fDriver.stopServer();
-    sl4fDriver.close();
-  });
+    tearDown(() async {
+      await sl4fDriver.stopServer();
+      sl4fDriver.close();
+    });
 
-  test('appmgr exposes cpu metrics for archivist', () async {
-    expect(
-        await getInspectValues(inspect, '$archivistPath/*/@samples/*:cpu_time'),
-        multiValue(greaterThan(0), length: greaterThan(0)));
-    expect(
-        await getInspectValues(
-            inspect, '$archivistPath/*/@samples/*:queue_time'),
-        multiValue(greaterThan(0), length: greaterThan(0)));
-    expect(
-        await getInspectValues(
-            inspect, '$archivistPath/*/@samples/*:timestamp'),
-        multiValue(greaterThan(0), length: greaterThan(0)));
-  });
+    test('appmgr exposes cpu metrics for archivist', () async {
+      expect(
+          await getInspectValues(
+              inspect, '$archivistPath/*/@samples/*:cpu_time'),
+          multiValue(greaterThan(0), length: greaterThan(0)));
+      expect(
+          await getInspectValues(
+              inspect, '$archivistPath/*/@samples/*:queue_time'),
+          multiValue(greaterThan(0), length: greaterThan(0)));
+      expect(
+          await getInspectValues(
+              inspect, '$archivistPath/*/@samples/*:timestamp'),
+          multiValue(greaterThan(0), length: greaterThan(0)));
+    });
 
-  test('appmgr exposes cpu metrics for itself', () async {
-    expect(await getInspectValues(inspect, '$appmgrPath/*/@samples/*:cpu_time'),
-        multiValue(greaterThan(0), length: greaterThan(0)));
-    expect(
-        await getInspectValues(inspect, '$appmgrPath/*/@samples/*:queue_time'),
-        multiValue(greaterThan(0), length: greaterThan(0)));
-    expect(
-        await getInspectValues(inspect, '$appmgrPath/*/@samples/*:timestamp'),
-        multiValue(greaterThan(0), length: greaterThan(0)));
-  });
+    test('appmgr exposes cpu metrics for itself', () async {
+      expect(
+          await getInspectValues(inspect, '$appmgrPath/*/@samples/*:cpu_time'),
+          multiValue(greaterThan(0), length: greaterThan(0)));
+      expect(
+          await getInspectValues(
+              inspect, '$appmgrPath/*/@samples/*:queue_time'),
+          multiValue(greaterThan(0), length: greaterThan(0)));
+      expect(
+          await getInspectValues(inspect, '$appmgrPath/*/@samples/*:timestamp'),
+          multiValue(greaterThan(0), length: greaterThan(0)));
+    });
 
-  test('appmgr exposes stats on measurement time', () async {
-    expect(
-        await getInspectValues(
-            inspect, 'core/appmgr:root/cpu_stats:process_time_ns'),
-        singleValue(isNotEmpty));
-  });
+    test('appmgr exposes stats on measurement time', () async {
+      expect(
+          await getInspectValues(
+              inspect, 'core/appmgr:root/cpu_stats:process_time_ns'),
+          singleValue(isNotEmpty));
+    });
 
-  test('appmgr exposes the number of tracked tasks', () async {
-    expect(
-        await getInspectValues(
-            inspect, 'core/appmgr:root/cpu_stats:task_count'),
-        singleValue(greaterThan(0)));
-  });
+    test('appmgr exposes the number of tracked tasks', () async {
+      expect(
+          await getInspectValues(
+              inspect, 'core/appmgr:root/cpu_stats:task_count'),
+          singleValue(greaterThan(0)));
+    });
 
-  test('appmgr is not out of inspect space', () async {
-    var size = await getInspectValues(
-        inspect, 'core/appmgr:root/inspect_stats:current_size');
-    var maxSize = await getInspectValues(
-        inspect, 'core/appmgr:root/inspect_stats:maximum_size');
+    test('appmgr is not out of inspect space', () async {
+      var size = await getInspectValues(
+          inspect, 'core/appmgr:root/inspect_stats:current_size');
+      var maxSize = await getInspectValues(
+          inspect, 'core/appmgr:root/inspect_stats:maximum_size');
 
-    expect(size, singleValue(greaterThan(0)));
-    expect(maxSize, singleValue(greaterThan(0)));
-    expect(maxSize, singleValue(greaterThan(size[0])));
-  });
+      expect(size, singleValue(greaterThan(0)));
+      expect(maxSize, singleValue(greaterThan(0)));
+      expect(maxSize, singleValue(greaterThan(size[0])));
+    });
 
-  test('appmgr is not out of inspect space for measurements', () async {
-    var size = await getInspectValues(inspect,
-        'core/appmgr:root/cpu_stats/measurements/@inspect:current_size');
-    var maxSize = await getInspectValues(inspect,
-        'core/appmgr:root/cpu_stats/measurements/@inspect:maximum_size');
+    test('appmgr is not out of inspect space for measurements', () async {
+      var size = await getInspectValues(inspect,
+          'core/appmgr:root/cpu_stats/measurements/@inspect:current_size');
+      var maxSize = await getInspectValues(inspect,
+          'core/appmgr:root/cpu_stats/measurements/@inspect:maximum_size');
 
-    expect(size, singleValue(greaterThan(0)));
-    expect(maxSize, singleValue(greaterThan(0)));
-    expect(maxSize, singleValue(greaterThan(size[0])));
-  });
+      expect(size, singleValue(greaterThan(0)));
+      expect(maxSize, singleValue(greaterThan(0)));
+      expect(maxSize, singleValue(greaterThan(size[0])));
+    });
 
-  test('appmgr exposes overall recent cpu usage', () async {
-    var allParams = await getInspectValues(
-        inspect, 'core/appmgr:root/cpu_stats/recent_usage:*');
-    expect(allParams, multiValue(isNonNegative, length: equals(6)));
-  });
+    test('appmgr exposes overall recent cpu usage', () async {
+      var allParams = await getInspectValues(
+          inspect, 'core/appmgr:root/cpu_stats/recent_usage:*');
+      expect(allParams, multiValue(isNonNegative, length: equals(6)));
+    });
+  }, timeout: Timeout(Duration(seconds: 60)));
 }