diff --git a/drift_dev/test/utils.dart b/drift_dev/test/utils.dart index 0869f6068..2c4a9cf60 100644 --- a/drift_dev/test/utils.dart +++ b/drift_dev/test/utils.dart @@ -61,17 +61,20 @@ Future emulateDriftBuild({ final logLines = []; final env = await driftTestEnvironment(); + final prepare = preparingBuilder(options); final result = await testBuilders( [ - preparingBuilder(options), + prepare, discover(options), analyzer(options), modularBuild ? modular(options) : driftBuilderNotShared(options), - // TODO: Investigate testing post-process builder too. Once that's - // possible, also patch DriftBuildResult.dartOutputs to use information - // about deleted assets again. - // driftCleanup(options), ], + postProcessBuilders: [ + driftCleanup(options), + ], + appliesBuilders: { + prepare: ['FileDeletingBuilder'] + }, inputs, rootPackage: 'a', onLog: (record) { @@ -93,23 +96,20 @@ Future emulateDriftBuild({ throw Exception('testBuilders failed'); } - final deletedAssets = []; - logger.clearListeners(); - return DriftBuildResult(env, deletedAssets); + return DriftBuildResult(env); } class DriftBuildResult { final TestReaderWriter writer; - final List deleted; - DriftBuildResult(this.writer, this.deleted); + DriftBuildResult(this.writer); Iterable get dartOutputs { return writer.testing.assetsWritten.where((e) { return e.extension == '.dart' && - !deleted.contains(e) && - // TODO: Remove once we can test the post-process builder again. + // TODO: Replace with a better check for deleted assets, + // https://github.com/dart-lang/build/discussions/4186#discussioncomment-14848165 !e.path.endsWith('.temp.dart'); }); }