From fc5bb956dcf6d42d583ebbcfd861f07e395fb28d Mon Sep 17 00:00:00 2001 From: Chris Stewart Date: Mon, 7 Jun 2021 10:23:48 -0500 Subject: [PATCH] Try making the dlc fee test suite async (#3227) * Try making the test suite async * Push to github to force re-run of CI * Push to github to force re-run of CI 2 --- .../dlc/statictest/DLCFeeTestVectorTest.scala | 27 ++++++++++++++----- .../dlc/testgen/DLCFeeTestVector.scala | 2 +- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/dlc-test/src/test/scala/org/bitcoins/dlc/statictest/DLCFeeTestVectorTest.scala b/dlc-test/src/test/scala/org/bitcoins/dlc/statictest/DLCFeeTestVectorTest.scala index 5afef2b9c1..14c34bc437 100644 --- a/dlc-test/src/test/scala/org/bitcoins/dlc/statictest/DLCFeeTestVectorTest.scala +++ b/dlc-test/src/test/scala/org/bitcoins/dlc/statictest/DLCFeeTestVectorTest.scala @@ -1,11 +1,16 @@ package org.bitcoins.dlc.statictest +import org.bitcoins.core.util.FutureUtil import org.bitcoins.dlc.testgen._ import org.bitcoins.testkitcore.gen.FeeUnitGen -import org.bitcoins.testkitcore.util.BitcoinSUnitTest +import org.bitcoins.testkitcore.util.BitcoinSJvmTest import org.scalacheck.Gen +import org.scalatest.Assertion +import play.api.libs.json.JsResult -class DLCFeeTestVectorTest extends BitcoinSUnitTest { +import scala.concurrent.Future + +class DLCFeeTestVectorTest extends BitcoinSJvmTest { implicit override val generatorDrivenConfig: PropertyCheckConfiguration = generatorDrivenConfigNewCode @@ -46,11 +51,21 @@ class DLCFeeTestVectorTest extends BitcoinSUnitTest { } it should "pass dlc_fee_test" in { - val vecResult = DLCFeeTestVectorGen.readFromDefaultTestFile() + val vecResult: JsResult[Vector[DLCFeeTestVector]] = + DLCFeeTestVectorGen.readFromDefaultTestFile() assert(vecResult.isSuccess) - vecResult.get.foldLeft(succeed) { case (_, testVec) => - assert(DLCFeeTestVector(testVec.inputs) == testVec) - } + def assertBatch(vec: Vector[DLCFeeTestVector]): Future[Vector[Assertion]] = + Future { + vec.map { case testVec => + assert(DLCFeeTestVector.apply(testVec.inputs) == testVec) + } + } + + val assertionsF = FutureUtil + .batchAndParallelExecute(vecResult.get, assertBatch) + .map(_.flatten) + + assertionsF.map(_ => succeed) } } diff --git a/dlc-test/src/test/scala/org/bitcoins/dlc/testgen/DLCFeeTestVector.scala b/dlc-test/src/test/scala/org/bitcoins/dlc/testgen/DLCFeeTestVector.scala index 7310ba9432..1cf531669c 100644 --- a/dlc-test/src/test/scala/org/bitcoins/dlc/testgen/DLCFeeTestVector.scala +++ b/dlc-test/src/test/scala/org/bitcoins/dlc/testgen/DLCFeeTestVector.scala @@ -91,7 +91,7 @@ object DLCFeeTestVectorInput { object DLCFeeTestVector extends TestVectorParser[DLCFeeTestVector] { def apply(inputs: DLCFeeTestVectorInput): DLCFeeTestVector = { - DLCFeeTestVector( + DLCFeeTestVector.apply( inputs, inputs.offerFundingFee.satoshis, inputs.offerClosingFee.satoshis,