Fix the warning test by checking stderr (#30997)

Previously, I used the Android emulator for testing and everything
seemed to work fine with stdout (if I remember correctly). But our
devicelab uses real Android devices and the warnings are routed to
stderr. Hence change stdout to stderr in the test.
diff --git a/dev/devicelab/bin/tasks/drive_perf_debug_warning.dart b/dev/devicelab/bin/tasks/drive_perf_debug_warning.dart
index e2f06e0..78bf7be 100644
--- a/dev/devicelab/bin/tasks/drive_perf_debug_warning.dart
+++ b/dev/devicelab/bin/tasks/drive_perf_debug_warning.dart
@@ -8,14 +8,16 @@
 import 'package:flutter_devicelab/framework/framework.dart';
 import 'package:flutter_devicelab/framework/utils.dart';
 
-Future<String> _runWithMode(String mode, String deviceId) {
-  return evalFlutter('drive', options: <String>[
+Future<String> _runWithMode(String mode, String deviceId) async {
+  final StringBuffer stderr = StringBuffer();
+  await evalFlutter('drive', stderr: stderr, options: <String>[
     mode,
     '-t',
     'test_driver/scroll_perf.dart',
     '-d',
     deviceId,
   ]);
+  return stderr.toString();
 }
 
 Future<TaskResult> run() async {
diff --git a/dev/devicelab/lib/framework/utils.dart b/dev/devicelab/lib/framework/utils.dart
index fc99b47..c562a3f 100644
--- a/dev/devicelab/lib/framework/utils.dart
+++ b/dev/devicelab/lib/framework/utils.dart
@@ -303,6 +303,7 @@
   Map<String, String> environment,
   bool canFail = false, // as in, whether failures are ok. False means that they are fatal.
   String workingDirectory,
+  StringBuffer stderr, // if not null, the stderr will be written here
 }) async {
   final Process process = await startProcess(executable, arguments, environment: environment, workingDirectory: workingDirectory);
 
@@ -321,6 +322,7 @@
       .transform<String>(const LineSplitter())
       .listen((String line) {
         print('stderr: $line');
+        stderr?.writeln(line);
       }, onDone: () { stderrDone.complete(); });
 
   await Future.wait<void>(<Future<void>>[stdoutDone.future, stderrDone.future]);
@@ -347,10 +349,11 @@
   List<String> options = const <String>[],
   bool canFail = false, // as in, whether failures are ok. False means that they are fatal.
   Map<String, String> environment,
+  StringBuffer stderr, // if not null, the stderr will be written here.
 }) {
   final List<String> args = <String>[command]..addAll(options);
   return eval(path.join(flutterDirectory.path, 'bin', 'flutter'), args,
-      canFail: canFail, environment: environment);
+      canFail: canFail, environment: environment, stderr: stderr);
 }
 
 String get dartBin =>