Unverified Commit ab3c8224 authored by Michael Goderbauer's avatar Michael Goderbauer Committed by GitHub

Remove unnecessary null checks in dev/devicelab (#118842)

parent f291eb34
...@@ -275,7 +275,7 @@ Future<void> main() async { ...@@ -275,7 +275,7 @@ Future<void> main() async {
String modes = readonlyDebugAssetFile.statSync().modeString(); String modes = readonlyDebugAssetFile.statSync().modeString();
print('\nread-only.txt file access modes = $modes'); print('\nread-only.txt file access modes = $modes');
if (modes != null && modes.compareTo(fileReadWriteMode) != 0) { if (modes.compareTo(fileReadWriteMode) != 0) {
return TaskResult.failure('Failed to make assets user-readable and writable'); return TaskResult.failure('Failed to make assets user-readable and writable');
} }
...@@ -347,7 +347,7 @@ Future<void> main() async { ...@@ -347,7 +347,7 @@ Future<void> main() async {
modes = readonlyReleaseAssetFile.statSync().modeString(); modes = readonlyReleaseAssetFile.statSync().modeString();
print('\nread-only.txt file access modes = $modes'); print('\nread-only.txt file access modes = $modes');
if (modes != null && modes.compareTo(fileReadWriteMode) != 0) { if (modes.compareTo(fileReadWriteMode) != 0) {
return TaskResult.failure('Failed to make assets user-readable and writable'); return TaskResult.failure('Failed to make assets user-readable and writable');
} }
......
...@@ -278,7 +278,7 @@ Future<void> main() async { ...@@ -278,7 +278,7 @@ Future<void> main() async {
String modes = readonlyDebugAssetFile.statSync().modeString(); String modes = readonlyDebugAssetFile.statSync().modeString();
print('\nread-only.txt file access modes = $modes'); print('\nread-only.txt file access modes = $modes');
if (modes != null && modes.compareTo(fileReadWriteMode) != 0) { if (modes.compareTo(fileReadWriteMode) != 0) {
return TaskResult.failure('Failed to make assets user-readable and writable'); return TaskResult.failure('Failed to make assets user-readable and writable');
} }
...@@ -326,7 +326,7 @@ Future<void> main() async { ...@@ -326,7 +326,7 @@ Future<void> main() async {
// Shouldn't be missing since we already checked it exists above. // Shouldn't be missing since we already checked it exists above.
final ArchiveFile? noticesFile = apk.findFile('assets/flutter_assets/NOTICES.Z'); final ArchiveFile? noticesFile = apk.findFile('assets/flutter_assets/NOTICES.Z');
final Uint8List licenseData = noticesFile?.content as Uint8List; final Uint8List? licenseData = noticesFile?.content as Uint8List?;
if (licenseData == null) { if (licenseData == null) {
return TaskResult.failure('Invalid license file.'); return TaskResult.failure('Invalid license file.');
} }
...@@ -368,7 +368,7 @@ Future<void> main() async { ...@@ -368,7 +368,7 @@ Future<void> main() async {
modes = readonlyReleaseAssetFile.statSync().modeString(); modes = readonlyReleaseAssetFile.statSync().modeString();
print('\nread-only.txt file access modes = $modes'); print('\nread-only.txt file access modes = $modes');
if (modes != null && modes.compareTo(fileReadWriteMode) != 0) { if (modes.compareTo(fileReadWriteMode) != 0) {
return TaskResult.failure('Failed to make assets user-readable and writable'); return TaskResult.failure('Failed to make assets user-readable and writable');
} }
......
...@@ -304,12 +304,6 @@ class BlinkTraceSummary { ...@@ -304,12 +304,6 @@ class BlinkTraceSummary {
orElse: () => throw noMeasuredFramesFound(), orElse: () => throw noMeasuredFramesFound(),
); );
if (firstMeasuredFrameEvent == null) {
// This happens in benchmarks that do not measure frames, such as some
// of the text layout benchmarks.
return null;
}
final int tabPid = firstMeasuredFrameEvent.pid!; final int tabPid = firstMeasuredFrameEvent.pid!;
// Filter out data from unrelated processes // Filter out data from unrelated processes
......
...@@ -246,7 +246,7 @@ class AuthenticatedCocoonClient extends BaseClient { ...@@ -246,7 +246,7 @@ class AuthenticatedCocoonClient extends BaseClient {
} }
class CocoonException implements Exception { class CocoonException implements Exception {
CocoonException(this.message) : assert(message != null); CocoonException(this.message);
/// The message to show to the issuer to explain the error. /// The message to show to the issuer to explain the error.
final String message; final String message;
......
...@@ -19,7 +19,7 @@ class DeviceException implements Exception { ...@@ -19,7 +19,7 @@ class DeviceException implements Exception {
final String message; final String message;
@override @override
String toString() => message == null ? '$DeviceException' : '$DeviceException: $message'; String toString() => '$DeviceException: $message';
} }
/// Gets the artifact path relative to the current directory. /// Gets the artifact path relative to the current directory.
......
...@@ -9,9 +9,7 @@ import 'package:process/process.dart'; ...@@ -9,9 +9,7 @@ import 'package:process/process.dart';
@immutable @immutable
class RunningProcessInfo { class RunningProcessInfo {
const RunningProcessInfo(this.pid, this.commandLine, this.creationDate) const RunningProcessInfo(this.pid, this.commandLine, this.creationDate);
: assert(pid != null),
assert(commandLine != null);
final int pid; final int pid;
final String commandLine; final String commandLine;
...@@ -94,10 +92,6 @@ Future<Set<RunningProcessInfo>> windowsRunningProcesses( ...@@ -94,10 +92,6 @@ Future<Set<RunningProcessInfo>> windowsRunningProcesses(
/// 2904 3/11/2019 11:01:54 AM "C:\Program Files\Android\Android Studio\jre\bin\java.exe" -Xmx1536M -Dfile.encoding=windows-1252 -Duser.country=US -Duser.language=en -Duser.variant -cp C:\Users\win1\.gradle\wrapper\dists\gradle-4.10.2-all\9fahxiiecdb76a5g3aw9oi8rv\gradle-4.10.2\lib\gradle-launcher-4.10.2.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 4.10.2 /// 2904 3/11/2019 11:01:54 AM "C:\Program Files\Android\Android Studio\jre\bin\java.exe" -Xmx1536M -Dfile.encoding=windows-1252 -Duser.country=US -Duser.language=en -Duser.variant -cp C:\Users\win1\.gradle\wrapper\dists\gradle-4.10.2-all\9fahxiiecdb76a5g3aw9oi8rv\gradle-4.10.2\lib\gradle-launcher-4.10.2.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 4.10.2
@visibleForTesting @visibleForTesting
Iterable<RunningProcessInfo> processPowershellOutput(String output) sync* { Iterable<RunningProcessInfo> processPowershellOutput(String output) sync* {
if (output == null) {
return;
}
const int processIdHeaderSize = 'ProcessId'.length; const int processIdHeaderSize = 'ProcessId'.length;
const int creationDateHeaderStart = processIdHeaderSize + 1; const int creationDateHeaderStart = processIdHeaderSize + 1;
late int creationDateHeaderEnd; late int creationDateHeaderEnd;
...@@ -187,9 +181,6 @@ Iterable<RunningProcessInfo> processPsOutput( ...@@ -187,9 +181,6 @@ Iterable<RunningProcessInfo> processPsOutput(
String output, String output,
String? processName, String? processName,
) sync* { ) sync* {
if (output == null) {
return;
}
bool inTableBody = false; bool inTableBody = false;
for (String line in output.split('\n')) { for (String line in output.split('\n')) {
if (line.trim().startsWith('STARTED')) { if (line.trim().startsWith('STARTED')) {
......
...@@ -139,7 +139,7 @@ void recursiveCopy(Directory source, Directory target) { ...@@ -139,7 +139,7 @@ void recursiveCopy(Directory source, Directory target) {
dest.writeAsBytesSync(entity.readAsBytesSync()); dest.writeAsBytesSync(entity.readAsBytesSync());
// Preserve executable bit // Preserve executable bit
final String modes = entity.statSync().modeString(); final String modes = entity.statSync().modeString();
if (modes != null && modes.contains('x')) { if (modes.contains('x')) {
makeExecutable(dest); makeExecutable(dest);
} }
} }
...@@ -276,7 +276,6 @@ Future<Process> startProcess( ...@@ -276,7 +276,6 @@ Future<Process> startProcess(
bool isBot = true, // set to false to pretend not to be on a bot (e.g. to test user-facing outputs) bool isBot = true, // set to false to pretend not to be on a bot (e.g. to test user-facing outputs)
String? workingDirectory, String? workingDirectory,
}) async { }) async {
assert(isBot != null);
final String command = '$executable ${arguments?.join(" ") ?? ""}'; final String command = '$executable ${arguments?.join(" ") ?? ""}';
final String finalWorkingDirectory = workingDirectory ?? cwd; final String finalWorkingDirectory = workingDirectory ?? cwd;
final Map<String, String> newEnvironment = Map<String, String>.from(environment ?? <String, String>{}); final Map<String, String> newEnvironment = Map<String, String>.from(environment ?? <String, String>{});
...@@ -504,7 +503,6 @@ Future<Process> startFlutter(String command, { ...@@ -504,7 +503,6 @@ Future<Process> startFlutter(String command, {
Map<String, String> environment = const <String, String>{}, Map<String, String> environment = const <String, String>{},
bool isBot = true, // set to false to pretend not to be on a bot (e.g. to test user-facing outputs) bool isBot = true, // set to false to pretend not to be on a bot (e.g. to test user-facing outputs)
}) { }) {
assert(isBot != null);
final List<String> args = flutterCommandArgs(command, options); final List<String> args = flutterCommandArgs(command, options);
return startProcess( return startProcess(
path.join(flutterDirectory.path, 'bin', 'flutter'), path.join(flutterDirectory.path, 'bin', 'flutter'),
...@@ -635,48 +633,6 @@ Future<void> getNewGallery(String revision, Directory galleryDir) async { ...@@ -635,48 +633,6 @@ Future<void> getNewGallery(String revision, Directory galleryDir) async {
}); });
} }
void checkNotNull(Object o1,
[Object o2 = 1,
Object o3 = 1,
Object o4 = 1,
Object o5 = 1,
Object o6 = 1,
Object o7 = 1,
Object o8 = 1,
Object o9 = 1,
Object o10 = 1]) {
if (o1 == null) {
throw 'o1 is null';
}
if (o2 == null) {
throw 'o2 is null';
}
if (o3 == null) {
throw 'o3 is null';
}
if (o4 == null) {
throw 'o4 is null';
}
if (o5 == null) {
throw 'o5 is null';
}
if (o6 == null) {
throw 'o6 is null';
}
if (o7 == null) {
throw 'o7 is null';
}
if (o8 == null) {
throw 'o8 is null';
}
if (o9 == null) {
throw 'o9 is null';
}
if (o10 == null) {
throw 'o10 is null';
}
}
/// Splits [from] into lines and selects those that contain [pattern]. /// Splits [from] into lines and selects those that contain [pattern].
Iterable<String> grep(Pattern pattern, {required String from}) { Iterable<String> grep(Pattern pattern, {required String from}) {
return from.split('\n').where((String line) { return from.split('\n').where((String line) {
......
...@@ -2042,10 +2042,7 @@ class _UnzipListEntry { ...@@ -2042,10 +2042,7 @@ class _UnzipListEntry {
required this.uncompressedSize, required this.uncompressedSize,
required this.compressedSize, required this.compressedSize,
required this.path, required this.path,
}) : assert(uncompressedSize != null), }) : assert(compressedSize <= uncompressedSize);
assert(compressedSize != null),
assert(compressedSize <= uncompressedSize),
assert(path != null);
final int uncompressedSize; final int uncompressedSize;
final int compressedSize; final int compressedSize;
......
...@@ -161,11 +161,11 @@ Future<TaskResult> runWebBenchmark({ required bool useCanvasKit }) async { ...@@ -161,11 +161,11 @@ Future<TaskResult> runWebBenchmark({ required bool useCanvasKit }) async {
final String namespace = '$benchmarkName.$backend'; final String namespace = '$benchmarkName.$backend';
final List<String> scoreKeys = List<String>.from(profile['scoreKeys'] as List<dynamic>); final List<String> scoreKeys = List<String>.from(profile['scoreKeys'] as List<dynamic>);
if (scoreKeys == null || scoreKeys.isEmpty) { if (scoreKeys.isEmpty) {
throw 'No score keys in benchmark "$benchmarkName"'; throw 'No score keys in benchmark "$benchmarkName"';
} }
for (final String scoreKey in scoreKeys) { for (final String scoreKey in scoreKeys) {
if (scoreKey == null || scoreKey.isEmpty) { if (scoreKey.isEmpty) {
throw 'Score key is empty in benchmark "$benchmarkName". ' throw 'Score key is empty in benchmark "$benchmarkName". '
'Received [${scoreKeys.join(', ')}]'; 'Received [${scoreKeys.join(', ')}]';
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment