Skip to content

Commit

Permalink
create and throw ValidationFailure
Browse files Browse the repository at this point in the history
  • Loading branch information
devoncarew committed Dec 10, 2024
1 parent 2074230 commit a157dbe
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 12 deletions.
3 changes: 2 additions & 1 deletion pkgs/native_assets_cli/lib/src/code_assets/testing.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import 'dart:async';

import '../../code_assets_builder.dart';
import '../../test.dart';
import '../validation.dart';

/// Validate a code build hook; this will throw an exception on validation
/// errors.
Expand Down Expand Up @@ -52,7 +53,7 @@ Future<void> testCodeBuildHook({
final validationErrors =
await validateCodeAssetBuildOutput(config, output);
if (validationErrors.isNotEmpty) {
throw VerificationException(
throw ValidationFailure(
'encountered build output validation issues: $validationErrors');
}

Expand Down
10 changes: 10 additions & 0 deletions pkgs/native_assets_cli/lib/src/validation.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
// BSD-style license that can be found in the LICENSE file.

import 'dart:io';

import '../native_assets_cli_builder.dart';

typedef ValidationErrors = List<String>;
Expand Down Expand Up @@ -99,3 +100,12 @@ List<String> _validateAssetsForLinking(
}
return errors;
}

class ValidationFailure implements Exception {
final String? message;

ValidationFailure(this.message);

@override
String toString() => message.toString();
}
13 changes: 2 additions & 11 deletions pkgs/native_assets_cli/lib/test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import 'package:yaml/yaml.dart';

import 'native_assets_cli_builder.dart';
import 'native_assets_cli_internal.dart' show Hook;
import 'src/validation.dart';

export 'native_assets_cli_builder.dart';

Expand Down Expand Up @@ -78,7 +79,7 @@ Future<void> testBuildHook({
// Test conformance of protocol invariants.
final validationErrors = await validateBuildOutput(config, output);
if (validationErrors.isNotEmpty) {
throw VerificationException(
throw ValidationFailure(
'encountered build output validation issues: $validationErrors');
}

Expand All @@ -92,16 +93,6 @@ Future<void> testBuildHook({
}
}

/// An exception thrown when build hook verification fails.
class VerificationException implements Exception {
final String? message;

VerificationException(this.message);

@override
String toString() => message.toString();
}

void _writeJsonTo(Uri uri, Map<String, Object?> json) {
final encoder = const JsonEncoder().fuse(const Utf8Encoder());
File.fromUri(uri).writeAsBytesSync(encoder.convert(json));
Expand Down

0 comments on commit a157dbe

Please sign in to comment.