matchers = new ArrayList<>();
+ matchers.add(FileSystems.getDefault().getPathMatcher("glob:**/test-results-xml/**/*.xml"));
+ try {
+ Files.walkFileTree(rootDir, new FileVisitor() {
+ @Override
+ public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) {
+ return FileVisitResult.CONTINUE;
+ }
+
+ @Override
+ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
+ for (PathMatcher matcher : matchers) {
+ if (matcher.matches(file)) {
+ paths.add(file);
+ break;
+ }
+ }
+
+ return FileVisitResult.CONTINUE;
+ }
+
+ @Override
+ public FileVisitResult visitFileFailed(Path file, IOException exc) {
+ return FileVisitResult.CONTINUE;
+ }
+
+ @Override
+ public FileVisitResult postVisitDirectory(Path dir, IOException exc) {
+ return FileVisitResult.CONTINUE;
+ }
+ });
+ } catch (IOException e) {
+ LOG.warn("Could not walk tree and get all test xml files: {}", e.toString());
+ }
+ return paths;
+ }
+
+ /**
+ * Unzip test results in memory and return test names and durations.
+ * Assumes the input stream contains only csv files of the correct format.
+ *
+ * @param tests reference to the Tests object to be populated.
+ * @param zippedInputStream stream containing zipped result file(s)
+ */
+ static void addTestsFromZippedCsv(@NotNull final Tests tests,
+ @NotNull final InputStream zippedInputStream) {
+ // We need this because ArchiveStream requires the `mark` functionality which is supported in buffered streams.
+ final BufferedInputStream bufferedInputStream = new BufferedInputStream(zippedInputStream);
+ try (ArchiveInputStream archiveInputStream = new ArchiveStreamFactory().createArchiveInputStream(bufferedInputStream)) {
+ ArchiveEntry e;
+ while ((e = archiveInputStream.getNextEntry()) != null) {
+ if (e.isDirectory()) continue;
+
+ // We seem to need to take a copy of the original input stream (as positioned by the ArchiveEntry), because
+ // the XML parsing closes the stream after it has finished. This has the side effect of only parsing the first
+ // entry in the archive.
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ IOUtils.copy(archiveInputStream, outputStream);
+ ByteArrayInputStream byteInputStream = new ByteArrayInputStream(outputStream.toByteArray());
+
+ // Read the tests from the (csv) stream
+ final InputStreamReader reader = new InputStreamReader(byteInputStream);
+
+ // Add the tests to the Tests object
+ tests.addTests(Tests.read(reader));
+ }
+ } catch (ArchiveException | IOException e) {
+ LOG.warn("Problem unzipping XML test results");
+ }
+
+ LOG.debug("Discovered {} tests", tests.size());
+ }
+
+ /**
+ * For a given stream, return the testcase names and durations.
+ *
+ * NOTE: the input stream will be closed by this method.
+ *
+ * @param inputStream an InputStream, closed once parsed
+ * @return a list of test names and their durations in nanos.
+ */
+ @NotNull
+ static List> fromJunitXml(@NotNull final InputStream inputStream) {
+ final DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+ final List> results = new ArrayList<>();
+
+ try {
+ final DocumentBuilder builder = dbFactory.newDocumentBuilder();
+ final Document document = builder.parse(inputStream);
+ document.getDocumentElement().normalize();
+ final XPathFactory xPathfactory = XPathFactory.newInstance();
+ final XPath xpath = xPathfactory.newXPath();
+ final XPathExpression expression = xpath.compile("//testcase");
+ final NodeList nodeList = (NodeList) expression.evaluate(document, XPathConstants.NODESET);
+
+ final BiFunction get =
+ (a, k) -> a.getNamedItem(k) != null ? a.getNamedItem(k).getNodeValue() : "";
+
+ for (int i = 0; i < nodeList.getLength(); i++) {
+ final Node item = nodeList.item(i);
+ final NamedNodeMap attributes = item.getAttributes();
+ final String testName = get.apply(attributes, "name");
+ final String testDuration = get.apply(attributes, "time");
+ final String testClassName = get.apply(attributes, "classname");
+
+ // If the test doesn't have a duration (it should), we return zero.
+ if (!(testName.isEmpty() || testClassName.isEmpty())) {
+ final long nanos = !testDuration.isEmpty() ? (long) (Double.parseDouble(testDuration) * 1_000_000_000.0) : 0L;
+ results.add(new Tuple2<>(testClassName + "." + testName, nanos));
+ } else {
+ LOG.warn("Bad test in junit xml: name={} className={}", testName, testClassName);
+ }
+ }
+ } catch (ParserConfigurationException | IOException | XPathExpressionException | SAXException e) {
+ return Collections.emptyList();
+ }
+
+ return results;
+ }
+
+ /**
+ * A supplier of tests.
+ *
+ * We get them from Artifactory and then parse the test xml files to get the duration.
+ *
+ * @return a supplier of test results
+ */
+ @NotNull
+ static Supplier getTestsSupplier() {
+ return TestDurationArtifacts::loadTests;
+ }
+
+ /**
+ * we need to prepend the project type so that we have a unique tag for artifactory
+ *
+ * @return
+ */
+ static String getBranchTag() {
+ return (Properties.getRootProjectType() + "-" + Properties.getGitBranch()).replace('.', '-');
+ }
+
+ /**
+ * we need to prepend the project type so that we have a unique tag artifactory
+ *
+ * @return
+ */
+ static String getTargetBranchTag() {
+ return (Properties.getRootProjectType() + "-" + Properties.getTargetGitBranch()).replace('.', '-');
+ }
+
+ /**
+ * Load the tests from Artifactory, in-memory. No temp file used. Existing test data is cleared.
+ *
+ * @return a reference to the loaded tests.
+ */
+ static Tests loadTests() {
+ LOG.warn("LOADING previous test runs from Artifactory");
+ tests.clear();
+ try {
+ final TestDurationArtifacts testArtifacts = new TestDurationArtifacts();
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+
+ // Try getting artifacts for our branch, if not, try the target branch.
+ if (!testArtifacts.get(getBranchTag(), outputStream)) {
+ outputStream = new ByteArrayOutputStream();
+ LOG.warn("Could not get tests from Artifactory for tag {}, trying {}", getBranchTag(), getTargetBranchTag());
+ if (!testArtifacts.get(getTargetBranchTag(), outputStream)) {
+ LOG.warn("Could not get any tests from Artifactory");
+ return tests;
+ }
+ }
+
+ ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
+ addTestsFromZippedCsv(tests, inputStream);
+ LOG.warn("Got {} tests from Artifactory", tests.size());
+ return tests;
+ } catch (Exception e) { // was IOException
+ LOG.warn(e.toString());
+ LOG.warn("Could not get tests from Artifactory");
+ return tests;
+ }
+ }
+
+ /**
+ * Get tests for the specified tag in the outputStream
+ *
+ * @param theTag tag for tests
+ * @param outputStream stream of zipped xml files
+ * @return false if we fail to get the tests
+ */
+ private boolean get(@NotNull final String theTag, @NotNull final OutputStream outputStream) {
+ return artifactory.get(BASE_URL, theTag, ARTIFACT, "zip", outputStream);
+ }
+
+ /**
+ * Upload the supplied tests
+ *
+ * @param theTag tag for tests
+ * @param inputStream stream of zipped xml files.
+ * @return true if we succeed
+ */
+ private boolean put(@NotNull final String theTag, @NotNull final InputStream inputStream) {
+ return artifactory.put(BASE_URL, theTag, ARTIFACT, EXTENSION, inputStream);
+ }
+}
+
diff --git a/buildSrc/src/main/groovy/net/corda/testing/Tests.java b/buildSrc/src/main/groovy/net/corda/testing/Tests.java
new file mode 100644
index 0000000000..5c11a7cc22
--- /dev/null
+++ b/buildSrc/src/main/groovy/net/corda/testing/Tests.java
@@ -0,0 +1,199 @@
+package net.corda.testing;
+
+import groovy.lang.Tuple2;
+import groovy.lang.Tuple3;
+import org.apache.commons.csv.CSVFormat;
+import org.apache.commons.csv.CSVPrinter;
+import org.apache.commons.csv.CSVRecord;
+import org.jetbrains.annotations.NotNull;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+public class Tests {
+ final static String TEST_NAME = "Test Name";
+ final static String MEAN_DURATION_NANOS = "Mean Duration Nanos";
+ final static String NUMBER_OF_RUNS = "Number of runs";
+ private static final Logger LOG = LoggerFactory.getLogger(Tests.class);
+ // test name -> (mean duration, number of runs)
+ private final Map> tests = new HashMap<>();
+ // If we don't have any tests from which to get a mean, use this.
+ static long DEFAULT_MEAN_NANOS = 1000L;
+
+ private static Tuple2 DEFAULT_MEAN_TUPLE = new Tuple2<>(DEFAULT_MEAN_NANOS, 0L);
+ // mean, count
+ private Tuple2 meanForTests = DEFAULT_MEAN_TUPLE;
+
+ /**
+ * Read tests, mean duration and runs from a csv file.
+ *
+ * @param reader a reader
+ * @return list of tests, or an empty list if none or we have a problem.
+ */
+ public static List> read(Reader reader) {
+ try {
+ List records = CSVFormat.DEFAULT.withHeader().parse(reader).getRecords();
+ return records.stream().map(record -> {
+ try {
+ final String testName = record.get(TEST_NAME);
+ final long testDuration = Long.parseLong(record.get(MEAN_DURATION_NANOS));
+ final long testRuns = Long.parseLong(record.get(NUMBER_OF_RUNS)); // can't see how we would have zero tbh.
+ return new Tuple3<>(testName, testDuration, Math.max(testRuns, 1));
+ } catch (IllegalArgumentException | IllegalStateException e) {
+ return null;
+ }
+ }).filter(Objects::nonNull).sorted(Comparator.comparing(Tuple3::getFirst)).collect(Collectors.toList());
+ } catch (IOException ignored) {
+
+ }
+ return Collections.emptyList();
+ }
+
+ private static Tuple2 recalculateMean(@NotNull final Tuple2 previous, long nanos) {
+ final long total = previous.getFirst() * previous.getSecond() + nanos;
+ final long count = previous.getSecond() + 1;
+ return new Tuple2<>(total / count, count);
+ }
+
+ /**
+ * Write a csv file of test name, duration, runs
+ *
+ * @param writer a writer
+ * @return true if no problems.
+ */
+ public boolean write(@NotNull final Writer writer) {
+ boolean ok = true;
+ final CSVPrinter printer;
+ try {
+ printer = new CSVPrinter(writer,
+ CSVFormat.DEFAULT.withHeader(TEST_NAME, MEAN_DURATION_NANOS, NUMBER_OF_RUNS));
+ for (String key : tests.keySet()) {
+ printer.printRecord(key, tests.get(key).getFirst(), tests.get(key).getSecond());
+ }
+
+ printer.flush();
+ } catch (IOException e) {
+ ok = false;
+ }
+ return ok;
+ }
+
+ /**
+ * Add tests, and also (re)calculate the mean test duration.
+ * e.g. addTests(read(reader));
+ *
+ * @param testsCollection tests, typically from a csv file.
+ */
+ public void addTests(@NotNull final List> testsCollection) {
+ testsCollection.forEach(t -> this.tests.put(t.getFirst(), new Tuple2<>(t.getSecond(), t.getThird())));
+
+ // Calculate the mean test time.
+ if (tests.size() > 0) {
+ long total = 0;
+ for (String testName : this.tests.keySet()) total += tests.get(testName).getFirst();
+ meanForTests = new Tuple2<>(total / this.tests.size(), 1L);
+ }
+ }
+
+ /**
+ * Get the known mean duration of a test.
+ *
+ * @param testName the test name
+ * @return duration in nanos.
+ */
+ public long getDuration(@NotNull final String testName) {
+ return tests.getOrDefault(testName, meanForTests).getFirst();
+ }
+
+ /**
+ * Add test information. Recalulates mean test duration if already exists.
+ *
+ * @param testName name of the test
+ * @param durationNanos duration
+ */
+ public void addDuration(@NotNull final String testName, long durationNanos) {
+ final Tuple2 current = tests.getOrDefault(testName, new Tuple2<>(0L, 0L));
+
+ tests.put(testName, recalculateMean(current, durationNanos));
+
+ LOG.debug("Recorded test '{}', mean={} ns, runs={}", testName, tests.get(testName).getFirst(), tests.get(testName).getSecond());
+
+ meanForTests = recalculateMean(meanForTests, durationNanos);
+ }
+
+ /**
+ * Do we have any test information?
+ *
+ * @return false if no tests info
+ */
+ public boolean isEmpty() {
+ return tests.isEmpty();
+ }
+
+ /**
+ * How many tests do we have?
+ *
+ * @return the number of tests we have information for
+ */
+ public int size() {
+ return tests.size();
+ }
+
+ /**
+ * Return all tests (and their durations) that being with (or are equal to) `testPrefix`
+ * If not present we just return the mean test duration so that the test is fairly distributed.
+ * @param testPrefix could be just the classname, or the entire classname + testname.
+ * @return list of matching tests
+ */
+ @NotNull
+ List> startsWith(@NotNull final String testPrefix) {
+ List> results = this.tests.keySet().stream()
+ .filter(t -> t.startsWith(testPrefix))
+ .map(t -> new Tuple2<>(t, getDuration(t)))
+ .collect(Collectors.toList());
+ // We don't know if the testPrefix is a classname or classname.methodname (exact match).
+ if (results == null || results.isEmpty()) {
+ LOG.warn("In {} previously executed tests, could not find any starting with {}", tests.size(), testPrefix);
+ results = Arrays.asList(new Tuple2<>(testPrefix, getMeanDurationForTests()));
+ }
+ return results;
+ }
+
+ /**
+ * How many times has this function been run? Every call to addDuration increments the current value.
+ *
+ * @param testName the test name
+ * @return the number of times the test name has been run.
+ */
+ public long getRunCount(@NotNull final String testName) {
+ return tests.getOrDefault(testName, new Tuple2<>(0L, 0L)).getSecond();
+ }
+
+ /**
+ * Return the mean duration for a unit to run
+ *
+ * @return mean duration in nanos.
+ */
+ public long getMeanDurationForTests() {
+ return meanForTests.getFirst();
+ }
+
+ /**
+ * Clear all tests
+ */
+ void clear() {
+ tests.clear();
+ meanForTests = DEFAULT_MEAN_TUPLE;
+ }
+}
\ No newline at end of file
diff --git a/buildSrc/src/test/groovy/net/corda/testing/PropertiesTest.java b/buildSrc/src/test/groovy/net/corda/testing/PropertiesTest.java
new file mode 100644
index 0000000000..599c5f8d4a
--- /dev/null
+++ b/buildSrc/src/test/groovy/net/corda/testing/PropertiesTest.java
@@ -0,0 +1,63 @@
+package net.corda.testing;
+
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class PropertiesTest {
+ private static String username = "me";
+ private static String password = "me";
+ private static String cordaType = "corda-project";
+ private static String branch = "mine";
+ private static String targetBranch = "master";
+
+ @Before
+ public void setUp() {
+ System.setProperty("git.branch", branch);
+ System.setProperty("git.target.branch", targetBranch);
+ System.setProperty("artifactory.username", username);
+ System.setProperty("artifactory.password", password);
+ }
+
+ @After
+ public void tearDown() {
+ System.setProperty("git.branch", "");
+ System.setProperty("git.target.branch", "");
+ System.setProperty("artifactory.username", "");
+ System.setProperty("artifactory.password", "");
+ }
+
+ @Test
+ public void cordaType() {
+ Properties.setRootProjectType(cordaType);
+ Assert.assertEquals(cordaType, Properties.getRootProjectType());
+ }
+
+ @Test
+ public void getUsername() {
+ Assert.assertEquals(username, Properties.getUsername());
+ }
+
+ @Test
+ public void getPassword() {
+ Assert.assertEquals(password, Properties.getPassword());
+ }
+
+ @Test
+ public void getGitBranch() {
+ Assert.assertEquals(branch, Properties.getGitBranch());
+ }
+
+ @Test
+ public void getTargetGitBranch() {
+ Assert.assertEquals(targetBranch, Properties.getTargetGitBranch());
+ }
+
+ @Test
+ public void getPublishJunitTests() {
+ Assert.assertFalse(Properties.getPublishJunitTests());
+ System.setProperty("publish.junit", "true");
+ Assert.assertTrue(Properties.getPublishJunitTests());
+ }
+}
\ No newline at end of file
diff --git a/buildSrc/src/test/groovy/net/corda/testing/TestDurationArtifactsTest.java b/buildSrc/src/test/groovy/net/corda/testing/TestDurationArtifactsTest.java
new file mode 100644
index 0000000000..c2a079771d
--- /dev/null
+++ b/buildSrc/src/test/groovy/net/corda/testing/TestDurationArtifactsTest.java
@@ -0,0 +1,323 @@
+package net.corda.testing;
+
+import groovy.lang.Tuple2;
+import org.apache.commons.compress.archivers.ArchiveException;
+import org.apache.commons.compress.archivers.ArchiveOutputStream;
+import org.apache.commons.compress.archivers.ArchiveStreamFactory;
+import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
+import org.jetbrains.annotations.NotNull;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+public class TestDurationArtifactsTest {
+ final static String CLASSNAME = "FAKE";
+
+ String getXml(List> tests) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("\n" +
+ "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n");
+
+ for (Tuple2 test : tests) {
+ Double d = ((double) test.getSecond()) / 1_000_000_000.0;
+ sb.append(" \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n");
+ }
+
+ sb.append(" \n" +
+ " \n" +
+ " \n" +
+ "");
+ return sb.toString();
+ }
+
+ String getXmlWithNoTime(List> tests) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("\n" +
+ "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n");
+
+ for (Tuple2 test : tests) {
+ Double d = ((double) test.getSecond()) / 1_000_000_000.0;
+ sb.append(" \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n");
+ }
+
+ sb.append(" \n" +
+ " \n" +
+ " \n" +
+ "");
+ return sb.toString();
+ }
+
+ @Test
+ public void fromJunitXml() {
+ List> tests = new ArrayList<>();
+ tests.add(new Tuple2<>("TEST-A", 111_000_000_000L));
+ tests.add(new Tuple2<>("TEST-B", 222_200_000_000L));
+ final String xml = getXml(tests);
+
+ List> results
+ = TestDurationArtifacts.fromJunitXml(new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8)));
+
+ Assert.assertNotNull(results);
+
+ Assert.assertFalse("Should have results", results.isEmpty());
+ Assert.assertEquals(results.size(), 2);
+ Assert.assertEquals(CLASSNAME + "." + "TEST-A", results.get(0).getFirst());
+ Assert.assertEquals(111_000_000_000L, results.get(0).getSecond().longValue());
+ Assert.assertEquals(CLASSNAME + "." + "TEST-B", results.get(1).getFirst());
+ Assert.assertEquals(222_200_000_000L, results.get(1).getSecond().longValue());
+ }
+
+ @Test
+ public void fromJunitXmlWithZeroDuration() {
+ // We do return zero values.
+ List> tests = new ArrayList<>();
+ tests.add(new Tuple2<>("TEST-A", 0L));
+ tests.add(new Tuple2<>("TEST-B", 0L));
+ final String xml = getXml(tests);
+
+ List> results
+ = TestDurationArtifacts.fromJunitXml(new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8)));
+
+ Assert.assertNotNull(results);
+
+ Assert.assertFalse("Should have results", results.isEmpty());
+ Assert.assertEquals(results.size(), 2);
+ Assert.assertEquals(CLASSNAME + "." + "TEST-A", results.get(0).getFirst());
+ Assert.assertEquals(0L, results.get(0).getSecond().longValue());
+ Assert.assertEquals(CLASSNAME + "." + "TEST-B", results.get(1).getFirst());
+ Assert.assertEquals(0L, results.get(1).getSecond().longValue());
+ }
+
+ @Test
+ public void fromJunitXmlWithNoDuration() {
+ // We do return zero values.
+ List> tests = new ArrayList<>();
+ tests.add(new Tuple2<>("TEST-A", 0L));
+ tests.add(new Tuple2<>("TEST-B", 0L));
+ final String xml = getXmlWithNoTime(tests);
+
+ List> results
+ = TestDurationArtifacts.fromJunitXml(new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8)));
+
+ Assert.assertNotNull(results);
+
+ Assert.assertFalse("Should have results", results.isEmpty());
+ Assert.assertEquals(2, results.size());
+ Assert.assertEquals(CLASSNAME + "." + "TEST-A", results.get(0).getFirst());
+ Assert.assertEquals(0L, results.get(0).getSecond().longValue());
+ Assert.assertEquals(CLASSNAME + "." + "TEST-B", results.get(1).getFirst());
+ Assert.assertEquals(0L, results.get(1).getSecond().longValue());
+ }
+
+ @Test
+ public void canCreateZipFile() throws IOException {
+ Tests outputTests = new Tests();
+ final String testA = "com.corda.testA";
+ final String testB = "com.corda.testB";
+ outputTests.addDuration(testA, 55L);
+ outputTests.addDuration(testB, 33L);
+
+ StringWriter writer = new StringWriter();
+ outputTests.write(writer);
+ String csv = writer.toString();
+
+ ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
+ try (ZipOutputStream outputStream = new ZipOutputStream(byteStream, StandardCharsets.UTF_8)) {
+ ZipEntry entry = new ZipEntry("tests.csv");
+ outputStream.putNextEntry(entry);
+ outputStream.write(csv.getBytes(StandardCharsets.UTF_8));
+ outputStream.closeEntry();
+ }
+ Assert.assertNotEquals(0, byteStream.toByteArray().length);
+
+ ByteArrayInputStream inputStream = new ByteArrayInputStream(byteStream.toByteArray());
+ Tests tests = new Tests();
+ Assert.assertTrue(tests.isEmpty());
+
+ TestDurationArtifacts.addTestsFromZippedCsv(tests, inputStream);
+
+ Assert.assertFalse(tests.isEmpty());
+ Assert.assertEquals(2, tests.size());
+ Assert.assertEquals(55L, tests.getDuration(testA));
+ Assert.assertEquals(33L, tests.getDuration(testB));
+
+ Assert.assertEquals(44L, tests.getMeanDurationForTests());
+ }
+
+ void putIntoArchive(@NotNull final ArchiveOutputStream outputStream,
+ @NotNull final String fileName,
+ @NotNull final String content) throws IOException {
+ ZipArchiveEntry entry = new ZipArchiveEntry(fileName);
+ outputStream.putArchiveEntry(entry);
+ outputStream.write(content.getBytes(StandardCharsets.UTF_8));
+ outputStream.closeArchiveEntry();
+ }
+
+ String write(@NotNull final Tests tests) {
+
+ StringWriter writer = new StringWriter();
+ tests.write(writer);
+ return writer.toString();
+ }
+
+ @Test
+ public void canCreateZipFileContainingMultipleFiles() throws IOException, ArchiveException {
+ // Currently we don't have two csvs in the zip file, but test anyway.
+
+ Tests outputTests = new Tests();
+ final String testA = "com.corda.testA";
+ final String testB = "com.corda.testB";
+ final String testC = "com.corda.testC";
+ outputTests.addDuration(testA, 55L);
+ outputTests.addDuration(testB, 33L);
+
+ String csv = write(outputTests);
+
+ Tests otherTests = new Tests();
+ otherTests.addDuration(testA, 55L);
+ otherTests.addDuration(testB, 33L);
+ otherTests.addDuration(testC, 22L);
+ String otherCsv = write(otherTests);
+
+ ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
+ try (ArchiveOutputStream outputStream =
+ new ArchiveStreamFactory("UTF-8").createArchiveOutputStream(ArchiveStreamFactory.ZIP, byteStream)) {
+ putIntoArchive(outputStream, "tests1.csv", csv);
+ putIntoArchive(outputStream, "tests2.csv", otherCsv);
+ outputStream.flush();
+ }
+
+ Assert.assertNotEquals(0, byteStream.toByteArray().length);
+ ByteArrayInputStream inputStream = new ByteArrayInputStream(byteStream.toByteArray());
+
+ Tests tests = new Tests();
+ Assert.assertTrue(tests.isEmpty());
+
+ TestDurationArtifacts.addTestsFromZippedCsv(tests, inputStream);
+
+ Assert.assertFalse(tests.isEmpty());
+ Assert.assertEquals(3, tests.size());
+ Assert.assertEquals((55 + 33 + 22) / 3, tests.getMeanDurationForTests());
+ }
+
+// // Uncomment to test a file.
+// // Run a build to generate some test files, create a zip:
+// // zip ~/tests.zip $(find . -name "*.xml" -type f | grep test-results)
+//// @Test
+//// public void testZipFile() throws FileNotFoundException {
+//// File f = new File(System.getProperty("tests.zip", "/tests.zip");
+//// List> results = BucketingAllocatorTask.fromZippedXml(new BufferedInputStream(new FileInputStream(f)));
+//// Assert.assertFalse("Should have results", results.isEmpty());
+//// System.out.println("Results = " + results.size());
+//// System.out.println(results.toString());
+//// }
+
+
+ @Test
+ public void branchNamesDoNotHaveDirectoryDelimiters() {
+ // we use the branch name in file and artifact tagging, so '/' would confuse things,
+ // so make sure when we retrieve the property we strip them out.
+
+ final String expected = "release/os/4.3";
+ final String key = "git.branch";
+ final String cordaType = "corda";
+ Properties.setRootProjectType(cordaType);
+ System.setProperty(key, expected);
+
+ Assert.assertEquals(expected, System.getProperty(key));
+ Assert.assertNotEquals(expected, Properties.getGitBranch());
+ Assert.assertEquals("release-os-4.3", Properties.getGitBranch());
+ }
+
+ @Test
+ public void getTestsFromArtifactory() {
+ String artifactory_password = System.getenv("ARTIFACTORY_PASSWORD");
+ String artifactory_username = System.getenv("ARTIFACTORY_USERNAME");
+ String git_branch = System.getenv("CORDA_GIT_BRANCH");
+ String git_target_branch = System.getenv("CORDA_GIT_TARGET_BRANCH");
+
+ if (artifactory_password == null ||
+ artifactory_username == null ||
+ git_branch == null ||
+ git_target_branch == null
+ ) {
+ System.out.println("Skipping test - set env vars to run this test");
+ return;
+ }
+
+ System.setProperty("git.branch", git_branch);
+ System.setProperty("git.target.branch", git_target_branch);
+ System.setProperty("artifactory.password", artifactory_password);
+ System.setProperty("artifactory.username", artifactory_username);
+ Assert.assertTrue(TestDurationArtifacts.tests.isEmpty());
+ TestDurationArtifacts.loadTests();
+ Assert.assertFalse(TestDurationArtifacts.tests.isEmpty());
+ }
+
+ @Test
+ public void tryAndWalkForTestXmlFiles() {
+ final String xmlRoot = System.getenv("JUNIT_XML_ROOT");
+ if (xmlRoot == null) {
+ System.out.println("Set JUNIT_XML_ROOT to run this test");
+ return;
+ }
+
+ List testXmlFiles = TestDurationArtifacts.getTestXmlFiles(Paths.get(xmlRoot));
+ Assert.assertFalse(testXmlFiles.isEmpty());
+
+ for (Path testXmlFile : testXmlFiles.stream().sorted().collect(Collectors.toList())) {
+ // System.out.println(testXmlFile.toString());
+ }
+
+ System.out.println("\n\nTESTS\n\n");
+ for (Path testResult : testXmlFiles) {
+ try {
+ final List> unitTests = TestDurationArtifacts.fromJunitXml(new FileInputStream(testResult.toFile()));
+ for (Tuple2 unitTest : unitTests) {
+ System.out.println(unitTest.getFirst() + " --> " + BucketingAllocator.getDuration(unitTest.getSecond()));
+ }
+
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+}
diff --git a/buildSrc/src/test/groovy/net/corda/testing/TestsTest.java b/buildSrc/src/test/groovy/net/corda/testing/TestsTest.java
new file mode 100644
index 0000000000..9fdce14292
--- /dev/null
+++ b/buildSrc/src/test/groovy/net/corda/testing/TestsTest.java
@@ -0,0 +1,145 @@
+package net.corda.testing;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.StringReader;
+import java.io.StringWriter;
+
+public class TestsTest {
+ @Test
+ public void read() {
+ final Tests tests = new Tests();
+ Assert.assertTrue(tests.isEmpty());
+
+ final String s = Tests.TEST_NAME + "," + Tests.MEAN_DURATION_NANOS + "," + Tests.NUMBER_OF_RUNS + '\n'
+ + "hello,100,4\n";
+ tests.addTests(Tests.read(new StringReader(s)));
+
+ Assert.assertFalse(tests.isEmpty());
+ Assert.assertEquals((long) tests.getDuration("hello"), 100);
+ }
+
+ @Test
+ public void write() {
+ final StringWriter writer = new StringWriter();
+ final Tests tests = new Tests();
+ Assert.assertTrue(tests.isEmpty());
+ tests.addDuration("hello", 100);
+ tests.write(writer);
+ Assert.assertFalse(tests.isEmpty());
+
+ final StringReader reader = new StringReader(writer.toString());
+ final Tests otherTests = new Tests();
+ otherTests.addTests(Tests.read(reader));
+
+ Assert.assertFalse(tests.isEmpty());
+ Assert.assertFalse(otherTests.isEmpty());
+ Assert.assertEquals(tests.size(), otherTests.size());
+ Assert.assertEquals(tests.getDuration("hello"), otherTests.getDuration("hello"));
+ }
+
+ @Test
+ public void addingTestChangesMeanDuration() {
+ final Tests tests = new Tests();
+ final String s = Tests.TEST_NAME + "," + Tests.MEAN_DURATION_NANOS + "," + Tests.NUMBER_OF_RUNS + '\n'
+ + "hello,100,4\n";
+ tests.addTests(Tests.read(new StringReader(s)));
+
+ Assert.assertFalse(tests.isEmpty());
+ // 400 total for 4 tests
+ Assert.assertEquals((long) tests.getDuration("hello"), 100);
+
+ // 1000 total for 5 tests = 200 mean
+ tests.addDuration("hello", 600);
+ Assert.assertEquals((long) tests.getDuration("hello"), 200);
+ }
+
+ @Test
+ public void addTests() {
+ final Tests tests = new Tests();
+ Assert.assertTrue(tests.isEmpty());
+
+ final String s = Tests.TEST_NAME + "," + Tests.MEAN_DURATION_NANOS + "," + Tests.NUMBER_OF_RUNS + '\n'
+ + "hello,100,4\n"
+ + "goodbye,200,4\n";
+
+ tests.addTests(Tests.read(new StringReader(s)));
+ Assert.assertFalse(tests.isEmpty());
+ Assert.assertEquals(tests.size(), 2);
+ }
+
+ @Test
+ public void getDuration() {
+ final Tests tests = new Tests();
+ Assert.assertTrue(tests.isEmpty());
+
+ final String s = Tests.TEST_NAME + "," + Tests.MEAN_DURATION_NANOS + "," + Tests.NUMBER_OF_RUNS + '\n'
+ + "hello,100,4\n"
+ + "goodbye,200,4\n";
+
+ tests.addTests(Tests.read(new StringReader(s)));
+ Assert.assertFalse(tests.isEmpty());
+ Assert.assertEquals(tests.size(), 2);
+
+ Assert.assertEquals(100L, tests.getDuration("hello"));
+ Assert.assertEquals(200L, tests.getDuration("goodbye"));
+ }
+
+ @Test
+ public void addTestInfo() {
+ final Tests tests = new Tests();
+ Assert.assertTrue(tests.isEmpty());
+
+ final String s = Tests.TEST_NAME + "," + Tests.MEAN_DURATION_NANOS + "," + Tests.NUMBER_OF_RUNS + '\n'
+ + "hello,100,4\n"
+ + "goodbye,200,4\n";
+
+ tests.addTests(Tests.read(new StringReader(s)));
+ Assert.assertFalse(tests.isEmpty());
+ Assert.assertEquals(2, tests.size());
+
+ tests.addDuration("foo", 55);
+ tests.addDuration("bar", 33);
+ Assert.assertEquals(4, tests.size());
+
+ tests.addDuration("bar", 56);
+ Assert.assertEquals(4, tests.size());
+ }
+
+ @Test
+ public void addingNewDurationUpdatesRunCount() {
+
+ final Tests tests = new Tests();
+ Assert.assertTrue(tests.isEmpty());
+
+ final String s = Tests.TEST_NAME + "," + Tests.MEAN_DURATION_NANOS + "," + Tests.NUMBER_OF_RUNS + '\n'
+ + "hello,100,4\n"
+ + "goodbye,200,4\n";
+
+ tests.addTests(Tests.read(new StringReader(s)));
+ Assert.assertFalse(tests.isEmpty());
+ Assert.assertEquals(2, tests.size());
+
+ tests.addDuration("foo", 55);
+
+ Assert.assertEquals(0, tests.getRunCount("bar"));
+
+ tests.addDuration("bar", 33);
+ Assert.assertEquals(4, tests.size());
+
+ tests.addDuration("bar", 56);
+ Assert.assertEquals(2, tests.getRunCount("bar"));
+ Assert.assertEquals(4, tests.size());
+
+ tests.addDuration("bar", 56);
+ tests.addDuration("bar", 56);
+ Assert.assertEquals(4, tests.getRunCount("bar"));
+
+ Assert.assertEquals(4, tests.getRunCount("hello"));
+ tests.addDuration("hello", 22);
+ tests.addDuration("hello", 22);
+ tests.addDuration("hello", 22);
+ Assert.assertEquals(7, tests.getRunCount("hello"));
+ }
+}
\ No newline at end of file
diff --git a/buildSrc/src/test/java/net/corda/testing/BucketingAllocatorTest.java b/buildSrc/src/test/java/net/corda/testing/BucketingAllocatorTest.java
index 1b13eb086b..a42d023a15 100644
--- a/buildSrc/src/test/java/net/corda/testing/BucketingAllocatorTest.java
+++ b/buildSrc/src/test/java/net/corda/testing/BucketingAllocatorTest.java
@@ -2,12 +2,13 @@ package net.corda.testing;
import org.hamcrest.collection.IsIterableContainingInAnyOrder;
import org.junit.Assert;
+import org.junit.Ignore;
import org.junit.Test;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -17,8 +18,8 @@ public class BucketingAllocatorTest {
@Test
public void shouldAlwaysBucketTestsEvenIfNotInTimedFile() {
-
- BucketingAllocator bucketingAllocator = new BucketingAllocator(1, Collections::emptyList);
+ Tests tests = new Tests();
+ BucketingAllocator bucketingAllocator = new BucketingAllocator(1, () -> tests);
Object task = new Object();
bucketingAllocator.addSource(() -> Arrays.asList("SomeTestingClass", "AnotherTestingClass"), task);
@@ -28,13 +29,41 @@ public class BucketingAllocatorTest {
Assert.assertThat(testsForForkAndTestTask, IsIterableContainingInAnyOrder.containsInAnyOrder("SomeTestingClass", "AnotherTestingClass"));
+ List forkContainers = bucketingAllocator.getForkContainers();
+ Assert.assertEquals(1, forkContainers.size());
+ // There aren't any known tests, so it will use the default instead.
+ Assert.assertEquals(Tests.DEFAULT_MEAN_NANOS, tests.getMeanDurationForTests());
+ Assert.assertEquals(2 * tests.getMeanDurationForTests(), forkContainers.get(0).getCurrentDuration().longValue());
}
+ @Test
+ public void shouldAlwaysBucketTestsEvenIfNotInTimedFileAndUseMeanValue() {
+ final Tests tests = new Tests();
+ tests.addDuration("someRandomTestNameToForceMeanValue", 1_000_000_000);
+
+ BucketingAllocator bucketingAllocator = new BucketingAllocator(1, () -> tests);
+
+ Object task = new Object();
+ List testNames = Arrays.asList("SomeTestingClass", "AnotherTestingClass");
+
+ bucketingAllocator.addSource(() -> testNames, task);
+
+ bucketingAllocator.generateTestPlan();
+ List testsForForkAndTestTask = bucketingAllocator.getTestsForForkAndTestTask(0, task);
+
+ Assert.assertThat(testsForForkAndTestTask, IsIterableContainingInAnyOrder.containsInAnyOrder(testNames.toArray()));
+
+ List forkContainers = bucketingAllocator.getForkContainers();
+ Assert.assertEquals(1, forkContainers.size());
+ Assert.assertEquals(testNames.size() * tests.getMeanDurationForTests(), forkContainers.get(0).getCurrentDuration().longValue());
+ }
@Test
public void shouldAllocateTestsAcrossForksEvenIfNoMatchingTestsFound() {
-
- BucketingAllocator bucketingAllocator = new BucketingAllocator(2, Collections::emptyList);
+ Tests tests = new Tests();
+ tests.addDuration("SomeTestingClass", 1_000_000_000);
+ tests.addDuration("AnotherTestingClass", 2222);
+ BucketingAllocator bucketingAllocator = new BucketingAllocator(2, () -> tests);
Object task = new Object();
bucketingAllocator.addSource(() -> Arrays.asList("SomeTestingClass", "AnotherTestingClass"), task);
@@ -49,6 +78,101 @@ public class BucketingAllocatorTest {
List allTests = Stream.of(testsForForkOneAndTestTask, testsForForkTwoAndTestTask).flatMap(Collection::stream).collect(Collectors.toList());
Assert.assertThat(allTests, IsIterableContainingInAnyOrder.containsInAnyOrder("SomeTestingClass", "AnotherTestingClass"));
+ }
+ @Test
+ public void shouldAllocateTestsAcrossForksEvenIfNoMatchingTestsFoundAndUseExisitingValues() {
+ Tests tests = new Tests();
+ tests.addDuration("SomeTestingClass", 1_000_000_000L);
+ tests.addDuration("AnotherTestingClass", 3_000_000_000L);
+ BucketingAllocator bucketingAllocator = new BucketingAllocator(2, () -> tests);
+
+ Object task = new Object();
+ bucketingAllocator.addSource(() -> Arrays.asList("YetAnotherTestingClass", "SomeTestingClass", "AnotherTestingClass"), task);
+
+ bucketingAllocator.generateTestPlan();
+ List testsForForkOneAndTestTask = bucketingAllocator.getTestsForForkAndTestTask(0, task);
+ List testsForForkTwoAndTestTask = bucketingAllocator.getTestsForForkAndTestTask(1, task);
+
+ Assert.assertThat(testsForForkOneAndTestTask.size(), is(1));
+ Assert.assertThat(testsForForkTwoAndTestTask.size(), is(2));
+
+ List allTests = Stream.of(testsForForkOneAndTestTask, testsForForkTwoAndTestTask).flatMap(Collection::stream).collect(Collectors.toList());
+
+ Assert.assertThat(allTests, IsIterableContainingInAnyOrder.containsInAnyOrder("YetAnotherTestingClass", "SomeTestingClass", "AnotherTestingClass"));
+
+ List forkContainers = bucketingAllocator.getForkContainers();
+ Assert.assertEquals(2, forkContainers.size());
+ // Internally, we should have sorted the tests by decreasing size, so the largest would be added to the first bucket.
+ Assert.assertEquals(TimeUnit.SECONDS.toNanos(3), forkContainers.get(0).getCurrentDuration().longValue());
+
+ // At this point, the second bucket is empty. We also know that the test average is 2s (1+3)/2.
+ // So we should put SomeTestingClass (1s) into this bucket, AND then put the 'unknown' test 'YetAnotherTestingClass'
+ // into this bucket, using the mean duration = 2s, resulting in 3s.
+ Assert.assertEquals(TimeUnit.SECONDS.toNanos(3), forkContainers.get(1).getCurrentDuration().longValue());
+ }
+
+ @Test
+ public void testBucketAllocationForSeveralTestsDistributedByClassName() {
+ Tests tests = new Tests();
+ tests.addDuration("SmallTestingClass", 1_000_000_000L);
+ tests.addDuration("LargeTestingClass", 3_000_000_000L);
+ tests.addDuration("MediumTestingClass", 2_000_000_000L);
+ // Gives a nice mean of 2s.
+ Assert.assertEquals(TimeUnit.SECONDS.toNanos(2), tests.getMeanDurationForTests());
+
+ BucketingAllocator bucketingAllocator = new BucketingAllocator(4, () -> tests);
+
+ List testNames = Arrays.asList(
+ "EvenMoreTestingClass",
+ "YetAnotherTestingClass",
+ "AndYetAnotherTestingClass",
+ "OhYesAnotherTestingClass",
+ "MediumTestingClass",
+ "SmallTestingClass",
+ "LargeTestingClass");
+
+ Object task = new Object();
+ bucketingAllocator.addSource(() -> testNames, task);
+
+ // does not preserve order of known tests and unknown tests....
+ bucketingAllocator.generateTestPlan();
+
+ List testsForFork0 = bucketingAllocator.getTestsForForkAndTestTask(0, task);
+ List testsForFork1 = bucketingAllocator.getTestsForForkAndTestTask(1, task);
+ List testsForFork2 = bucketingAllocator.getTestsForForkAndTestTask(2, task);
+ List testsForFork3 = bucketingAllocator.getTestsForForkAndTestTask(3, task);
+
+ Assert.assertThat(testsForFork0.size(), is(1));
+ Assert.assertThat(testsForFork1.size(), is(2));
+ Assert.assertThat(testsForFork2.size(), is(2));
+ Assert.assertThat(testsForFork3.size(), is(2));
+
+ // This must be true as it is the largest value.
+ Assert.assertTrue(testsForFork0.contains("LargeTestingClass"));
+
+ List allTests = Stream.of(testsForFork0, testsForFork1, testsForFork2, testsForFork3)
+ .flatMap(Collection::stream).collect(Collectors.toList());
+
+ Assert.assertThat(allTests, IsIterableContainingInAnyOrder.containsInAnyOrder(testNames.toArray()));
+
+ List forkContainers = bucketingAllocator.getForkContainers();
+ Assert.assertEquals(4, forkContainers.size());
+
+ long totalDuration = forkContainers.stream().mapToLong(c -> c.getCurrentDuration()).sum();
+ Assert.assertEquals(tests.getMeanDurationForTests() * testNames.size(), totalDuration);
+
+ Assert.assertEquals(TimeUnit.SECONDS.toNanos(3), forkContainers.get(0).getCurrentDuration().longValue());
+ Assert.assertEquals(TimeUnit.SECONDS.toNanos(4), forkContainers.get(1).getCurrentDuration().longValue());
+ Assert.assertEquals(TimeUnit.SECONDS.toNanos(4), forkContainers.get(2).getCurrentDuration().longValue());
+ Assert.assertEquals(TimeUnit.SECONDS.toNanos(3), forkContainers.get(3).getCurrentDuration().longValue());
+ }
+
+ @Test
+ public void durationToString() {
+ Assert.assertEquals("1 mins", BucketingAllocator.getDuration(60_000_000_000L));
+ Assert.assertEquals("4 secs", BucketingAllocator.getDuration(4_000_000_000L));
+ Assert.assertEquals("400 ms", BucketingAllocator.getDuration(400_000_000L));
+ Assert.assertEquals("400000 ns", BucketingAllocator.getDuration(400_000L));
}
}
\ No newline at end of file
diff --git a/detekt-baseline.xml b/detekt-baseline.xml
index a56ec8fab2..e5317b50bd 100644
--- a/detekt-baseline.xml
+++ b/detekt-baseline.xml
@@ -687,6 +687,8 @@
LongParameterList:Driver.kt$DriverParameters$( isDebug: Boolean, driverDirectory: Path, portAllocation: PortAllocation, debugPortAllocation: PortAllocation, systemProperties: Map<String, String>, useTestClock: Boolean, startNodesInProcess: Boolean, waitForAllNodesToFinish: Boolean, notarySpecs: List<NotarySpec>, extraCordappPackagesToScan: List<String>, jmxPolicy: JmxPolicy, networkParameters: NetworkParameters, cordappsForAllNodes: Set<TestCordapp>? )
LongParameterList:DriverDSL.kt$DriverDSL$( defaultParameters: NodeParameters = NodeParameters(), providedName: CordaX500Name? = defaultParameters.providedName, rpcUsers: List<User> = defaultParameters.rpcUsers, verifierType: VerifierType = defaultParameters.verifierType, customOverrides: Map<String, Any?> = defaultParameters.customOverrides, startInSameProcess: Boolean? = defaultParameters.startInSameProcess, maximumHeapSize: String = defaultParameters.maximumHeapSize )
LongParameterList:DriverDSL.kt$DriverDSL$( defaultParameters: NodeParameters = NodeParameters(), providedName: CordaX500Name? = defaultParameters.providedName, rpcUsers: List<User> = defaultParameters.rpcUsers, verifierType: VerifierType = defaultParameters.verifierType, customOverrides: Map<String, Any?> = defaultParameters.customOverrides, startInSameProcess: Boolean? = defaultParameters.startInSameProcess, maximumHeapSize: String = defaultParameters.maximumHeapSize, logLevelOverride: String? = defaultParameters.logLevelOverride )
+ LongParameterList:DriverDSLImpl.kt$( isDebug: Boolean = DriverParameters().isDebug, driverDirectory: Path = DriverParameters().driverDirectory, portAllocation: PortAllocation = DriverParameters().portAllocation, debugPortAllocation: PortAllocation = DriverParameters().debugPortAllocation, systemProperties: Map<String, String> = DriverParameters().systemProperties, useTestClock: Boolean = DriverParameters().useTestClock, startNodesInProcess: Boolean = DriverParameters().startNodesInProcess, extraCordappPackagesToScan: List<String> = @Suppress("DEPRECATION") DriverParameters().extraCordappPackagesToScan, waitForAllNodesToFinish: Boolean = DriverParameters().waitForAllNodesToFinish, notarySpecs: List<NotarySpec> = DriverParameters().notarySpecs, jmxPolicy: JmxPolicy = DriverParameters().jmxPolicy, networkParameters: NetworkParameters = DriverParameters().networkParameters, compatibilityZone: CompatibilityZoneParams? = null, notaryCustomOverrides: Map<String, Any?> = DriverParameters().notaryCustomOverrides, inMemoryDB: Boolean = DriverParameters().inMemoryDB, cordappsForAllNodes: Collection<TestCordappInternal>? = null, dsl: DriverDSLImpl.() -> A )
+ LongParameterList:DriverDSLImpl.kt$DriverDSLImpl.Companion$( config: NodeConfig, quasarJarPath: String, debugPort: Int?, overriddenSystemProperties: Map<String, String>, maximumHeapSize: String, logLevelOverride: String?, vararg extraCmdLineFlag: String )
LongParameterList:DummyFungibleContract.kt$DummyFungibleContract$(inputs: List<State>, outputs: List<State>, tx: LedgerTransaction, issueCommand: CommandWithParties<Commands.Issue>, currency: Currency, issuer: PartyAndReference)
LongParameterList:IRS.kt$FloatingRatePaymentEvent$(date: LocalDate = this.date, accrualStartDate: LocalDate = this.accrualStartDate, accrualEndDate: LocalDate = this.accrualEndDate, dayCountBasisDay: DayCountBasisDay = this.dayCountBasisDay, dayCountBasisYear: DayCountBasisYear = this.dayCountBasisYear, fixingDate: LocalDate = this.fixingDate, notional: Amount<Currency> = this.notional, rate: Rate = this.rate)
LongParameterList:IRS.kt$InterestRateSwap$(floatingLeg: FloatingLeg, fixedLeg: FixedLeg, calculation: Calculation, common: Common, oracle: Party, notary: Party)
@@ -723,6 +725,8 @@
LongParameterList:ParametersUtilities.kt$( notaries: List<NotaryInfo> = emptyList(), minimumPlatformVersion: Int = 1, modifiedTime: Instant = Instant.now(), maxMessageSize: Int = 10485760, // TODO: Make this configurable and consistence across driver, bootstrapper, demobench and NetworkMapServer maxTransactionSize: Int = maxMessageSize * 50, whitelistedContractImplementations: Map<String, List<AttachmentId>> = emptyMap(), epoch: Int = 1, eventHorizon: Duration = 30.days, packageOwnership: Map<String, PublicKey> = emptyMap() )
LongParameterList:PersistentUniquenessProvider.kt$PersistentUniquenessProvider$( states: List<StateRef>, txId: SecureHash, callerIdentity: Party, requestSignature: NotarisationRequestSignature, timeWindow: TimeWindow?, references: List<StateRef> )
LongParameterList:PhysicalLocationStructures.kt$WorldCoordinate$(screenWidth: Double, screenHeight: Double, topLatitude: Double, bottomLatitude: Double, leftLongitude: Double, rightLongitude: Double)
+ LongParameterList:ProcessUtilities.kt$ProcessUtilities$( arguments: List<String>, classPath: List<String> = defaultClassPath, workingDirectory: Path? = null, jdwpPort: Int? = null, extraJvmArguments: List<String> = emptyList(), maximumHeapSize: String? = null )
+ LongParameterList:ProcessUtilities.kt$ProcessUtilities$( className: String, arguments: List<String>, classPath: List<String> = defaultClassPath, workingDirectory: Path? = null, jdwpPort: Int? = null, extraJvmArguments: List<String> = emptyList(), maximumHeapSize: String? = null )
LongParameterList:QueryCriteria.kt$QueryCriteria.FungibleAssetQueryCriteria$( participants: List<AbstractParty>? = this.participants, owner: List<AbstractParty>? = this.owner, quantity: ColumnPredicate<Long>? = this.quantity, issuer: List<AbstractParty>? = this.issuer, issuerRef: List<OpaqueBytes>? = this.issuerRef, status: Vault.StateStatus = this.status, contractStateTypes: Set<Class<out ContractState>>? = this.contractStateTypes )
LongParameterList:QueryCriteria.kt$QueryCriteria.FungibleAssetQueryCriteria$( participants: List<AbstractParty>? = this.participants, owner: List<AbstractParty>? = this.owner, quantity: ColumnPredicate<Long>? = this.quantity, issuer: List<AbstractParty>? = this.issuer, issuerRef: List<OpaqueBytes>? = this.issuerRef, status: Vault.StateStatus = this.status, contractStateTypes: Set<Class<out ContractState>>? = this.contractStateTypes, relevancyStatus: Vault.RelevancyStatus = this.relevancyStatus )
LongParameterList:QueryCriteria.kt$QueryCriteria.LinearStateQueryCriteria$( participants: List<AbstractParty>? = this.participants, uuid: List<UUID>? = this.uuid, externalId: List<String>? = this.externalId, status: Vault.StateStatus = this.status, contractStateTypes: Set<Class<out ContractState>>? = this.contractStateTypes, relevancyStatus: Vault.RelevancyStatus = this.relevancyStatus )
@@ -730,6 +734,7 @@
LongParameterList:QueryCriteria.kt$QueryCriteria.VaultQueryCriteria$( status: Vault.StateStatus = Vault.StateStatus.UNCONSUMED, contractStateTypes: Set<Class<out ContractState>>? = null, stateRefs: List<StateRef>? = null, notary: List<AbstractParty>? = null, softLockingCondition: SoftLockingCondition? = null, timeCondition: TimeCondition? = null, relevancyStatus: Vault.RelevancyStatus = Vault.RelevancyStatus.ALL, constraintTypes: Set<Vault.ConstraintInfo.Type> = emptySet(), constraints: Set<Vault.ConstraintInfo> = emptySet(), participants: List<AbstractParty>? = null, externalIds: List<UUID> = emptyList() )
LongParameterList:QueryCriteria.kt$QueryCriteria.VaultQueryCriteria$( status: Vault.StateStatus = this.status, contractStateTypes: Set<Class<out ContractState>>? = this.contractStateTypes, stateRefs: List<StateRef>? = this.stateRefs, notary: List<AbstractParty>? = this.notary, softLockingCondition: SoftLockingCondition? = this.softLockingCondition, timeCondition: TimeCondition? = this.timeCondition )
LongParameterList:RPCClient.kt$RPCClient$( rpcOpsClass: Class<I>, username: String, password: String, externalTrace: Trace? = null, impersonatedActor: Actor? = null, targetLegalIdentity: CordaX500Name? = null )
+ LongParameterList:RPCDriver.kt$( isDebug: Boolean = false, driverDirectory: Path = Paths.get("build") / "rpc-driver" / getTimestampAsDirectoryName(), portAllocation: PortAllocation = globalPortAllocation, debugPortAllocation: PortAllocation = globalDebugPortAllocation, systemProperties: Map<String, String> = emptyMap(), useTestClock: Boolean = false, startNodesInProcess: Boolean = false, waitForNodesToFinish: Boolean = false, extraCordappPackagesToScan: List<String> = emptyList(), notarySpecs: List<NotarySpec> = emptyList(), externalTrace: Trace? = null, @Suppress("DEPRECATION") jmxPolicy: JmxPolicy = JmxPolicy(), networkParameters: NetworkParameters = testNetworkParameters(), notaryCustomOverrides: Map<String, Any?> = emptyMap(), inMemoryDB: Boolean = true, cordappsForAllNodes: Collection<TestCordappInternal>? = null, dsl: RPCDriverDSL.() -> A )
LongParameterList:RPCDriver.kt$RPCDriverDSL$( rpcUser: User = rpcTestUser, nodeLegalName: CordaX500Name = fakeNodeLegalName, configuration: RPCServerConfiguration = RPCServerConfiguration.DEFAULT, listOps: List<I>, brokerHandle: RpcBrokerHandle, queueDrainTimeout: Duration = 5.seconds )
LongParameterList:RPCDriver.kt$RPCDriverDSL$( rpcUser: User = rpcTestUser, nodeLegalName: CordaX500Name = fakeNodeLegalName, configuration: RPCServerConfiguration = RPCServerConfiguration.DEFAULT, ops: I, brokerHandle: RpcBrokerHandle, queueDrainTimeout: Duration = 5.seconds )
LongParameterList:RPCDriver.kt$RPCDriverDSL$( rpcUser: User = rpcTestUser, nodeLegalName: CordaX500Name = fakeNodeLegalName, maxFileSize: Int = MAX_MESSAGE_SIZE, maxBufferedBytesPerClient: Long = 10L * MAX_MESSAGE_SIZE, configuration: RPCServerConfiguration = RPCServerConfiguration.DEFAULT, ops: I, queueDrainTimeout: Duration = 5.seconds )
@@ -1744,6 +1749,7 @@
MaxLineLength:ConfigUtilities.kt$ // TODO Move this to KeyStoreConfigHelpers. fun NodeConfiguration.configureWithDevSSLCertificate(cryptoService: CryptoService? = null)
MaxLineLength:ConfigUtilities.kt$// Problems: // - Forces you to have a primary constructor with all fields of name and type matching the configuration file structure. // - Encourages weak bean-like types. // - Cannot support a many-to-one relationship between configuration file structures and configuration domain type. This is essential for versioning of the configuration files. // - It's complicated and based on reflection, meaning problems with it are typically found at runtime. // - It doesn't support validation errors in a structured way. If something goes wrong, it throws exceptions, which doesn't support good usability practices like displaying all the errors at once. fun <T : Any> Config.parseAs(clazz: KClass<T>, onUnknownKeys: ((Set<String>, logger: Logger) -> Unit) = UnknownConfigKeysPolicy.FAIL::handle, nestedPath: String? = null, baseDirectory: Path? = null): T
MaxLineLength:ConfigUtilities.kt$// TODO Move this to KeyStoreConfigHelpers. fun MutualSslConfiguration.configureDevKeyAndTrustStores(myLegalName: CordaX500Name, signingCertificateStore: FileBasedCertificateStoreSupplier, certificatesDirectory: Path, cryptoService: CryptoService? = null)
+ MaxLineLength:ConfigUtilities.kt$ConfigHelper$return ConfigFactory.parseMap(toProperties().filterKeys { (it as String).startsWith(CORDA_PROPERTY_PREFIX) }.mapKeys { (it.key as String).removePrefix(CORDA_PROPERTY_PREFIX) })
MaxLineLength:ConfigUtilities.kt$ConfigHelper$val smartDevMode = CordaSystemUtils.isOsMac() || (CordaSystemUtils.isOsWindows() && !CordaSystemUtils.getOsName().toLowerCase().contains("server"))
MaxLineLength:ConfigUtilities.kt$fun Any?.toConfigValue(): ConfigValue
MaxLineLength:ConfigUtilities.kt$inline fun <reified T : Any> Config.parseAs(noinline onUnknownKeys: ((Set<String>, logger: Logger) -> Unit) = UnknownConfigKeysPolicy.FAIL::handle): T
@@ -2056,8 +2062,9 @@
MaxLineLength:DriverDSLImpl.kt$DriverDSLImpl$private
MaxLineLength:DriverDSLImpl.kt$DriverDSLImpl$val flowOverrideConfig = FlowOverrideConfig(parameters.flowOverrides.map { FlowOverride(it.key.canonicalName, it.value.canonicalName) })
MaxLineLength:DriverDSLImpl.kt$DriverDSLImpl$val jdbcUrl = "jdbc:h2:mem:persistence${inMemoryCounter.getAndIncrement()};DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;WRITE_DELAY=100"
+ MaxLineLength:DriverDSLImpl.kt$DriverDSLImpl$val process = startOutOfProcessNode(config, quasarJarPath, debugPort, systemProperties, parameters.maximumHeapSize, parameters.logLevelOverride)
MaxLineLength:DriverDSLImpl.kt$DriverDSLImpl.Companion$private operator fun Config.plus(property: Pair<String, Any>)
- MaxLineLength:DriverDSLImpl.kt$DriverDSLImpl.Companion${ log.info("Starting out-of-process Node ${config.corda.myLegalName.organisation}, " + "debug port is " + (debugPort ?: "not enabled")) // Write node.conf writeConfig(config.corda.baseDirectory, "node.conf", config.typesafe.toNodeOnly()) val systemProperties = mutableMapOf( "name" to config.corda.myLegalName, "visualvm.display.name" to "corda-${config.corda.myLegalName}" ) debugPort?.let { systemProperties += "log4j2.level" to "debug" systemProperties += "log4j2.debug" to "true" } systemProperties += inheritFromParentProcess() systemProperties += overriddenSystemProperties // See experimental/quasar-hook/README.md for how to generate. val excludePattern = "x(antlr**;bftsmart**;ch**;co.paralleluniverse**;com.codahale**;com.esotericsoftware**;" + "com.fasterxml**;com.google**;com.ibm**;com.intellij**;com.jcabi**;com.nhaarman**;com.opengamma**;" + "com.typesafe**;com.zaxxer**;de.javakaffee**;groovy**;groovyjarjarantlr**;groovyjarjarasm**;io.atomix**;" + "io.github**;io.netty**;jdk**;joptsimple**;junit**;kotlin**;net.bytebuddy**;net.i2p**;org.apache**;" + "org.assertj**;org.bouncycastle**;org.codehaus**;org.crsh**;org.dom4j**;org.fusesource**;org.h2**;" + "org.hamcrest**;org.hibernate**;org.jboss**;org.jcp**;org.joda**;org.junit**;org.mockito**;org.objectweb**;" + "org.objenesis**;org.slf4j**;org.w3c**;org.xml**;org.yaml**;reflectasm**;rx**;org.jolokia**;" + "com.lmax**;picocli**;liquibase**;com.github.benmanes**;org.json**;org.postgresql**;nonapi.io.github.classgraph**;)" val extraJvmArguments = systemProperties.removeResolvedClasspath().map { "-D${it.key}=${it.value}" } + "-javaagent:$quasarJarPath=$excludePattern" val loggingLevel = when { logLevelOverride != null -> logLevelOverride debugPort == null -> "INFO" else -> "DEBUG" } val arguments = mutableListOf( "--base-directory=${config.corda.baseDirectory}", "--logging-level=$loggingLevel", "--no-local-shell").also { it.addAll(extraCmdLineFlag) }.toList() // The following dependencies are excluded from the classpath of the created JVM, so that the environment resembles a real one as close as possible. // These are either classes that will be added as attachments to the node (i.e. samples, finance, opengamma etc.) or irrelevant testing libraries (test, corda-mock etc.). // TODO: There is pending work to fix this issue without custom blacklisting. See: https://r3-cev.atlassian.net/browse/CORDA-2164. val exclude = listOf("samples", "finance", "integrationTest", "test", "corda-mock", "com.opengamma.strata") val cp = ProcessUtilities.defaultClassPath.filterNot { cpEntry -> exclude.any { token -> cpEntry.contains("${File.separatorChar}$token") } || cpEntry.endsWith("-tests.jar") } return ProcessUtilities.startJavaProcess( className = "net.corda.node.Corda", // cannot directly get class for this, so just use string arguments = arguments, jdwpPort = debugPort, extraJvmArguments = extraJvmArguments, workingDirectory = config.corda.baseDirectory, maximumHeapSize = maximumHeapSize, classPath = cp, environmentVariables = environmentVariables ) }
+ MaxLineLength:DriverDSLImpl.kt$DriverDSLImpl.Companion${ log.info("Starting out-of-process Node ${config.corda.myLegalName.organisation}, debug port is " + (debugPort ?: "not enabled")) // Write node.conf writeConfig(config.corda.baseDirectory, "node.conf", config.typesafe.toNodeOnly()) val systemProperties = mutableMapOf( "name" to config.corda.myLegalName, "visualvm.display.name" to "corda-${config.corda.myLegalName}" ) debugPort?.let { systemProperties += "log4j2.level" to "debug" systemProperties += "log4j2.debug" to "true" } systemProperties += inheritFromParentProcess() systemProperties += overriddenSystemProperties // See experimental/quasar-hook/README.md for how to generate. val excludePattern = "x(antlr**;bftsmart**;ch**;co.paralleluniverse**;com.codahale**;com.esotericsoftware**;" + "com.fasterxml**;com.google**;com.ibm**;com.intellij**;com.jcabi**;com.nhaarman**;com.opengamma**;" + "com.typesafe**;com.zaxxer**;de.javakaffee**;groovy**;groovyjarjarantlr**;groovyjarjarasm**;io.atomix**;" + "io.github**;io.netty**;jdk**;joptsimple**;junit**;kotlin**;net.bytebuddy**;net.i2p**;org.apache**;" + "org.assertj**;org.bouncycastle**;org.codehaus**;org.crsh**;org.dom4j**;org.fusesource**;org.h2**;" + "org.hamcrest**;org.hibernate**;org.jboss**;org.jcp**;org.joda**;org.junit**;org.mockito**;org.objectweb**;" + "org.objenesis**;org.slf4j**;org.w3c**;org.xml**;org.yaml**;reflectasm**;rx**;org.jolokia**;" + "com.lmax**;picocli**;liquibase**;com.github.benmanes**;org.json**;org.postgresql**;nonapi.io.github.classgraph**;)" val extraJvmArguments = systemProperties.removeResolvedClasspath().map { "-D${it.key}=${it.value}" } + "-javaagent:$quasarJarPath=$excludePattern" val loggingLevel = when { logLevelOverride != null -> logLevelOverride debugPort == null -> "INFO" else -> "DEBUG" } val arguments = mutableListOf( "--base-directory=${config.corda.baseDirectory}", "--logging-level=$loggingLevel", "--no-local-shell").also { it += extraCmdLineFlag }.toList() // The following dependencies are excluded from the classpath of the created JVM, so that the environment resembles a real one as close as possible. // These are either classes that will be added as attachments to the node (i.e. samples, finance, opengamma etc.) or irrelevant testing libraries (test, corda-mock etc.). // TODO: There is pending work to fix this issue without custom blacklisting. See: https://r3-cev.atlassian.net/browse/CORDA-2164. val exclude = listOf("samples", "finance", "integrationTest", "test", "corda-mock", "com.opengamma.strata") val cp = ProcessUtilities.defaultClassPath.filterNot { cpEntry -> exclude.any { token -> cpEntry.contains("${File.separatorChar}$token") } || cpEntry.endsWith("-tests.jar") } return ProcessUtilities.startJavaProcess( className = "net.corda.node.Corda", // cannot directly get class for this, so just use string arguments = arguments, jdwpPort = debugPort, extraJvmArguments = extraJvmArguments, workingDirectory = config.corda.baseDirectory, maximumHeapSize = maximumHeapSize, classPath = cp ) }
MaxLineLength:DriverDSLImpl.kt$InternalDriverDSL$ fun <A> pollUntilNonNull(pollName: String, pollInterval: Duration = DEFAULT_POLL_INTERVAL, warnCount: Int = DEFAULT_WARN_COUNT, check: () -> A?): CordaFuture<A>
MaxLineLength:DriverDSLImpl.kt$InternalDriverDSL$ fun pollUntilTrue(pollName: String, pollInterval: Duration = DEFAULT_POLL_INTERVAL, warnCount: Int = DEFAULT_WARN_COUNT, check: () -> Boolean): CordaFuture<Unit>
MaxLineLength:DriverDSLImpl.kt$fun DriverDSL.startNode(providedName: CordaX500Name, devMode: Boolean, parameters: NodeParameters = NodeParameters()): CordaFuture<NodeHandle>
@@ -3834,6 +3841,7 @@
SpreadOperator:DemoBench.kt$DemoBench.Companion$(DemoBench::class.java, *args)
SpreadOperator:DevCertificatesTest.kt$DevCertificatesTest$(*oldX509Certificates)
SpreadOperator:DockerInstantiator.kt$DockerInstantiator$(*it.toTypedArray())
+ SpreadOperator:DriverDSLImpl.kt$DriverDSLImpl$( config, quasarJarPath, debugPort, systemProperties, "512m", null, *extraCmdLineFlag )
SpreadOperator:DummyContract.kt$DummyContract.Companion$( /* INPUTS */ *priors.toTypedArray(), /* COMMAND */ Command(cmd, priorState.owner.owningKey), /* OUTPUT */ StateAndContract(state, PROGRAM_ID) )
SpreadOperator:DummyContract.kt$DummyContract.Companion$(*items)
SpreadOperator:DummyContractV2.kt$DummyContractV2.Companion$( /* INPUTS */ *priors.toTypedArray(), /* COMMAND */ Command(cmd, priorState.owners.map { it.owningKey }), /* OUTPUT */ StateAndContract(state, DummyContractV2.PROGRAM_ID) )
diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst
index bf789ee443..d9c1c16f93 100644
--- a/docs/source/changelog.rst
+++ b/docs/source/changelog.rst
@@ -88,9 +88,6 @@ Unreleased
Note that it's a responsibility of a client application to handle RPC reconnection in case this happens.
See :ref:`setting_jvm_args` and :ref:`memory_usage_and_tuning` for further details.
-* Environment variables and system properties can now be provided with underscore separators instead of dots. Neither are case sensitive.
- See :ref:`overriding config values ` for more information.
-
.. _changelog_v4.1:
Version 4.1
diff --git a/docs/source/corda-configuration-file.rst b/docs/source/corda-configuration-file.rst
index e44b92b10c..6cbbc141d9 100644
--- a/docs/source/corda-configuration-file.rst
+++ b/docs/source/corda-configuration-file.rst
@@ -39,8 +39,6 @@ To alter this behaviour, the ``on-unknown-config-keys`` command-line argument ca
Overriding values from node.conf
--------------------------------
-.. _corda_configuration_file_overriding_config:
-
Environment variables
For example: ``${NODE_TRUST_STORE_PASSWORD}`` would be replaced by the contents of environment variable ``NODE_TRUST_STORE_PASSWORD`` (see: :ref:`hiding-sensitive-data` section).
@@ -56,11 +54,6 @@ JVM options
.. note:: If the same field is overriden by both an environment variable and system property, the system property
takes precedence.
-.. note:: Underscores can be used in instead of dots. For example overriding the ``p2pAddress`` with an environment variable can be done
- by specifying ``CORDA_P2PADDRESS=host:port``. Variables and properties are not case sensitive. Corda will warn you if a variable
- prefixed with ``CORDA`` cannot be mapped to a valid property. Shadowing occurs when two properties
- of the same type with the same key are defined. For example having ``CORDA_P2PADDRESS=host:port`` and ``corda_p2paddress=host1:port1``
- will raise an exception on startup. This is to prevent hard to spot mistakes.
Configuration file fields
-------------------------
diff --git a/docs/source/cordapp-constraint-migration.rst b/docs/source/cordapp-constraint-migration.rst
index 25761ff1da..5810cd0e93 100644
--- a/docs/source/cordapp-constraint-migration.rst
+++ b/docs/source/cordapp-constraint-migration.rst
@@ -63,10 +63,10 @@ Hash constraints migration
.. note:: These instructions only apply to CorDapp Contract JARs (unless otherwise stated).
-Corda 4.0
+Corda |corda_version|
~~~~~~~~~
-Corda 4.0 requires some additional steps to consume and evolve pre-existing on-ledger **hash** constrained states:
+Corda |corda_version| requires some additional steps to consume and evolve pre-existing on-ledger **hash** constrained states:
1. All Corda Nodes in the same CZ or business network that may encounter a transaction chain with a hash constrained state must be started using
relaxed hash constraint checking mode as described in :ref:`relax_hash_constraints_checking_ref`.
@@ -106,13 +106,6 @@ Corda 4.0 requires some additional steps to consume and evolve pre-existing on-l
Please also ensure that the original unsigned contracts CorDapp is removed from the ``/cordapps`` folder (this will already be present in the
nodes attachments store) to ensure the lookup code in step 2 retrieves the correct signed contract CorDapp JAR.
-Later releases
-~~~~~~~~~~~~~~
-
-The next version of Corda will provide automatic transition of *hash constrained* states. This means that signed CorDapps running on a Corda 4.x node will
-automatically propagate any pre-existing on-ledger *hash-constrained* states (and generate *signature-constrained* outputs) when the system property
-to break constraints is set.
-
.. _cz_whitelisted_constraint_migration:
CZ whitelisted constraints migration
@@ -120,17 +113,31 @@ CZ whitelisted constraints migration
.. note:: These instructions only apply to CorDapp Contract JARs (unless otherwise stated).
-Corda 4.0
+Corda |corda_version|
~~~~~~~~~
-Corda 4.0 requires some additional steps to consume and evolve pre-existing on-ledger **CZ whitelisted** constrained states:
+Corda |corda_version| requires some additional steps to consume and evolve pre-existing on-ledger **CZ whitelisted** constrained states:
1. As the original developer of the CorDapp, the first step is to sign the latest version of the JAR that was released (see :doc:`cordapp-build-systems`).
The key used for signing will be used to sign all subsequent releases, so it should be stored appropriately. The JAR can be signed by multiple keys owned
by different parties and it will be expressed as a ``CompositeKey`` in the ``SignatureAttachmentConstraint`` (See :doc:`api-core-types`).
-2. Any flow that builds transactions using this CorDapp will automatically transition states to use the ``SignatureAttachmentConstraint`` if
- no other constraint is specified. Therefore, there are two ways to alter the existing code.
+2. The new Corda 4 signed CorDapp JAR must be registered with the CZ network operator (as whitelisted in the network parameters which are distributed
+ to all nodes in that CZ). The CZ network operator should check that the JAR is signed and not allow any more versions of it to be whitelisted in the future.
+ From now on the development organisation that signed the JAR is responsible for signing new versions.
+
+ The process of CZ network CorDapp whitelisting depends on how the Corda network is configured:
+
+ - if using a hosted CZ network (such as `The Corda Network `_ or
+ `UAT Environment `_ ) running an Identity Operator (formerly known as Doorman) and
+ Network Map Service, you should manually send the hashes of the two JARs to the CZ network operator and request these be added using
+ their network parameter update process.
+
+ - if using a local network created using the Network Bootstrapper tool, please follow the instructions in
+ :ref:`Updating the contract whitelist for bootstrapped networks ` to can add both CorDapp Contract JAR hashes.
+
+3. Any flow that builds transactions using this CorDapp will automatically transition states to use the ``SignatureAttachmentConstraint`` if
+ no other constraint is specified and the CorDapp continues to be whitelisted. Therefore, there are two ways to alter the existing code.
* Do not specify a constraint
* Explicitly add a Signature Constraint
@@ -165,6 +172,6 @@ The code below details how to explicitly add a Signature Constraint:
// Set the Signature constraint on the new state to migrate away from the WhitelistConstraint.
.addOutputState(outputState, myContract, new SignatureAttachmentConstraint(ownersKey))
-3. As a node operator you need to add the new signed version of the contracts CorDapp to the ``/cordapps`` folder together with the latest version of the flows jar.
+4. As a node operator you need to add the new signed version of the contracts CorDapp to the ``/cordapps`` folder together with the latest version of the flows jar.
Please also ensure that the original unsigned contracts CorDapp is removed from the ``/cordapps`` folder (this will already be present in the
- nodes attachments store) to ensure the lookup code in step 3 retrieves the correct signed contract CorDapp JAR.
+ nodes attachments store) to ensure the lookup code in step 3 retrieves the correct signed contract CorDapp JAR.
\ No newline at end of file
diff --git a/docs/source/node-database.rst b/docs/source/node-database.rst
index f5dadba8bb..ee6c8d3c0f 100644
--- a/docs/source/node-database.rst
+++ b/docs/source/node-database.rst
@@ -91,8 +91,12 @@ By default, the node database has the following tables:
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| NODE_CONTRACT_UPGRADES | STATE_REF, CONTRACT_CLASS_NAME |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| NODE_HASH_TO_KEY | PK_HASH, PUBLIC_KEY |
++-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| NODE_IDENTITIES | PK_HASH, IDENTITY_VALUE |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| NODE_IDENTITIES_NO_CERT | PK_HASH, NAME |
++-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| NODE_INFOS | NODE_INFO_ID, NODE_INFO_HASH, PLATFORM_VERSION, SERIAL |
+-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| NODE_INFO_HOSTS | HOST_NAME, PORT, NODE_INFO_ID, HOSTS_ID |
diff --git a/node/build.gradle b/node/build.gradle
index ce88a4bf56..fc9b6b9238 100644
--- a/node/build.gradle
+++ b/node/build.gradle
@@ -202,6 +202,7 @@ dependencies {
// BFT-Smart dependencies
compile 'com.github.bft-smart:library:master-v1.1-beta-g6215ec8-87'
+ compile 'commons-codec:commons-codec:1.13'
// Java Atomix: RAFT library
compile 'io.atomix.copycat:copycat-client:1.2.3'
diff --git a/node/src/integration-test/kotlin/net/corda/node/NodeConfigParsingTests.kt b/node/src/integration-test/kotlin/net/corda/node/NodeConfigParsingTests.kt
deleted file mode 100644
index 42a9dc95fe..0000000000
--- a/node/src/integration-test/kotlin/net/corda/node/NodeConfigParsingTests.kt
+++ /dev/null
@@ -1,87 +0,0 @@
-package net.corda.node
-
-import net.corda.core.utilities.getOrThrow
-import net.corda.node.logging.logFile
-import net.corda.testing.driver.DriverParameters
-import net.corda.testing.driver.NodeParameters
-import net.corda.testing.driver.driver
-import net.corda.testing.driver.internal.incrementalPortAllocation
-import org.assertj.core.api.Assertions.assertThatThrownBy
-import org.junit.Test
-import org.junit.jupiter.api.assertThrows
-
-class NodeConfigParsingTests {
-
- @Test
- fun `config is overriden by underscore variable`() {
- val portAllocator = incrementalPortAllocation()
- val sshPort = portAllocator.nextPort()
-
- driver(DriverParameters(
- environmentVariables = mapOf("corda_sshd_port" to sshPort.toString()),
- startNodesInProcess = false,
- portAllocation = portAllocator)) {
- val hasSsh = startNode().get()
- .logFile()
- .readLines()
- .filter { it.contains("SSH server listening on port") }
- .any { it.contains(sshPort.toString()) }
- assert(hasSsh)
- }
- }
-
- @Test
- fun `config is overriden by case insensitive underscore variable`() {
- val portAllocator = incrementalPortAllocation()
- val sshPort = portAllocator.nextPort()
-
- driver(DriverParameters(
- environmentVariables = mapOf("cORDa_sShD_pOrt" to sshPort.toString()),
- startNodesInProcess = false,
- portAllocation = portAllocator)) {
- val hasSsh = startNode().get()
- .logFile()
- .readLines()
- .filter { it.contains("SSH server listening on port") }
- .any { it.contains(sshPort.toString()) }
- assert(hasSsh)
- }
- }
-
- @Test
- fun `config is overriden by case insensitive dot variable`() {
- val portAllocator = incrementalPortAllocation()
- val sshPort = portAllocator.nextPort()
-
- driver(DriverParameters(
- environmentVariables = mapOf("cOrda.sShD.pOrt" to sshPort.toString()),
- startNodesInProcess = false,
- portAllocation = portAllocator)) {
- val hasSsh = startNode(NodeParameters()).get()
- .logFile()
- .readLines()
- .filter { it.contains("SSH server listening on port") }
- .any { it.contains(sshPort.toString()) }
- assert(hasSsh)
- }
- }
-
- @Test
- fun `shadowing is forbidden`() {
- val portAllocator = incrementalPortAllocation()
- val sshPort = portAllocator.nextPort()
-
- driver(DriverParameters(
- environmentVariables = mapOf(
- "cOrda_sShD_POrt" to sshPort.toString(),
- "cOrda.sShD.pOrt" to sshPort.toString()),
- startNodesInProcess = false,
- portAllocation = portAllocator,
- notarySpecs = emptyList())) {
-
- assertThatThrownBy {
- startNode().getOrThrow()
- }
- }
- }
-}
diff --git a/node/src/integration-test/kotlin/net/corda/node/NodeStartupPerformanceTests.kt b/node/src/integration-test/kotlin/net/corda/node/NodeStartupPerformanceTests.kt
index 12c434a69d..a9f2586013 100644
--- a/node/src/integration-test/kotlin/net/corda/node/NodeStartupPerformanceTests.kt
+++ b/node/src/integration-test/kotlin/net/corda/node/NodeStartupPerformanceTests.kt
@@ -24,4 +24,4 @@ class NodeStartupPerformanceTests {
println(times.map { it / 1_000_000.0 })
}
}
-}
\ No newline at end of file
+}
diff --git a/node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt b/node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt
index 7715d64153..1f914c5c01 100644
--- a/node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt
+++ b/node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt
@@ -1,7 +1,6 @@
package net.corda.node.services.config
import com.typesafe.config.Config
-import com.typesafe.config.ConfigException
import com.typesafe.config.ConfigFactory
import com.typesafe.config.ConfigParseOptions
import net.corda.cliutils.CordaSystemUtils
@@ -9,7 +8,6 @@ import net.corda.core.identity.CordaX500Name
import net.corda.core.internal.createDirectories
import net.corda.core.internal.div
import net.corda.core.internal.exists
-import net.corda.node.internal.Node
import net.corda.nodeapi.internal.DEV_CA_KEY_STORE_PASS
import net.corda.nodeapi.internal.config.FileBasedCertificateStoreSupplier
import net.corda.nodeapi.internal.config.MutualSslConfiguration
@@ -21,10 +19,7 @@ import net.corda.nodeapi.internal.installDevNodeCaCertPath
import net.corda.nodeapi.internal.loadDevCaTrustStore
import net.corda.nodeapi.internal.registerDevP2pCertificates
import org.slf4j.LoggerFactory
-import java.lang.IllegalStateException
import java.nio.file.Path
-import kotlin.reflect.KClass
-import kotlin.reflect.full.memberProperties
fun configOf(vararg pairs: Pair): Config = ConfigFactory.parseMap(mapOf(*pairs))
operator fun Config.plus(overrides: Map): Config = ConfigFactory.parseMap(overrides).withFallback(this)
@@ -67,69 +62,9 @@ object ConfigHelper {
return finalConfig
}
- private fun getCaseSensitivePropertyPath(target : KClass?, path : List) : String {
-
- require(path.isNotEmpty()) { "Path to config property cannot be empty." }
-
- val lookFor = path.first()
- target?.memberProperties?.forEach {
- if (it.name.toLowerCase() == lookFor.toLowerCase()) {
- return if (path.size > 1)
- "${it.name}." +
- getCaseSensitivePropertyPath(
- (it.getter.returnType.classifier as KClass<*>),
- path.subList(1, path.size))
- else
- it.name
- }
- }
-
- return ""
- }
-
- /*
- * Gets
- */
private fun Config.cordaEntriesOnly(): Config {
- val cordaPropOccurrences = mutableSetOf()
- val badKeyConversions = mutableSetOf()
-
- return ConfigFactory.parseMap(
- toProperties()
- .mapKeys {
- val newKey = (it.key as String)
- .replace("_", ".")
- .toLowerCase()
-
- if (newKey.contains(CORDA_PROPERTY_PREFIX) && cordaPropOccurrences.contains(newKey)) {
- throw ShadowingException(it.key.toString(), newKey)
- }
-
- cordaPropOccurrences.add(newKey)
- newKey.let { key ->
- if (!key.contains(CORDA_PROPERTY_PREFIX))
- return@let key
-
- val nodeConfKey = key.removePrefix(CORDA_PROPERTY_PREFIX)
- val configPath = getCaseSensitivePropertyPath(
- NodeConfigurationImpl::class,
- nodeConfKey.split(".")
- )
-
- if (nodeConfKey.length != configPath.length) {
- Node.printWarning(
- "${it.key} (property or environment variable) cannot be mapped to an existing Corda" +
- " config property and thus won't be used as a config override!" +
- " It won't be passed as a config override! If that was the intention " +
- " double check the spelling and ensure there is such config key.")
- badKeyConversions.add(configPath)
- }
- CORDA_PROPERTY_PREFIX + configPath
- }
- }.filterKeys { it.startsWith(CORDA_PROPERTY_PREFIX) }
- .mapKeys { it.key.removePrefix(CORDA_PROPERTY_PREFIX) }
- .filterKeys { !badKeyConversions.contains(it) })
+ return ConfigFactory.parseMap(toProperties().filterKeys { (it as String).startsWith(CORDA_PROPERTY_PREFIX) }.mapKeys { (it.key as String).removePrefix(CORDA_PROPERTY_PREFIX) })
}
}
diff --git a/node/src/main/kotlin/net/corda/node/services/config/ShadowingException.kt b/node/src/main/kotlin/net/corda/node/services/config/ShadowingException.kt
deleted file mode 100644
index 4778fe4284..0000000000
--- a/node/src/main/kotlin/net/corda/node/services/config/ShadowingException.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package net.corda.node.services.config
-
-import com.typesafe.config.ConfigException
-
-class ShadowingException(definedProperty : String, convertedProperty : String)
- : ConfigException(
- "Environment variable $definedProperty is shadowing another property transformed to $convertedProperty")
\ No newline at end of file
diff --git a/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializerFactoryBuilder.kt b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializerFactoryBuilder.kt
index a038af6fe2..4e7fbb466b 100644
--- a/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializerFactoryBuilder.kt
+++ b/serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializerFactoryBuilder.kt
@@ -27,7 +27,8 @@ object SerializerFactoryBuilder {
Float::class,
Int::class,
Long::class,
- Short::class
+ Short::class,
+ Void::class
).associate {
klazz -> klazz.javaObjectType to klazz.javaPrimitiveType
}) as Map, Class<*>>
diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/driver/Driver.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/driver/Driver.kt
index 79ba6b4e8d..a5085085d4 100644
--- a/testing/node-driver/src/main/kotlin/net/corda/testing/driver/Driver.kt
+++ b/testing/node-driver/src/main/kotlin/net/corda/testing/driver/Driver.kt
@@ -199,8 +199,7 @@ fun driver(defaultParameters: DriverParameters = DriverParameters(), dsl: Dr
networkParameters = defaultParameters.networkParameters,
notaryCustomOverrides = defaultParameters.notaryCustomOverrides,
inMemoryDB = defaultParameters.inMemoryDB,
- cordappsForAllNodes = uncheckedCast(defaultParameters.cordappsForAllNodes),
- environmentVariables = defaultParameters.environmentVariables
+ cordappsForAllNodes = uncheckedCast(defaultParameters.cordappsForAllNodes)
),
coerce = { it },
dsl = dsl
@@ -256,46 +255,10 @@ data class DriverParameters(
val networkParameters: NetworkParameters = testNetworkParameters(notaries = emptyList()),
val notaryCustomOverrides: Map = emptyMap(),
val inMemoryDB: Boolean = true,
- val cordappsForAllNodes: Collection? = null,
- val environmentVariables : Map = emptyMap()
+ val cordappsForAllNodes: Collection? = null
) {
constructor(cordappsForAllNodes: Collection) : this(isDebug = false, cordappsForAllNodes = cordappsForAllNodes)
- constructor(
- isDebug: Boolean = false,
- driverDirectory: Path = Paths.get("build") / "node-driver" / getTimestampAsDirectoryName(),
- portAllocation: PortAllocation = incrementalPortAllocation(),
- debugPortAllocation: PortAllocation = incrementalPortAllocation(),
- systemProperties: Map = emptyMap(),
- useTestClock: Boolean = false,
- startNodesInProcess: Boolean = false,
- waitForAllNodesToFinish: Boolean = false,
- notarySpecs: List = listOf(NotarySpec(DUMMY_NOTARY_NAME)),
- extraCordappPackagesToScan: List = emptyList(),
- @Suppress("DEPRECATION") jmxPolicy: JmxPolicy = JmxPolicy(),
- networkParameters: NetworkParameters = testNetworkParameters(notaries = emptyList()),
- notaryCustomOverrides: Map = emptyMap(),
- inMemoryDB: Boolean = true,
- cordappsForAllNodes: Collection? = null
- ) : this(
- isDebug,
- driverDirectory,
- portAllocation,
- debugPortAllocation,
- systemProperties,
- useTestClock,
- startNodesInProcess,
- waitForAllNodesToFinish,
- notarySpecs,
- extraCordappPackagesToScan,
- jmxPolicy,
- networkParameters,
- notaryCustomOverrides,
- inMemoryDB,
- cordappsForAllNodes,
- environmentVariables = emptyMap()
- )
-
constructor(
isDebug: Boolean = false,
driverDirectory: Path = Paths.get("build") / "node-driver" / getTimestampAsDirectoryName(),
@@ -410,7 +373,6 @@ data class DriverParameters(
fun withNotaryCustomOverrides(notaryCustomOverrides: Map): DriverParameters = copy(notaryCustomOverrides = notaryCustomOverrides)
fun withInMemoryDB(inMemoryDB: Boolean): DriverParameters = copy(inMemoryDB = inMemoryDB)
fun withCordappsForAllNodes(cordappsForAllNodes: Collection?): DriverParameters = copy(cordappsForAllNodes = cordappsForAllNodes)
- fun withEnvironmentVariables(variables : Map): DriverParameters = copy(environmentVariables = variables)
fun copy(
isDebug: Boolean,
@@ -471,40 +433,4 @@ data class DriverParameters(
notaryCustomOverrides = emptyMap(),
cordappsForAllNodes = cordappsForAllNodes
)
-
- @Suppress("LongParameterList")
- fun copy(
- isDebug: Boolean,
- driverDirectory: Path,
- portAllocation: PortAllocation,
- debugPortAllocation: PortAllocation,
- systemProperties: Map,
- useTestClock: Boolean,
- startNodesInProcess: Boolean,
- waitForAllNodesToFinish: Boolean,
- notarySpecs: List,
- extraCordappPackagesToScan: List,
- jmxPolicy: JmxPolicy,
- networkParameters: NetworkParameters,
- notaryCustomOverrides: Map,
- inMemoryDB: Boolean,
- cordappsForAllNodes: Collection?
- ) = this.copy(
- isDebug = isDebug,
- driverDirectory = driverDirectory,
- portAllocation = portAllocation,
- debugPortAllocation = debugPortAllocation,
- systemProperties = systemProperties,
- useTestClock = useTestClock,
- startNodesInProcess = startNodesInProcess,
- waitForAllNodesToFinish = waitForAllNodesToFinish,
- notarySpecs = notarySpecs,
- extraCordappPackagesToScan = extraCordappPackagesToScan,
- jmxPolicy = jmxPolicy,
- networkParameters = networkParameters,
- notaryCustomOverrides = notaryCustomOverrides,
- inMemoryDB = inMemoryDB,
- cordappsForAllNodes = cordappsForAllNodes,
- environmentVariables = emptyMap()
- )
}
\ No newline at end of file
diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/DriverDSLImpl.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/DriverDSLImpl.kt
index c34d07b2c4..6d3fa042ea 100644
--- a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/DriverDSLImpl.kt
+++ b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/DriverDSLImpl.kt
@@ -91,8 +91,7 @@ class DriverDSLImpl(
val networkParameters: NetworkParameters,
val notaryCustomOverrides: Map,
val inMemoryDB: Boolean,
- val cordappsForAllNodes: Collection?,
- val environmentVariables : Map
+ val cordappsForAllNodes: Collection?
) : InternalDriverDSL {
private var _executorService: ScheduledExecutorService? = null
@@ -289,11 +288,9 @@ class DriverDSLImpl(
} else {
startOutOfProcessMiniNode(
config,
- arrayOf(
- "initial-registration",
- "--network-root-truststore=${rootTruststorePath.toAbsolutePath()}",
- "--network-root-truststore-password=$rootTruststorePassword"
- )
+ "initial-registration",
+ "--network-root-truststore=${rootTruststorePath.toAbsolutePath()}",
+ "--network-root-truststore-password=$rootTruststorePassword"
).map { config }
}
}
@@ -453,7 +450,7 @@ class DriverDSLImpl(
} else {
// TODO The config we use here is uses a hardocded p2p port which changes when the node is run proper
// This causes two node info files to be generated.
- startOutOfProcessMiniNode(config, arrayOf("generate-node-info")).map {
+ startOutOfProcessMiniNode(config, "generate-node-info").map {
// Once done we have to read the signed node info file that's been generated
val nodeInfoFile = config.corda.baseDirectory.list { paths ->
paths.filter { it.fileName.toString().startsWith(NodeInfoFilesCopier.NODE_INFO_FILE_NAME_PREFIX) }.findFirst().get()
@@ -539,7 +536,7 @@ class DriverDSLImpl(
* Start the node with the given flag which is expected to start the node for some function, which once complete will
* terminate the node.
*/
- private fun startOutOfProcessMiniNode(config: NodeConfig, extraCmdLineFlag: Array = emptyArray()): CordaFuture {
+ private fun startOutOfProcessMiniNode(config: NodeConfig, vararg extraCmdLineFlag: String): CordaFuture {
val debugPort = if (isDebug) debugPortAllocation.nextPort() else null
val process = startOutOfProcessNode(
config,
@@ -548,8 +545,7 @@ class DriverDSLImpl(
systemProperties,
"512m",
null,
- environmentVariables,
- extraCmdLineFlag
+ *extraCmdLineFlag
)
return poll(executorService, "$extraCmdLineFlag (${config.corda.myLegalName})") {
@@ -606,15 +602,7 @@ class DriverDSLImpl(
nodeFuture
} else {
val debugPort = if (isDebug) debugPortAllocation.nextPort() else null
- val process = startOutOfProcessNode(
- config,
- quasarJarPath,
- debugPort,
- systemProperties,
- parameters.maximumHeapSize,
- parameters.logLevelOverride,
- environmentVariables
- )
+ val process = startOutOfProcessNode(config, quasarJarPath, debugPort, systemProperties, parameters.maximumHeapSize, parameters.logLevelOverride)
// Destroy the child process when the parent exits.This is needed even when `waitForAllNodesToFinish` is
// true because we don't want orphaned processes in the case that the parent process is terminated by the
@@ -738,7 +726,6 @@ class DriverDSLImpl(
}
}
- @Suppress("LongParameterList")
private fun startOutOfProcessNode(
config: NodeConfig,
quasarJarPath: String,
@@ -746,11 +733,9 @@ class DriverDSLImpl(
overriddenSystemProperties: Map,
maximumHeapSize: String,
logLevelOverride: String?,
- environmentVariables : Map,
- extraCmdLineFlag: Array = emptyArray()
- ): Process {
- log.info("Starting out-of-process Node ${config.corda.myLegalName.organisation}, " +
- "debug port is " + (debugPort ?: "not enabled"))
+ vararg extraCmdLineFlag: String
+ ): Process {
+ log.info("Starting out-of-process Node ${config.corda.myLegalName.organisation}, debug port is " + (debugPort ?: "not enabled"))
// Write node.conf
writeConfig(config.corda.baseDirectory, "node.conf", config.typesafe.toNodeOnly())
@@ -789,7 +774,7 @@ class DriverDSLImpl(
"--base-directory=${config.corda.baseDirectory}",
"--logging-level=$loggingLevel",
"--no-local-shell").also {
- it.addAll(extraCmdLineFlag)
+ it += extraCmdLineFlag
}.toList()
// The following dependencies are excluded from the classpath of the created JVM, so that the environment resembles a real one as close as possible.
@@ -807,8 +792,7 @@ class DriverDSLImpl(
extraJvmArguments = extraJvmArguments,
workingDirectory = config.corda.baseDirectory,
maximumHeapSize = maximumHeapSize,
- classPath = cp,
- environmentVariables = environmentVariables
+ classPath = cp
)
}
@@ -1029,8 +1013,7 @@ fun genericDriver(
networkParameters = defaultParameters.networkParameters,
notaryCustomOverrides = defaultParameters.notaryCustomOverrides,
inMemoryDB = defaultParameters.inMemoryDB,
- cordappsForAllNodes = uncheckedCast(defaultParameters.cordappsForAllNodes),
- environmentVariables = defaultParameters.environmentVariables
+ cordappsForAllNodes = uncheckedCast(defaultParameters.cordappsForAllNodes)
)
)
val shutdownHook = addShutdownHook(driverDsl::shutdown)
@@ -1107,7 +1090,6 @@ class SplitCompatibilityZoneParams(
override fun config() : NetworkServicesConfig = config
}
-@Suppress("LongParameterList")
fun internalDriver(
isDebug: Boolean = DriverParameters().isDebug,
driverDirectory: Path = DriverParameters().driverDirectory,
@@ -1125,7 +1107,6 @@ fun internalDriver(
notaryCustomOverrides: Map = DriverParameters().notaryCustomOverrides,
inMemoryDB: Boolean = DriverParameters().inMemoryDB,
cordappsForAllNodes: Collection? = null,
- environmentVariables: Map = emptyMap(),
dsl: DriverDSLImpl.() -> A
): A {
return genericDriver(
@@ -1145,8 +1126,7 @@ fun internalDriver(
networkParameters = networkParameters,
notaryCustomOverrides = notaryCustomOverrides,
inMemoryDB = inMemoryDB,
- cordappsForAllNodes = cordappsForAllNodes,
- environmentVariables = environmentVariables
+ cordappsForAllNodes = cordappsForAllNodes
),
coerce = { it },
dsl = dsl
diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/ProcessUtilities.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/ProcessUtilities.kt
index cb87b756ff..224d525ca4 100644
--- a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/ProcessUtilities.kt
+++ b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/ProcessUtilities.kt
@@ -7,29 +7,17 @@ import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
object ProcessUtilities {
- @Suppress("LongParameterList")
inline fun startJavaProcess(
arguments: List,
classPath: List = defaultClassPath,
workingDirectory: Path? = null,
jdwpPort: Int? = null,
extraJvmArguments: List = emptyList(),
- maximumHeapSize: String? = null,
- environmentVariables: Map = emptyMap()
+ maximumHeapSize: String? = null
): Process {
- return startJavaProcess(
- C::class.java.name,
- arguments,
- classPath,
- workingDirectory,
- jdwpPort,
- extraJvmArguments,
- maximumHeapSize,
- environmentVariables
- )
+ return startJavaProcess(C::class.java.name, arguments, classPath, workingDirectory, jdwpPort, extraJvmArguments, maximumHeapSize)
}
- @Suppress("LongParameterList")
fun startJavaProcess(
className: String,
arguments: List,
@@ -37,8 +25,7 @@ object ProcessUtilities {
workingDirectory: Path? = null,
jdwpPort: Int? = null,
extraJvmArguments: List = emptyList(),
- maximumHeapSize: String? = null,
- environmentVariables: Map = emptyMap()
+ maximumHeapSize: String? = null
): Process {
val command = mutableListOf().apply {
add(javaPath)
@@ -51,7 +38,6 @@ object ProcessUtilities {
}
return ProcessBuilder(command).apply {
inheritIO()
- environment().putAll(environmentVariables)
environment()["CLASSPATH"] = classPath.joinToString(File.pathSeparator)
if (workingDirectory != null) {
// Timestamp may be handy if the same process started, killed and then re-started. Without timestamp
diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/RPCDriver.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/RPCDriver.kt
index b8d0bda519..c1caf61551 100644
--- a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/RPCDriver.kt
+++ b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/RPCDriver.kt
@@ -104,7 +104,6 @@ val fakeNodeLegalName = CordaX500Name(organisation = "Not:a:real:name", locality
private val globalPortAllocation = incrementalPortAllocation()
private val globalDebugPortAllocation = incrementalPortAllocation()
-@Suppress("LongParameterList")
fun rpcDriver(
isDebug: Boolean = false,
driverDirectory: Path = Paths.get("build") / "rpc-driver" / getTimestampAsDirectoryName(),
@@ -122,7 +121,6 @@ fun rpcDriver(
notaryCustomOverrides: Map = emptyMap(),
inMemoryDB: Boolean = true,
cordappsForAllNodes: Collection? = null,
- environmentVariables: Map = emptyMap(),
dsl: RPCDriverDSL.() -> A
): A {
return genericDriver(
@@ -143,8 +141,7 @@ fun rpcDriver(
networkParameters = networkParameters,
notaryCustomOverrides = notaryCustomOverrides,
inMemoryDB = inMemoryDB,
- cordappsForAllNodes = cordappsForAllNodes,
- environmentVariables = environmentVariables
+ cordappsForAllNodes = cordappsForAllNodes
), externalTrace
),
coerce = { it },
diff --git a/testing/node-driver/src/test/java/net/corda/testing/node/PortAllocationRunner.java b/testing/node-driver/src/test/java/net/corda/testing/node/PortAllocationRunner.java
deleted file mode 100644
index 904ca17c1a..0000000000
--- a/testing/node-driver/src/test/java/net/corda/testing/node/PortAllocationRunner.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package net.corda.testing.node;
-
-import net.corda.testing.driver.PortAllocation;
-import org.jetbrains.annotations.NotNull;
-
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.nio.MappedByteBuffer;
-import java.nio.channels.FileChannel;
-
-public class PortAllocationRunner {
-
- public static void main(@NotNull String[] args) throws IOException {
- /*
- * each JVM will be launched with [spinnerFile, reportingIndex]
- */
- int reportingIndex = Integer.parseInt(args[1]);
-
- RandomAccessFile spinnerBackingFile = new RandomAccessFile(args[0], "rw");
- MappedByteBuffer spinnerBuffer = spinnerBackingFile.getChannel().map(FileChannel.MapMode.READ_WRITE, 0, 16);
-
- /*
- * notify back to launching process that we are ready to start using the reporting index we were allocated on launch
- */
- spinnerBuffer.putShort(reportingIndex, ((short) 10));
-
- /*
- * wait for parent process to notify us that all waiting processes are good to go
- * do not Thread.sleep as we want to ensure there is as much of an overlap between the ports selected by the spawned processes
- * and by sleeping, its frequently the case that one will complete selection before another wakes up resulting in sequential ranges rather than overlapping
- */
- while (spinnerBuffer.getShort(0) != 8) {
- }
-
- /*
- * allocate ports and print out for later consumption by the spawning test
- */
- PortAllocation pa = PortAllocation.getDefaultAllocator();
- int iterCount = Integer.parseInt(args[2]);
- for (int i = 0; i < iterCount; i++) {
- System.out.println(pa.nextPort());
- }
- }
-
-}
diff --git a/testing/node-driver/src/test/kotlin/net/corda/testing/driver/PortAllocationTest.kt b/testing/node-driver/src/test/kotlin/net/corda/testing/driver/PortAllocationTest.kt
deleted file mode 100644
index 414c54d5f5..0000000000
--- a/testing/node-driver/src/test/kotlin/net/corda/testing/driver/PortAllocationTest.kt
+++ /dev/null
@@ -1,113 +0,0 @@
-package net.corda.testing.driver
-
-import net.corda.core.utilities.Try
-import net.corda.core.utilities.contextLogger
-import net.corda.testing.node.PortAllocationRunner
-import org.assertj.core.util.Files
-import org.hamcrest.CoreMatchers.`is`
-import org.hamcrest.core.IsNot.not
-import org.hamcrest.number.OrderingComparison
-import org.junit.Assert
-import org.junit.Assume.assumeFalse
-import org.junit.Test
-import java.io.RandomAccessFile
-import java.nio.channels.FileChannel
-import java.util.concurrent.TimeUnit
-import kotlin.streams.toList
-
-class PortAllocationTest {
-
- companion object {
- val logger = contextLogger()
- }
-
- @Test
- fun `should allocate a port whilst cycling back round if exceeding start of ephemeral range`() {
- val startingPoint = PortAllocation.DEFAULT_START_PORT
- val portAllocator = PortAllocation.defaultAllocator
-
- var previous = portAllocator.nextPort()
- (0 until 50_000).forEach { _ ->
- val next = portAllocator.nextPort()
- Assert.assertThat(next, `is`(not(previous)))
- Assert.assertThat(next, `is`(OrderingComparison.lessThan(PortAllocation.FIRST_EPHEMERAL_PORT)))
-
- if (next == startingPoint) {
- Assert.assertThat(previous, `is`(PortAllocation.FIRST_EPHEMERAL_PORT - 1))
- } else {
- Assert.assertTrue(next >= previous + 1)
- }
- previous = next
- }
- }
-
- @Test(timeout = 120_000)
- fun `should support multiprocess port allocation`() {
- assumeFalse(System.getProperty("os.name").toLowerCase().contains("windows"))
-
- logger.info("Starting multiprocess port allocation test")
- val spinnerFile = Files.newTemporaryFile().also { it.deleteOnExit() }.absolutePath
- val iterCount = 8_000 // Default port range 10000-30000 since we will have 2 processes we want to make sure there is enough leg room
- // If we rollover, we may well receive the ports that were already given to a different process
- val process1 = buildJvmProcess(spinnerFile, 1, iterCount)
- val process2 = buildJvmProcess(spinnerFile, 2, iterCount)
-
- logger.info("Started child processes")
-
- val processes = listOf(process1, process2)
-
- val spinnerBackingFile = RandomAccessFile(spinnerFile, "rw")
- logger.info("Mapped spinner file at: $spinnerFile")
- val spinnerBuffer = spinnerBackingFile.channel.map(FileChannel.MapMode.READ_WRITE, 0, 512)
- logger.info("Created spinner buffer")
-
- var timeWaited = 0L
-
- while (spinnerBuffer.getShort(1) != 10.toShort() && spinnerBuffer.getShort(2) != 10.toShort() && timeWaited < 60_000) {
- logger.info("Waiting to childProcesses to report back. waited ${timeWaited}ms")
- Thread.sleep(1000)
- timeWaited += 1000
- }
-
- //GO!
- logger.info("Instructing child processes to start allocating ports")
- spinnerBuffer.putShort(0, 8)
- logger.info("Waiting for child processes to terminate")
- val terminationStatuses = processes.parallelStream().map { if (it.waitFor(1, TimeUnit.MINUTES)) "OK" else "STILL RUNNING" }.toList()
- logger.info("child processes terminated: $terminationStatuses")
-
- fun List.setOfPorts(): Set {
- // May include warnings when ports are busy
- return map { Try.on { Integer.parseInt(it) } }.filter { it.isSuccess }.map { it.getOrThrow() }.toSet()
- }
-
- val lines1 = process1.inputStream.reader().readLines()
- val portsAllocated1 = lines1.setOfPorts()
- val lines2 = process2.inputStream.reader().readLines()
- val portsAllocated2 = lines2.setOfPorts()
-
- logger.info("child process out captured")
-
- Assert.assertThat(lines1.joinToString(), portsAllocated1.size, `is`(iterCount))
- Assert.assertThat(lines2.joinToString(), portsAllocated2.size, `is`(iterCount))
-
- //there should be no overlap between the outputs as each process should have been allocated a unique set of ports
- val intersect = portsAllocated1.intersect(portsAllocated2)
- Assert.assertThat(intersect.joinToString(), intersect, `is`(emptySet()))
- }
-
- private fun buildJvmProcess(spinnerFile: String, reportingIndex: Int, iterCount: Int): Process {
- val separator = System.getProperty("file.separator")
- val classpath = System.getProperty("java.class.path")
- val path = (System.getProperty("java.home")
- + separator + "bin" + separator + "java")
- val processBuilder = ProcessBuilder(path, "-cp",
- classpath,
- PortAllocationRunner::class.java.name,
- spinnerFile,
- reportingIndex.toString(),
- iterCount.toString())
-
- return processBuilder.start()
- }
-}
\ No newline at end of file
diff --git a/testing/test-times.csv b/testing/test-times.csv
deleted file mode 100644
index dadfc2952f..0000000000
--- a/testing/test-times.csv
+++ /dev/null
@@ -1,3224 +0,0 @@
-Order#,Test Name,Status,Duration(ms)
-1,net.corda.common.configuration.parsing.internal.SchemaTest.validation_with_nested_properties,OK,267
-2,net.corda.common.configuration.parsing.internal.SchemaTest.validation_with_unknown_properties,OK,22
-3,net.corda.common.configuration.parsing.internal.SchemaTest.validation_with_unknown_properties_non_strict,OK,3
-4,net.corda.common.configuration.parsing.internal.SchemaTest.describe_with_nested_properties_does_not_show_sensitive_values,OK,15
-5,net.corda.common.configuration.parsing.internal.SchemaTest.describe_with_nested_properties_list_does_not_show_sensitive_values,OK,8
-6,net.corda.common.configuration.parsing.internal.SchemaTest.validation_with_wrong_nested_properties,OK,10
-7,net.corda.common.configuration.parsing.internal.PropertyTest.optional_absent_value_of_list_type,OK,3
-8,net.corda.common.configuration.parsing.internal.PropertyTest.absent_value_of_list_type_with_whole_list_mapping,OK,5
-9,net.corda.common.configuration.parsing.internal.PropertyTest.absent_value_of_list_type_with_single_element_and_whole_list_mapping,OK,3
-10,net.corda.common.configuration.parsing.internal.PropertyTest.present_value_with_correct_type,OK,1
-11,net.corda.common.configuration.parsing.internal.PropertyTest.optional_absent_value,OK,0
-12,net.corda.common.configuration.parsing.internal.PropertyTest.optional_absent_with_default_value,OK,1
-13,net.corda.common.configuration.parsing.internal.PropertyTest.optional_present_value_with_correct_type,OK,0
-14,net.corda.common.configuration.parsing.internal.PropertyTest.present_value_of_list_type_with_whole_list_mapping,OK,2
-15,net.corda.common.configuration.parsing.internal.PropertyTest.optional_absent_value_of_list_type_with_default_value,OK,1
-16,net.corda.common.configuration.parsing.internal.PropertyTest.present_value_of_list_type,OK,1
-17,net.corda.common.configuration.parsing.internal.PropertyTest.optional_present_value_with_wrong_type,OK,2
-18,net.corda.common.configuration.parsing.internal.PropertyTest.present_value_of_list_type_with_single_element_and_whole_list_mapping,OK,3
-19,net.corda.common.configuration.parsing.internal.PropertyTest.optional_present_value_of_list_type,OK,0
-20,net.corda.common.configuration.parsing.internal.PropertyTest.present_value_with_wrong_type,OK,1
-21,net.corda.common.configuration.parsing.internal.PropertyTest.absent_value,OK,1
-22,net.corda.common.configuration.parsing.internal.SpecificationTest.validate,OK,25
-23,net.corda.common.configuration.parsing.internal.SpecificationTest.validate_with_domain_specific_errors,OK,3
-24,net.corda.common.configuration.parsing.internal.SpecificationTest.validate_list_aggregation,OK,7
-25,net.corda.common.configuration.parsing.internal.SpecificationTest.parse,OK,2
-26,net.corda.common.configuration.parsing.internal.SpecificationTest.chained_delegated_properties_are_not_added_multiple_times,OK,2
-27,net.corda.common.configuration.parsing.internal.SpecificationTest.parse_list_aggregation,OK,2
-28,net.corda.common.configuration.parsing.internal.PropertyValidationTest.wrong_type_in_nested_property,OK,3
-29,net.corda.common.configuration.parsing.internal.PropertyValidationTest.integer_numeric_type_when_floating_expected_works,OK,0
-30,net.corda.common.configuration.parsing.internal.PropertyValidationTest.valid_mapped_property,OK,1
-31,net.corda.common.configuration.parsing.internal.PropertyValidationTest.missing_value,OK,1
-32,net.corda.common.configuration.parsing.internal.PropertyValidationTest.absent_list_value,OK,1
-33,net.corda.common.configuration.parsing.internal.PropertyValidationTest.whole_list_validation_invalid_value,OK,3
-34,net.corda.common.configuration.parsing.internal.PropertyValidationTest.list_type_when_declared_single,OK,1
-35,net.corda.common.configuration.parsing.internal.PropertyValidationTest.invalid_mapped_property,OK,2
-36,net.corda.common.configuration.parsing.internal.PropertyValidationTest.nested_property_without_schema_does_not_validate,OK,0
-37,net.corda.common.configuration.parsing.internal.PropertyValidationTest.wrong_element_type_for_list,OK,2
-38,net.corda.common.configuration.parsing.internal.PropertyValidationTest.absent_value_in_nested_property,OK,1
-39,net.corda.common.configuration.parsing.internal.PropertyValidationTest.wrong_type,OK,1
-40,net.corda.common.configuration.parsing.internal.PropertyValidationTest.single_type_when_declared_list,OK,1
-41,net.corda.common.configuration.parsing.internal.PropertyValidationTest.whole_list_validation_valid_value,OK,1
-42,net.corda.common.configuration.parsing.internal.PropertyValidationTest.missing_list_value,OK,1
-43,net.corda.common.configuration.parsing.internal.PropertyValidationTest.wrong_floating_numeric_type_when_integer_expected,OK,1
-44,net.corda.common.configuration.parsing.internal.PropertyValidationTest.missing_value_in_nested_property,OK,1
-45,net.corda.common.configuration.parsing.internal.PropertyValidationTest.absent_value,OK,2
-46,net.corda.common.configuration.parsing.internal.versioned.VersionedParsingExampleTest.correct_parsing_function_is_used_for_present_version,OK,14
-47,net.corda.common.configuration.parsing.internal.versioned.VersionedParsingExampleTest.default_value_is_used_for_absent_version,OK,2
-48,net.corda.common.configuration.parsing.internal.versioned.VersionExtractorTest.version_header_extraction_no_metadata,OK,1
-49,net.corda.common.configuration.parsing.internal.versioned.VersionExtractorTest.version_header_extraction_no_configuration,OK,0
-50,net.corda.common.configuration.parsing.internal.versioned.VersionExtractorTest.version_header_extraction_no_key,OK,1
-51,net.corda.common.configuration.parsing.internal.versioned.VersionExtractorTest.version_header_extraction_present,OK,0
-52,net.corda.common.configuration.parsing.internal.versioned.VersionExtractorTest.version_header_extraction_no_value,OK,1
-53,net.corda.common.configuration.parsing.internal.UtilsTest.serialize_deserialize_configuration,OK,20
-54,net.corda.confidential.SwapIdentitiesFlowTests.verifies identity name,OK,85
-55,net.corda.confidential.SwapIdentitiesFlowTests.verification rejects signature if key is right but name is wrong,OK,10
-56,net.corda.confidential.SwapIdentitiesFlowTests.issue key,OK,417
-57,net.corda.confidential.SwapIdentitiesFlowTests.verification rejects signature if name is right but key is wrong,OK,649
-58,net.corda.confidential.IdentitySyncFlowTests.sync confidential identities,OK,4290
-59,net.corda.confidential.IdentitySyncFlowTests.don't offer other's identities confidential identities,OK,3659
-60,net.corda.core.concurrent.CordaFutureInJavaTest.methodsAreNotTooAwkwardToUse,OK,113
-61,net.corda.core.concurrent.CordaFutureInJavaTest.toCompletableFutureWorks,OK,6
-62,net.corda.core.concurrent.CordaFutureInJavaTest.toCompletableFutureDoesNotHaveThePowerToAffectTheUnderlyingFuture,OK,0
-63,net.corda.core.internal.X509EdDSAEngineTest.SignAndVerifyWithX509KeyAndOldEngineFails,OK,511
-64,net.corda.core.internal.X509EdDSAEngineTest.SignAndVerifyWithX509Key,OK,3
-65,net.corda.core.internal.X509EdDSAEngineTest.verifyWithNonSupportedKeyTypeFails,OK,101
-66,net.corda.core.internal.X509EdDSAEngineTest.SignAndVerify,OK,1
-67,net.corda.core.concurrent.ConcurrencyUtilsTest.match does not pass failure of success block into the failure block,OK,8
-68,net.corda.core.concurrent.ConcurrencyUtilsTest.firstOf re-entrant handler attempt due to cancel,OK,8
-69,net.corda.core.concurrent.ConcurrencyUtilsTest.match does not pass ExecutionException to failure block,OK,3
-70,net.corda.core.concurrent.ConcurrencyUtilsTest.firstOf re-entrant handler attempt not due to cancel,OK,12
-71,net.corda.core.concurrent.ConcurrencyUtilsTest.firstOf short circuit,OK,1
-72,net.corda.core.concurrent.ConcurrencyUtilsTest.firstOf cancel is not special,OK,2
-73,net.corda.core.contracts.UniqueIdentifierTests.unique identifier comparison,OK,2
-74,net.corda.core.contracts.UniqueIdentifierTests.unique identifier equality,OK,0
-75,net.corda.core.contracts.PrivacySaltTest.all-zero PrivacySalt not allowed,OK,7
-76,net.corda.core.contracts.AttachmentTest.openAsJAR does not leak file handle if attachment has corrupted manifest,OK,42
-77,net.corda.core.identity.X500UtilsTest.X500Principal equalX500NameParts matches regardless the order,OK,22
-78,net.corda.core.identity.CordaX500NameTest.accepts organisation with dollar sign,OK,44
-79,net.corda.core.identity.CordaX500NameTest.legal entity name,OK,3
-80,net.corda.core.identity.CordaX500NameTest.rejects name with no country,OK,2
-81,net.corda.core.identity.CordaX500NameTest.rejects attributes with double quotation mark,OK,3
-82,net.corda.core.identity.CordaX500NameTest.service name with organisational unit,OK,0
-83,net.corda.core.identity.CordaX500NameTest.accepts organisation with single quotation mark,OK,0
-84,net.corda.core.identity.CordaX500NameTest.rejects name with no organisation,OK,1
-85,net.corda.core.identity.CordaX500NameTest.organisation (but not other attributes) must have at least two letters,OK,3
-86,net.corda.core.identity.CordaX500NameTest.rejects attributes with comma,OK,1
-87,net.corda.core.identity.CordaX500NameTest.rejects name with unsupported attribute,OK,1
-88,net.corda.core.identity.CordaX500NameTest.accepts org with equals sign,OK,0
-89,net.corda.core.identity.CordaX500NameTest.service name,OK,1
-90,net.corda.core.identity.CordaX500NameTest.accepts attributes with leading whitespace,OK,1
-91,net.corda.core.identity.CordaX500NameTest.rejects organisation (but not other attributes) with non-latin letters,OK,6
-92,net.corda.core.identity.CordaX500NameTest.rejects organisation with backslash,OK,1
-93,net.corda.core.identity.CordaX500NameTest.accepts attributes with trailing whitespace,OK,0
-94,net.corda.core.identity.CordaX500NameTest.rejects organisation (but not other attributes) containing the null character,OK,2
-95,net.corda.core.identity.CordaX500NameTest.rejects double spacing only in the organisation attribute,OK,2
-96,net.corda.core.identity.CordaX500NameTest.accepts attributes starting with numeric character,OK,1
-97,net.corda.core.identity.CordaX500NameTest.accepts attributes starting with lower case letter,OK,1
-98,net.corda.core.identity.CordaX500NameTest.rejects name with no locality,OK,1
-99,net.corda.core.crypto.EdDSATests.PureEdDSA Ed25519 test vectors,OK,8
-100,net.corda.core.crypto.Base58Test.testDecodeToBigInteger,OK,1
-101,net.corda.core.crypto.Base58Test.testDecode,OK,7
-102,net.corda.core.crypto.Base58Test.testEncode,OK,6
-103,net.corda.core.crypto.CryptoUtilsTest.SPHINCS-256 scheme finder by key type,OK,420
-104,net.corda.core.crypto.CryptoUtilsTest.Automatic EdDSA key-type detection and decoding,OK,27
-105,net.corda.core.crypto.CryptoUtilsTest.ECDSA secp256r1 full process keygen-sign-verify,OK,223
-106,net.corda.core.crypto.CryptoUtilsTest.Automatic ECDSA secp256r1 key-type detection and decoding,OK,4
-107,net.corda.core.crypto.CryptoUtilsTest.Decoding Failure on randomdata as key,OK,5
-108,net.corda.core.crypto.CryptoUtilsTest.Generate key pairs,OK,660
-109,net.corda.core.crypto.CryptoUtilsTest.EdDSA encode decode keys - required for serialization,OK,2
-110,net.corda.core.crypto.CryptoUtilsTest.EDDSA ed25519 full process keygen-sign-verify,OK,42
-111,net.corda.core.crypto.CryptoUtilsTest.Check EdDSA public key on curve,OK,0
-112,net.corda.core.crypto.CryptoUtilsTest.EdDSA ed25519 keyPair from entropy,OK,59
-113,net.corda.core.crypto.CryptoUtilsTest.ECDSA secp256K1 deterministic key generation,OK,206
-114,net.corda.core.crypto.CryptoUtilsTest.ECDSA secp256k1 scheme finder by key type,OK,2
-115,net.corda.core.crypto.CryptoUtilsTest.EdDSA ed25519 deterministic key generation,OK,2
-116,net.corda.core.crypto.CryptoUtilsTest.ECDSA secp256k1 full process keygen-sign-verify,OK,20
-117,net.corda.core.crypto.CryptoUtilsTest.RSA full process keygen-sign-verify,OK,195
-118,net.corda.core.crypto.CryptoUtilsTest.Automatic ECDSA secp256k1 key-type detection and decoding,OK,2
-119,net.corda.core.crypto.CryptoUtilsTest.ECDSA secp256r1 encode decode keys - required for serialization,OK,1
-120,net.corda.core.crypto.CryptoUtilsTest.ECDSA K1 keyPair from entropy,OK,7
-121,net.corda.core.crypto.CryptoUtilsTest.Automatic RSA key-type detection and decoding,OK,417
-122,net.corda.core.crypto.CryptoUtilsTest.Check supported algorithms,OK,26
-123,net.corda.core.crypto.CryptoUtilsTest.ECDSA R1 keyPair from entropy,OK,6
-124,net.corda.core.crypto.CryptoUtilsTest.Automatic SPHINCS-256 key-type detection and decoding,OK,17
-125,net.corda.core.crypto.CryptoUtilsTest.Decoding Failure on malformed keys,OK,2
-126,net.corda.core.crypto.CryptoUtilsTest.SPHINCS-256 full process keygen-sign-verify,OK,650
-127,net.corda.core.crypto.CryptoUtilsTest.EdDSA scheme finder by key type,OK,0
-128,net.corda.core.crypto.CryptoUtilsTest.Failure test between K1 and R1 keys,OK,2
-129,net.corda.core.crypto.CryptoUtilsTest.Unsupported EC public key type on curve,OK,54
-130,net.corda.core.crypto.CryptoUtilsTest.test default SecureRandom uses platformSecureRandom,OK,1
-131,net.corda.core.crypto.CryptoUtilsTest.Check ECDSA public key on curve,OK,0
-132,net.corda.core.crypto.CryptoUtilsTest.SPHINCS-256 encode decode keys - required for serialization,OK,11
-133,net.corda.core.crypto.CryptoUtilsTest.ECDSA secp256k1 encode decode keys - required for serialization,OK,1
-134,net.corda.core.crypto.CryptoUtilsTest.ECDSA secp256R1 deterministic key generation,OK,4
-135,net.corda.core.crypto.CryptoUtilsTest.RSA encode decode keys - required for serialization,OK,670
-136,net.corda.core.crypto.CryptoUtilsTest.RSA scheme finder by key type,OK,244
-137,net.corda.core.crypto.CryptoUtilsTest.ECDSA secp256r1 scheme finder by key type,OK,1
-138,"net.corda.core.crypto.CryptoUtilsTest.Ensure deterministic signatures of EdDSA, SPHINCS-256 and RSA PKCS1",OK,951
-139,net.corda.core.utilities.LazyMappedListTest.testMissingAttachments,OK,14
-140,net.corda.core.utilities.LazyMappedListTest.testDeserialisationExceptions,OK,3
-141,net.corda.core.utilities.LazyMappedListTest.LazyMappedList works,OK,1
-142,net.corda.core.utilities.EncodingUtilsTest.decoding to real String,OK,3
-143,net.corda.core.utilities.EncodingUtilsTest.decoding on wrong format,OK,0
-144,"net.corda.core.utilities.EncodingUtilsTest.change encoding between base58, base64, hex",OK,0
-145,net.corda.core.utilities.EncodingUtilsTest.decoding empty Strings,OK,0
-146,net.corda.core.utilities.EncodingUtilsTest.empty encoding,OK,0
-147,net.corda.core.utilities.EncodingUtilsTest.encoding 7 zero bytes,OK,0
-148,net.corda.core.utilities.EncodingUtilsTest.decoding lowercase and mixed HEX,OK,0
-149,net.corda.core.utilities.EncodingUtilsTest.encoding Hello World,OK,0
-150,net.corda.core.utilities.ByteArraysTest.test hex parsing strictly uppercase,OK,3
-151,net.corda.core.utilities.ByteArraysTest.slice works,OK,42
-152,net.corda.core.utilities.NetworkHostAndPortTest.constructor is not fussy about host,OK,3
-153,net.corda.core.utilities.NetworkHostAndPortTest.parseNetworkHostAndPort works,OK,17
-154,net.corda.core.utilities.NetworkHostAndPortTest.constructor requires a valid port,OK,1
-155,net.corda.core.utilities.NetworkHostAndPortTest.toString works,OK,1
-156,net.corda.core.internal.NamedCacheTest.TestCheckCacheName,OK,2
-157,net.corda.core.internal.InternalUtilsTest.test SHA-256 hash for InputStream,OK,4
-158,"net.corda.core.internal.InternalUtilsTest.noneOrSingle on a collection with items 1, 2, 1",OK,4
-159,net.corda.core.internal.InternalUtilsTest.IntProgression stream works,OK,8
-160,net.corda.core.internal.InternalUtilsTest.Stream toTypedArray works,OK,2
-161,net.corda.core.internal.InternalUtilsTest.kotlinObjectInstance,OK,294
-162,"net.corda.core.internal.InternalUtilsTest.warnOnce works, but the backing cache grows only to a maximum size",OK,400
-163,net.corda.core.internal.InternalUtilsTest.noneOrSingle on a collection with two items,OK,2
-164,net.corda.core.internal.InternalUtilsTest.indexOfOrThrow returns index of the given item,OK,0
-165,net.corda.core.internal.InternalUtilsTest.IntProgression spliterator characteristics and comparator,OK,0
-166,net.corda.core.internal.InternalUtilsTest.bufferUntilSubscribed delays emission until the first subscription,OK,40
-167,net.corda.core.internal.InternalUtilsTest.indexOfOrThrow throws if the given item is not found,OK,1
-168,net.corda.core.internal.InternalUtilsTest.noneOrSingle on an empty collection,OK,0
-169,net.corda.core.internal.InternalUtilsTest.noneOrSingle on a singleton collection,OK,0
-170,"net.corda.core.internal.ClassLoadingUtilsTest.thread context class loader is set to the initial, even in case of a failure",OK,5
-171,net.corda.core.internal.ClassLoadingUtilsTest.throwsExceptionWhenClassDoesNotContainProperConstructors,OK,911
-172,net.corda.core.internal.ClassLoadingUtilsTest.predicateClassAreLoadedSuccessfully,OK,507
-173,"net.corda.core.internal.ClassLoadingUtilsTest.thread context class loader is adjusted, during the function execution",OK,1
-174,net.corda.core.internal.concurrent.CordaFutureTest.andForget works,OK,33
-175,net.corda.core.internal.concurrent.CordaFutureTest.if a listener fails its throwable is logged,OK,3
-176,net.corda.core.internal.concurrent.CordaFutureTest.flatMap works,OK,29
-177,net.corda.core.internal.concurrent.CordaFutureTest.map works,OK,4
-178,net.corda.core.internal.concurrent.CordaFutureTest.captureLater works,OK,0
-179,net.corda.core.internal.concurrent.CordaFutureTest.fork works,OK,2
-180,net.corda.core.internal.concurrent.TransposeTest.transpose mixture of outcomes,OK,3
-181,net.corda.core.internal.concurrent.TransposeTest.transpose throwables are reported in the order they were thrown,OK,1
-182,net.corda.core.internal.concurrent.TransposeTest.transpose values are in the same order as the collection of futures,OK,0
-183,net.corda.core.internal.concurrent.TransposeTest.transpose empty collection,OK,0
-184,net.corda.core.internal.cordapp.CordappResolverTest.the correct cordapp resolver is used after calling withCordappInfo,OK,194
-185,"net.corda.core.internal.cordapp.CordappResolverTest.when different cordapps are registered for the same (non-contract) class, the resolver returns null",OK,387
-186,"net.corda.core.internal.cordapp.CordappResolverTest.when different cordapps are registered for the same (contract) class, the resolver throws an exception",OK,4
-187,"net.corda.core.internal.cordapp.CordappResolverTest.when the same cordapp is registered for the same class multiple times, the resolver deduplicates and returns it as the current one",OK,1
-188,net.corda.core.internal.StatePointerSearchTests.find pointers which are inside a list,OK,23
-189,net.corda.core.internal.StatePointerSearchTests.find pointers which are inside nested iterables,OK,2
-190,net.corda.core.internal.StatePointerSearchTests.find pointers which are inside a map,OK,2
-191,net.corda.core.internal.StatePointerSearchTests.find pointers which are inside a set,OK,2
-192,net.corda.core.internal.StatePointerSearchTests.find pointer in state with generic type,OK,12
-193,net.corda.core.internal.StatePointerSearchTests.ignore static fields,OK,9
-194,net.corda.core.internal.PathUtilsTest.deleteRecursively - complex,OK,16
-195,net.corda.core.internal.PathUtilsTest.deleteRecursively - nested single file,OK,1
-196,net.corda.core.internal.PathUtilsTest.deleteRecursively - dir with single file,OK,0
-197,net.corda.core.internal.PathUtilsTest.deleteRecursively - file,OK,1
-198,net.corda.core.internal.PathUtilsTest.deleteRecursively - empty folder,OK,0
-199,net.corda.core.internal.PathUtilsTest.deleteRecursively - non-existent path,OK,1
-200,net.corda.core.internal.PathUtilsTest.copyToDirectory - copy into zip directory,OK,35
-201,"net.corda.core.internal.ToggleFieldTest.leaked thread propagates holder to non-global thread, with warning",OK,61
-202,"net.corda.core.internal.ToggleFieldTest.non-leaked thread does not propagate holder to global thread, without warning",OK,5
-203,net.corda.core.internal.ToggleFieldTest.existing threads do not inherit,OK,3
-204,net.corda.core.internal.ToggleFieldTest.toggle is enforced,OK,3
-205,net.corda.core.internal.ToggleFieldTest.inheritable thread local works,OK,2
-206,net.corda.core.internal.ToggleFieldTest.write-at-most-once field works,OK,2
-207,net.corda.core.internal.ToggleFieldTest.inherited values are poisoned on clear,OK,8
-208,"net.corda.core.internal.ToggleFieldTest.leaked thread does not propagate holder to global thread, with warning",OK,9
-209,net.corda.core.internal.ToggleFieldTest.thread local works,OK,2
-210,net.corda.core.internal.LegalNameValidatorTest.blacklisted characters,OK,22
-211,net.corda.core.internal.LegalNameValidatorTest.legal name should be capitalized,OK,2
-212,net.corda.core.internal.LegalNameValidatorTest.legal name length less then 256 characters,OK,1
-213,net.corda.core.internal.LegalNameValidatorTest.no prefixed white space,OK,1
-214,net.corda.core.internal.LegalNameValidatorTest.correctly handle whitespaces,OK,7
-215,net.corda.core.internal.LegalNameValidatorTest.no double spaces,OK,1
-216,net.corda.core.internal.LegalNameValidatorTest.unicode range in organization,OK,7
-217,net.corda.core.internal.LegalNameValidatorTest.no trailing white space,OK,1
-218,net.corda.core.internal.LegalNameValidatorTest.unicode range in general attributes,OK,4
-219,net.corda.core.node.services.VaultEnumTypesTest.vaultStatusReflectsOrdinalValues,OK,4
-220,net.corda.core.UtilsTest.toFuture - cancel,OK,31
-221,net.corda.core.UtilsTest.toFuture - empty obserable,OK,1
-222,net.corda.core.UtilsTest.toFuture - more than one item observable,OK,4
-223,net.corda.core.UtilsTest.toFuture - single item observable,OK,0
-224,net.corda.core.UtilsTest.toFuture - erroring observable,OK,1
-225,net.corda.coretests.contracts.AmountParsingTest.testGbpParse,OK,158
-226,net.corda.coretests.flows.FlowsInJavaTest.suspendableActionInsideUnwrap,OK,2103
-227,net.corda.coretests.flows.FlowsInJavaTest.primitiveClassForReceiveType,OK,1451
-228,net.corda.coretests.flows.SerializationApiInJavaTest.enforceSerializationFactoryApi,OK,4
-229,net.corda.coretests.flows.SerializationApiInJavaTest.enforceSerializationDefaultsApi,OK,19
-230,net.corda.coretests.transactions.CompatibleTransactionTests.FilteredTransaction constructors and compatibility,OK,145
-231,net.corda.coretests.transactions.CompatibleTransactionTests.parameters hash visibility,OK,29
-232,net.corda.coretests.transactions.CompatibleTransactionTests.Merkle root computations,OK,23
-233,net.corda.coretests.transactions.CompatibleTransactionTests.Command visibility tests,OK,60
-234,net.corda.coretests.transactions.CompatibleTransactionTests.FilteredTransaction signer manipulation tests,OK,37
-235,net.corda.coretests.transactions.CompatibleTransactionTests.WireTransaction constructors and compatibility,OK,35
-236,net.corda.coretests.transactions.TransactionBuilderTest.automatic signature constraint,OK,417
-237,net.corda.coretests.transactions.TransactionBuilderTest.reference states,OK,29
-238,net.corda.coretests.transactions.TransactionBuilderTest.automatic hash constraint,OK,19
-239,net.corda.coretests.transactions.TransactionBuilderTest.bare minimum issuance tx,OK,17
-240,net.corda.coretests.transactions.AttachmentsClassLoaderSerializationTests.test serialization of OpaqueBytes,OK,2
-241,net.corda.coretests.transactions.AttachmentsClassLoaderSerializationTests.test serialization of sub-sequence OpaqueBytes,OK,1
-242,net.corda.coretests.transactions.AttachmentsClassLoaderSerializationTests.Can serialize and deserialize with an attachment classloader,OK,1199
-243,net.corda.coretests.transactions.AttachmentsClassLoaderSerializationTests.test serialization of SecureHash,OK,3
-244,net.corda.coretests.transactions.TransactionEncumbranceTests.state must be consumed along with its encumbrance,OK,1804
-245,net.corda.coretests.transactions.TransactionEncumbranceTests.state can transition if encumbrance rules are met,OK,99
-246,net.corda.coretests.transactions.TransactionEncumbranceTests.encumbrance state index must be valid,OK,91
-247,net.corda.coretests.transactions.TransactionEncumbranceTests.correct encumbrance state must be provided,OK,71
-248,net.corda.coretests.transactions.TransactionEncumbranceTests.encumbered states cannot be assigned to different notaries,OK,78
-249,net.corda.coretests.transactions.TransactionEncumbranceTests.state cannot be encumbered by itself,OK,49
-250,net.corda.coretests.transactions.TransactionEncumbranceTests.non bi-directional encumbrance will fail,OK,120
-251,net.corda.coretests.transactions.TransactionEncumbranceTests.state cannot transition if the encumbrance contract fails to verify,OK,68
-252,net.corda.coretests.transactions.TransactionEncumbranceTests.states must be bi-directionally encumbered,OK,157
-253,net.corda.coretests.transactions.LedgerTransactionQueryTests.Simple Command Indexer tests,OK,751
-254,net.corda.coretests.transactions.LedgerTransactionQueryTests.Filtered Commands Tests,OK,941
-255,net.corda.coretests.transactions.LedgerTransactionQueryTests.Filtered InRef Tests,OK,791
-256,net.corda.coretests.transactions.LedgerTransactionQueryTests.Simple Outputs of type tests,OK,910
-257,net.corda.coretests.transactions.LedgerTransactionQueryTests.Find Input Tests,OK,814
-258,net.corda.coretests.transactions.LedgerTransactionQueryTests.Filtered Output Tests,OK,946
-259,net.corda.coretests.transactions.LedgerTransactionQueryTests.Simple OutputsRefs of type tests,OK,692
-260,net.corda.coretests.transactions.LedgerTransactionQueryTests.Simple InputsRefs of type tests,OK,714
-261,net.corda.coretests.transactions.LedgerTransactionQueryTests.Simple Input Indexer tests,OK,707
-262,net.corda.coretests.transactions.LedgerTransactionQueryTests.Simple Output Indexer tests,OK,865
-263,net.corda.coretests.transactions.LedgerTransactionQueryTests.Find Output Tests,OK,676
-264,net.corda.coretests.transactions.LedgerTransactionQueryTests.Find Commands Tests,OK,674
-265,net.corda.coretests.transactions.LedgerTransactionQueryTests.Find InRef Tests,OK,681
-266,net.corda.coretests.transactions.LedgerTransactionQueryTests.Filtered OutRef Tests,OK,905
-267,net.corda.coretests.transactions.LedgerTransactionQueryTests.Simple Commands of type tests,OK,717
-268,net.corda.coretests.transactions.LedgerTransactionQueryTests.Find OutRef Tests,OK,671
-269,net.corda.coretests.transactions.LedgerTransactionQueryTests.Simple Inputs of type tests,OK,659
-270,net.corda.coretests.transactions.LedgerTransactionQueryTests.Simple InRef Indexer tests,OK,900
-271,net.corda.coretests.transactions.LedgerTransactionQueryTests.Simple OutRef Indexer tests,OK,669
-272,net.corda.coretests.transactions.LedgerTransactionQueryTests.Filtered Input Tests,OK,679
-273,net.corda.coretests.transactions.TransactionTests.general transactions cannot change notary,OK,606
-274,net.corda.coretests.transactions.TransactionTests.transactions with identical contents must have different ids,OK,9
-275,net.corda.coretests.transactions.TransactionTests.signed transaction missing signatures - CompositeKey,OK,32
-276,net.corda.coretests.transactions.TransactionTests.signed transaction missing signatures,OK,14
-277,net.corda.coretests.transactions.TransactionTests.transactions with no inputs can have any notary,OK,831
-278,net.corda.coretests.transactions.TransactionTests.transaction cannot have duplicate inputs,OK,2
-279,net.corda.coretests.transactions.ReferenceStateTests.create a reference state then refer to it multiple times,OK,1952
-280,net.corda.coretests.transactions.ReferenceStateTests.Non-creator node cannot spend spend a reference state,OK,2088
-281,net.corda.coretests.transactions.ReferenceStateTests.state ref cannot be a reference input and regular input in the same transaction,OK,1
-282,net.corda.coretests.transactions.ReferenceStateTests.Can't use old reference states,OK,2104
-283,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Test valid overlapping file condition,OK,1241
-284,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Allow loading an untrusted contract jar if another attachment exists that was signed with the same keys and uploaded by a trusted uploader,OK,423
-285,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Test valid overlapping contract jar,OK,782
-286,net.corda.coretests.transactions.AttachmentsClassLoaderTests.No overlapping exception thrown on certain META-INF files,OK,55
-287,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Allow loading an untrusted contract jar if another attachment exists that was signed by a trusted uploader - intersection of keys match existing attachment,OK,2
-288,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Dynamically load AnotherDummyContract from isolated contracts jar using the AttachmentsClassLoader,OK,20
-289,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Cannot load an untrusted contract jar if it is signed by a blacklisted key even if there is another attachment signed by the same keys that is trusted,OK,7
-290,net.corda.coretests.transactions.AttachmentsClassLoaderTests.partial overlaps not possible,OK,22
-291,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Test non-overlapping contract jar,OK,12
-292,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Cannot load an untrusted contract jar if no other attachment exists that was signed with the same keys and uploaded by a trusted uploader,OK,4
-293,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Attachments with inherited trust do not grant trust to attachments being loaded(no chain of trust),OK,5
-294,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Allow loading untrusted resource jars but only trusted jars that contain class files,OK,35
-295,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Test overlapping file exception,OK,13
-296,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Overlapping rules for META-INF random service files,OK,8
-297,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Test non-overlapping different contract jars,OK,346
-298,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Loading AnotherDummyContract without using the AttachmentsClassLoader fails,OK,2
-299,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Cannot load an untrusted contract jar if no other attachment exists that was signed with the same keys,OK,3
-300,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Overlapping rules for META-INF SerializationWhitelist files,OK,13
-301,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Allow loading a trusted attachment that is signed by a blacklisted key,OK,1
-302,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Check platform independent path handling in attachment jars,OK,10
-303,net.corda.coretests.transactions.AttachmentsClassLoaderTests.Load text resources from AttachmentsClassLoader,OK,8
-304,net.corda.coretests.serialization.AttachmentSerializationTest.only the hash of a FetchAttachmentsFlow attachment should be saved in checkpoint,OK,11747
-305,net.corda.coretests.serialization.AttachmentSerializationTest.custom (and non-persisted) attachment should be saved in checkpoint,OK,2419
-306,net.corda.coretests.serialization.AttachmentSerializationTest.custom attachment should be saved in checkpoint even if its data was persisted,OK,2394
-307,net.corda.coretests.serialization.AttachmentSerializationTest.only the hash of a regular attachment should be saved in checkpoint,OK,2443
-308,net.corda.coretests.serialization.TransactionSerializationTests.storeAndLoadWhenSigning,OK,1620
-309,net.corda.coretests.serialization.TransactionSerializationTests.signWireTX,OK,953
-310,net.corda.coretests.serialization.TransactionSerializationTests.wrongKeys,OK,837
-311,net.corda.coretests.serialization.TransactionSerializationTests.timeWindow,OK,796
-312,net.corda.coretests.serialization.NotaryExceptionSerializationTest.testSerializationRoundTrip,OK,102
-313,net.corda.coretests.serialization.CommandsSerializationTests.test cash move serialization,OK,28
-314,net.corda.coretests.contracts.RequireSingleCommandTests.check function returns one value[Inline version],OK,6
-315,net.corda.coretests.contracts.RequireSingleCommandTests.check error is thrown when command is of wrong type[Inline version],OK,53
-316,net.corda.coretests.contracts.RequireSingleCommandTests.check error is thrown if more than one valid command[Inline version],OK,0
-317,net.corda.coretests.contracts.RequireSingleCommandTests.check function returns one value[Interop version],OK,0
-318,net.corda.coretests.contracts.RequireSingleCommandTests.check error is thrown when command is of wrong type[Interop version],OK,0
-319,net.corda.coretests.contracts.RequireSingleCommandTests.check error is thrown if more than one valid command[Interop version],OK,0
-320,net.corda.coretests.contracts.TransactionVerificationExceptionSerialisationTests.untrustedAttachmentsExceptionTest,OK,21
-321,net.corda.coretests.contracts.TransactionVerificationExceptionSerialisationTests.contractRejectionTest,OK,20
-322,net.corda.coretests.contracts.TransactionVerificationExceptionSerialisationTests.conflictingAttachmentsRejectionTest,OK,8
-323,net.corda.coretests.contracts.TransactionVerificationExceptionSerialisationTests.transactionMissingEncumbranceTest,OK,9
-324,net.corda.coretests.contracts.TransactionVerificationExceptionSerialisationTests.notaryChangeInWrongTransactionTypeTest,OK,11
-325,net.corda.coretests.contracts.TransactionVerificationExceptionSerialisationTests.contractConstraintRejectionTest,OK,4
-326,net.corda.coretests.contracts.TransactionVerificationExceptionSerialisationTests.contractCreationErrorTest,OK,8
-327,net.corda.coretests.contracts.TransactionVerificationExceptionSerialisationTests.packageOwnershipExceptionTest,OK,9
-328,net.corda.coretests.contracts.TransactionVerificationExceptionSerialisationTests.invalidAttachmentExceptionTest,OK,7
-329,net.corda.coretests.contracts.TransactionVerificationExceptionSerialisationTests.overlappingAttachmentsExceptionTest,OK,5
-330,net.corda.coretests.contracts.TransactionVerificationExceptionSerialisationTests.missingAttachmentRejectionTest,OK,6
-331,net.corda.coretests.contracts.PackageOwnershipVerificationTests.packages that do not have contracts in are still ownable,OK,99
-332,net.corda.coretests.contracts.PackageOwnershipVerificationTests.Transaction validation fails when the selected attachment is not signed by the owner,OK,15
-333,net.corda.coretests.contracts.PackageOwnershipVerificationTests.Happy path - Transaction validates when package signed by owner,OK,1004
-334,net.corda.coretests.contracts.ConstraintsPropagationTests.Input state contract version is compatible with the same version,OK,1588
-335,net.corda.coretests.contracts.ConstraintsPropagationTests.Happy path with the HashConstraint,OK,1086
-336,"net.corda.coretests.contracts.ConstraintsPropagationTests.Transaction validation fails, when constraints do not propagate correctly",OK,936
-337,"net.corda.coretests.contracts.ConstraintsPropagationTests.Switching from the WhitelistConstraint to the Signature Constraint is possible if the attachment satisfies both constraints, and the signature constraint inherits all jar signatures",OK,1782
-338,net.corda.coretests.contracts.ConstraintsPropagationTests.Input state contract version is compatible with higher version,OK,1549
-339,"net.corda.coretests.contracts.ConstraintsPropagationTests.On contract annotated with NoConstraintPropagation there is no platform check for propagation, but the transaction builder can't use the AutomaticPlaceholderConstraint",OK,1012
-340,net.corda.coretests.contracts.ConstraintsPropagationTests.Input state without contract version is compatible with any version,OK,1533
-341,net.corda.coretests.contracts.ConstraintsPropagationTests.Signature Constraints canBeTransitionedFrom Hash Constraints behaves as expected,OK,296
-342,"net.corda.coretests.contracts.ConstraintsPropagationTests.When the constraint of the output state is a valid transition from the input state, transaction validation works",OK,800
-343,net.corda.coretests.contracts.ConstraintsPropagationTests.Fail early in the TransactionBuilder when attempting to change the hash of the HashConstraint on the spending transaction,OK,972
-344,net.corda.coretests.contracts.ConstraintsPropagationTests.Input states contract version may be lower that current contract version,OK,1491
-345,net.corda.coretests.contracts.ConstraintsPropagationTests.Input state with contract version can be downgraded to no version,OK,1733
-346,net.corda.coretests.contracts.ConstraintsPropagationTests.Happy path for Hash to Signature Constraint migration,Ignored,101
-347,net.corda.coretests.contracts.ConstraintsPropagationTests.Attachment canBeTransitionedFrom behaves as expected,OK,33
-348,net.corda.coretests.contracts.ConstraintsPropagationTests.Input state contract version may be incompatible with lower version,OK,1490
-349,net.corda.coretests.contracts.ConstraintsPropagationTests.Switching from the WhitelistConstraint to the Signature Constraint fails if the signature constraint does not inherit all jar signatures,OK,988
-350,net.corda.coretests.contracts.SelectWithSingleInputsTests.check that function returns commands from valid signers[Inline version],OK,0
-351,net.corda.coretests.contracts.SelectWithSingleInputsTests.check that function returns all values[Inline version],OK,0
-352,net.corda.coretests.contracts.SelectWithSingleInputsTests.check that function returns commands from valid parties[Inline version],OK,0
-353,net.corda.coretests.contracts.SelectWithSingleInputsTests.check that function does not return invalid command types[Inline version],OK,0
-354,net.corda.coretests.contracts.SelectWithSingleInputsTests.check that function returns commands from valid signers[Interop version],OK,0
-355,net.corda.coretests.contracts.SelectWithSingleInputsTests.check that function returns all values[Interop version],OK,0
-356,net.corda.coretests.contracts.SelectWithSingleInputsTests.check that function returns commands from valid parties[Interop version],OK,0
-357,net.corda.coretests.contracts.SelectWithSingleInputsTests.check that function does not return invalid command types[Interop version],OK,0
-358,net.corda.coretests.contracts.ContractHierarchyTest.hierarchical contracts work with mock network,OK,15574
-359,net.corda.coretests.contracts.SelectWithMultipleInputsTests.check that function returns commands from all valid signers[Inline version],OK,10
-360,net.corda.coretests.contracts.SelectWithMultipleInputsTests.check that function returns commands from valid signers[Inline version],OK,0
-361,net.corda.coretests.contracts.SelectWithMultipleInputsTests.check that function returns commands from all valid parties[Inline version],OK,1
-362,net.corda.coretests.contracts.SelectWithMultipleInputsTests.check that function returns all values[Inline version],OK,0
-363,net.corda.coretests.contracts.SelectWithMultipleInputsTests.check that function returns commands from valid parties[Inline version],OK,0
-364,net.corda.coretests.contracts.SelectWithMultipleInputsTests.check that function does not return invalid command types[Inline version],OK,0
-365,net.corda.coretests.contracts.SelectWithMultipleInputsTests.check that function returns commands from all valid signers[Interop version],OK,0
-366,net.corda.coretests.contracts.SelectWithMultipleInputsTests.check that function returns commands from valid signers[Interop version],OK,0
-367,net.corda.coretests.contracts.SelectWithMultipleInputsTests.check that function returns commands from all valid parties[Interop version],OK,0
-368,net.corda.coretests.contracts.SelectWithMultipleInputsTests.check that function returns all values[Interop version],OK,1
-369,net.corda.coretests.contracts.SelectWithMultipleInputsTests.check that function returns commands from valid parties[Interop version],OK,0
-370,net.corda.coretests.contracts.SelectWithMultipleInputsTests.check that function does not return invalid command types[Interop version],OK,0
-371,net.corda.coretests.contracts.TimeWindowTest.fromOnly,OK,58
-372,net.corda.coretests.contracts.TimeWindowTest.fromStartAndDuration,OK,1
-373,net.corda.coretests.contracts.TimeWindowTest.between,OK,1
-374,net.corda.coretests.contracts.TimeWindowTest.untilOnly,OK,1
-375,net.corda.coretests.contracts.TimeWindowTest.withTolerance,OK,0
-376,net.corda.coretests.contracts.AmountTests.make sure Amount has decimal places,OK,5
-377,net.corda.coretests.contracts.AmountTests.amount transfer apply,OK,18
-378,net.corda.coretests.contracts.AmountTests.decimal conversion,OK,2
-379,net.corda.coretests.contracts.AmountTests.amount transfer aggregation,OK,2
-380,net.corda.coretests.contracts.AmountTests.testGbpParse,OK,0
-381,net.corda.coretests.contracts.AmountTests.split,OK,637
-382,net.corda.coretests.contracts.AmountTests.amount transfers equality,OK,0
-383,net.corda.coretests.schemas.MappedSchemasCrossReferenceDetectionTests.cross reference to other schema is detected java,OK,17
-384,net.corda.coretests.schemas.MappedSchemasCrossReferenceDetectionTests.no cross reference to other schema java,OK,0
-385,net.corda.coretests.schemas.MappedSchemasCrossReferenceDetectionTests.cross reference via non JPA field is allowed java,OK,2
-386,net.corda.coretests.schemas.MappedSchemasCrossReferenceDetectionTests.cross reference to other schema is detected,OK,6
-387,net.corda.coretests.schemas.MappedSchemasCrossReferenceDetectionTests.cross reference via transient field is allowed java,OK,2
-388,net.corda.coretests.schemas.MappedSchemasCrossReferenceDetectionTests.cross reference via transient field is allowed,OK,1
-389,net.corda.coretests.schemas.MappedSchemasCrossReferenceDetectionTests.no cross reference to other schema,OK,1
-390,net.corda.coretests.schemas.MappedSchemasCrossReferenceDetectionTests.cross reference via non JPA field is allowed,OK,1
-391,net.corda.coretests.schemas.MappedSchemasCrossReferenceDetectionTests.cross reference to other schema via field is detected java,OK,1
-392,net.corda.coretests.crypto.PartialMerkleTreeTest.Find leaf index,OK,1174
-393,net.corda.coretests.crypto.PartialMerkleTreeTest.verify Partial Merkle Tree - too many leaves failure,OK,833
-394,net.corda.coretests.crypto.PartialMerkleTreeTest.building Merkle tree odd number of nodes,OK,735
-395,net.corda.coretests.crypto.PartialMerkleTreeTest.build Partial Merkle Tree - duplicate leaves failure,OK,932
-396,net.corda.coretests.crypto.PartialMerkleTreeTest.same transactions with different notaries have different ids,OK,701
-397,net.corda.coretests.crypto.PartialMerkleTreeTest.hash map serialization not allowed,OK,688
-398,net.corda.coretests.crypto.PartialMerkleTreeTest.building Merkle tree - no hashes,OK,673
-399,net.corda.coretests.crypto.PartialMerkleTreeTest.nothing filtered,OK,866
-400,"net.corda.coretests.crypto.PartialMerkleTreeTest.build Partial Merkle Tree, include all leaves",OK,720
-401,net.corda.coretests.crypto.PartialMerkleTreeTest.building Merkle for reference states only,OK,789
-402,net.corda.coretests.crypto.PartialMerkleTreeTest.check full tree,OK,728
-403,net.corda.coretests.crypto.PartialMerkleTreeTest.building Merkle tree for a tx and nonce test,OK,871
-404,net.corda.coretests.crypto.PartialMerkleTreeTest.verify Partial Merkle Tree - different leaves failure,OK,695
-405,"net.corda.coretests.crypto.PartialMerkleTreeTest.build Partial Merkle Tree, include zero leaves",OK,667
-406,"net.corda.coretests.crypto.PartialMerkleTreeTest.build Partial Merkle Tree - only duplicate leaves, less included failure",OK,701
-407,net.corda.coretests.crypto.PartialMerkleTreeTest.building Merkle tree with 6 nodes - no rightmost nodes,OK,1003
-408,net.corda.coretests.crypto.PartialMerkleTreeTest.building Merkle tree one node,OK,771
-409,net.corda.coretests.crypto.PartialMerkleTreeTest.verify Partial Merkle Tree - duplicate leaves failure,OK,669
-410,net.corda.coretests.crypto.PartialMerkleTreeTest.verify Partial Merkle Tree - wrong root,OK,795
-411,"net.corda.coretests.crypto.PartialMerkleTreeTest.build Partial Merkle Tree, only left nodes branch",OK,1043
-412,net.corda.coretests.crypto.PartialMerkleTreeTest.verify Partial Merkle Tree - too little leaves failure,OK,702
-413,net.corda.coretests.crypto.TransactionSignatureTest.Verify one-tx signature,OK,6
-414,net.corda.coretests.crypto.TransactionSignatureTest.Signature metadata full sign and verify,OK,16
-415,net.corda.coretests.crypto.TransactionSignatureTest.Signature metadata full failure clearData has changed,OK,7
-416,net.corda.coretests.crypto.TransactionSignatureTest.Verify multi-tx signature,OK,9
-417,net.corda.coretests.crypto.CompositeKeyTests.der encoded tree decodes correctly,OK,7
-418,net.corda.coretests.crypto.CompositeKeyTests.Test save to keystore,OK,831
-419,net.corda.coretests.crypto.CompositeKeyTests.((Alice and Bob) or Charlie) signature verifies,OK,2
-420,net.corda.coretests.crypto.CompositeKeyTests.CompositeKey deterministic children sorting,OK,356
-421,net.corda.coretests.crypto.CompositeKeyTests.CompositeKey from multiple signature schemes and signature verification,OK,529
-422,net.corda.coretests.crypto.CompositeKeyTests.encoded tree decodes correctly,OK,2
-423,net.corda.coretests.crypto.CompositeKeyTests.composite key constraints,OK,4
-424,net.corda.coretests.crypto.CompositeKeyTests.(Alice or Bob) fulfilled by either signature,OK,4
-425,net.corda.coretests.crypto.CompositeKeyTests.(Alice and Bob) requires both signatures to fulfil,OK,5
-426,net.corda.coretests.crypto.CompositeKeyTests.(Alice) fulfilled by Alice signature,OK,3
-427,net.corda.coretests.crypto.CompositeKeyTests.tree canonical form,OK,1
-428,net.corda.coretests.crypto.CompositeKeyTests.der encoded tree decodes correctly with weighting,OK,1
-429,net.corda.coretests.crypto.CompositeKeyTests.composite TransactionSignature verification ,OK,25
-430,"net.corda.coretests.crypto.CompositeKeyTests.(Alice and Bob) fulfilled by Alice, Bob signatures",OK,3
-431,net.corda.coretests.crypto.CompositeKeyTests.composite key validation with graph cycle detection,OK,0
-432,net.corda.coretests.crypto.X509NameConstraintsTest.test private key retrieval,OK,11
-433,net.corda.coretests.crypto.X509NameConstraintsTest.illegal common name,OK,47
-434,net.corda.coretests.crypto.X509NameConstraintsTest.x500 name with correct cn and extra attribute,OK,80
-435,net.corda.coretests.crypto.SignedDataTest.make sure correctly signed data is released,OK,2
-436,net.corda.coretests.crypto.SignedDataTest.make sure incorrectly signed data raises an exception,OK,2
-437,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionAddAllTester.testAddAll_unsupportedSomePresent[Guava test suite [collection size: several]],OK,50
-438,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionAddAllTester.testAddAll_unsupportedNothing[Guava test suite [collection size: several]],OK,1
-439,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionAddAllTester.testAddAll_unsupportedNonePresent[Guava test suite [collection size: several]],OK,0
-440,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionAddAllTester.testAddAll_unsupportedAllPresent[Guava test suite [collection size: several]],OK,0
-441,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionAddTester.testAdd_unsupportedNotPresent[Guava test suite [collection size: several]],OK,0
-442,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionAddTester.testAdd_unsupportedPresent[Guava test suite [collection size: several]],OK,1
-443,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionClearTester.testClear_unsupported[Guava test suite [collection size: several]],OK,0
-444,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsAllTester.testContainsAll_subset[Guava test suite [collection size: several]],OK,0
-445,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsAllTester.testContainsAll_nullAllowed[Guava test suite [collection size: several]],OK,0
-446,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsAllTester.testContainsAll_nullPresent[Guava test suite [collection size: several]],OK,0
-447,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsAllTester.testContainsAll_disjoint[Guava test suite [collection size: several]],OK,0
-448,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsAllTester.testContainsAll_self[Guava test suite [collection size: several]],OK,0
-449,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsAllTester.testContainsAll_wrongType[Guava test suite [collection size: several]],OK,1
-450,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsAllTester.testContainsAll_empty[Guava test suite [collection size: several]],OK,0
-451,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsAllTester.testContainsAll_sameElements[Guava test suite [collection size: several]],OK,0
-452,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsAllTester.testContainsAll_partialOverlap[Guava test suite [collection size: several]],OK,0
-453,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsTester.testContains_nonNullWhenNullContained[Guava test suite [collection size: several]],OK,0
-454,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsTester.testContains_nullNotContainedButQueriesSupported[Guava test suite [collection size: several]],OK,0
-455,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsTester.testContains_yes[Guava test suite [collection size: several]],OK,0
-456,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsTester.testContains_no[Guava test suite [collection size: several]],OK,0
-457,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsTester.testContains_nullContained[Guava test suite [collection size: several]],OK,0
-458,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionContainsTester.testContains_wrongType[Guava test suite [collection size: several]],OK,0
-459,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionCreationTester.testCreateWithNull_supported[Guava test suite [collection size: several]],OK,0
-460,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionEqualsTester.testEquals_null[Guava test suite [collection size: several]],OK,0
-461,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionEqualsTester.testEquals_self[Guava test suite [collection size: several]],OK,0
-462,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionEqualsTester.testEquals_notACollection[Guava test suite [collection size: several]],OK,0
-463,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionForEachTester.testForEachKnownOrder[Guava test suite [collection size: several]],OK,4
-464,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionIsEmptyTester.testIsEmpty_no[Guava test suite [collection size: several]],OK,0
-465,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionIteratorTester.testIteratorNoSuchElementException[Guava test suite [collection size: several]],OK,0
-466,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionIteratorTester.testIterationOrdering[Guava test suite [collection size: several]],OK,0
-467,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionIteratorTester.testIterator_knownOrderRemoveUnsupported[Guava test suite [collection size: several]],OK,18
-468,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionIteratorTester.testIterator[Guava test suite [collection size: several]],OK,0
-469,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionRemoveAllTester.testRemoveAll_unsupportedPresent[Guava test suite [collection size: several]],OK,1
-470,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionRemoveAllTester.testRemoveAll_unsupportedEmptyCollection[Guava test suite [collection size: several]],OK,0
-471,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionRemoveAllTester.testRemoveAll_unsupportedNonePresent[Guava test suite [collection size: several]],OK,0
-472,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionRemoveIfTester.testRemoveIf_alwaysTrueUnsupported[Guava test suite [collection size: several]],OK,3
-473,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionRemoveTester.testRemove_unsupportedNotPresent[Guava test suite [collection size: several]],OK,0
-474,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionRemoveTester.testRemove_unsupported[Guava test suite [collection size: several]],OK,0
-475,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionRemoveTester.testIteratorRemove_unsupported[Guava test suite [collection size: several]],OK,0
-476,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionRetainAllTester.testRetainAll_disjointPreviouslyNonEmptyUnsupported[Guava test suite [collection size: several]],OK,0
-477,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionRetainAllTester.testRetainAll_emptyPreviouslyNonEmptyUnsupported[Guava test suite [collection size: several]],OK,1
-478,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionRetainAllTester.testRetainAll_supersetUnsupported[Guava test suite [collection size: several]],OK,0
-479,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionRetainAllTester.testRetainAll_partialOverlapUnsupported[Guava test suite [collection size: several]],OK,0
-480,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionRetainAllTester.testRetainAll_subsetUnsupported[Guava test suite [collection size: several]],OK,0
-481,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionRetainAllTester.testRetainAll_sameElementsUnsupported[Guava test suite [collection size: several]],OK,0
-482,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionSizeTester.testSize[Guava test suite [collection size: several]],OK,0
-483,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionSpliteratorTester.testSpliteratorKnownOrder[Guava test suite [collection size: several]],OK,14
-484,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionSpliteratorTester.testSpliteratorNullable[Guava test suite [collection size: several]],OK,1
-485,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionStreamTester.testStreamToArrayKnownOrder[Guava test suite [collection size: several]],OK,4
-486,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionStreamTester.testStreamCount[Guava test suite [collection size: several]],OK,2
-487,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToArrayTester.testToArray_emptyArray[Guava test suite [collection size: several]],OK,2
-488,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToArrayTester.testToArray_oversizedArray[Guava test suite [collection size: several]],OK,0
-489,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToArrayTester.testToArray_rightSizedArray_ordered[Guava test suite [collection size: several]],OK,0
-490,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToArrayTester.testToArray_emptyArrayOfObject[Guava test suite [collection size: several]],OK,0
-491,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToArrayTester.testToArray_rightSizedArrayOfObject_ordered[Guava test suite [collection size: several]],OK,0
-492,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToArrayTester.testToArray_emptyArrayOfWrongTypeForNonEmptyCollection[Guava test suite [collection size: several]],OK,0
-493,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToArrayTester.testToArray_noArgs[Guava test suite [collection size: several]],OK,0
-494,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToArrayTester.testToArray_oversizedArray_ordered[Guava test suite [collection size: several]],OK,0
-495,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToArrayTester.testToArray_isPlainObjectArray[Guava test suite [collection size: several]],OK,0
-496,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToArrayTester.testToArray_rightSizedArrayOfObject[Guava test suite [collection size: several]],OK,0
-497,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToArrayTester.testToArray_emptyArray_ordered[Guava test suite [collection size: several]],OK,0
-498,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToArrayTester.testToArray_rightSizedArray[Guava test suite [collection size: several]],OK,1
-499,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToStringTester.testToString_sizeSeveral[Guava test suite [collection size: several]],OK,0
-500,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToStringTester.testToString_null[Guava test suite [collection size: several]],OK,0
-501,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.CollectionToStringTester.testToString_minimal[Guava test suite [collection size: several]],OK,0
-502,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.SetCreationTester.testCreateWithDuplicates_nonNullDuplicatesNotRejected[Guava test suite [collection size: several]],OK,0
-503,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.SetCreationTester.testCreateWithDuplicates_nullDuplicatesNotRejected[Guava test suite [collection size: several]],OK,0
-504,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.SetHashCodeTester.testHashCode_containingNull[Guava test suite [collection size: several]],OK,0
-505,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.SetHashCodeTester.testHashCode[Guava test suite [collection size: several]],OK,0
-506,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.SetEqualsTester.testEquals_list[Guava test suite [collection size: several]],OK,0
-507,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.SetEqualsTester.testEquals_otherSetWithSameElements[Guava test suite [collection size: several]],OK,1
-508,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.SetEqualsTester.testEquals_largerSet[Guava test suite [collection size: several]],OK,0
-509,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.SetEqualsTester.testEquals_otherContainsNull[Guava test suite [collection size: several]],OK,0
-510,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.SetEqualsTester.testEquals_smallerSet[Guava test suite [collection size: several]],OK,0
-511,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.SetEqualsTester.testEquals_otherSetWithDifferentElements[Guava test suite [collection size: several]],OK,0
-512,net.corda.coretests.utilities.NonEmptySetTest: com.google.common.collect.testing.testers.SetEqualsTester.testEquals_containingNull[Guava test suite [collection size: several]],OK,0
-513,net.corda.coretests.utilities.NonEmptySetTest: net.corda.coretests.utilities.NonEmptySetTest$General.copyOf - empty source,OK,61
-514,net.corda.coretests.utilities.NonEmptySetTest: net.corda.coretests.utilities.NonEmptySetTest$General.serialize deserialize,OK,474
-515,net.corda.coretests.utilities.NonEmptySetTest: net.corda.coretests.utilities.NonEmptySetTest$General.head,OK,2
-516,net.corda.coretests.utilities.NonEmptySetTest$General.copyOf - empty source,OK,0
-517,net.corda.coretests.utilities.NonEmptySetTest$General.serialize deserialize,OK,3
-518,net.corda.coretests.utilities.NonEmptySetTest$General.head,OK,0
-519,net.corda.coretests.utilities.KotlinUtilsTest.checkpointing a transient property with non-capturing lambda,OK,889
-520,net.corda.coretests.utilities.KotlinUtilsTest.checkpointing a transient property with capturing lambda,OK,16
-521,net.corda.coretests.utilities.KotlinUtilsTest.deserialise transient property with capturing lambda,OK,9
-522,net.corda.coretests.utilities.KotlinUtilsTest.transient property which is null,OK,1
-523,net.corda.coretests.utilities.KotlinUtilsTest.deserialise transient property with non-capturing lambda,OK,1
-524,net.corda.coretests.utilities.ProgressTrackerTest.nested children are stepped correctly,OK,53
-525,net.corda.coretests.utilities.ProgressTrackerTest.all index changes seen if subscribed mid flow,OK,11
-526,net.corda.coretests.utilities.ProgressTrackerTest.structure changes are pushed down when progress trackers are added,OK,3
-527,net.corda.coretests.utilities.ProgressTrackerTest.structure changes are pushed down when progress trackers are removed,OK,4
-528,net.corda.coretests.utilities.ProgressTrackerTest.check basic steps,OK,3
-529,net.corda.coretests.utilities.ProgressTrackerTest.Serializing and deserializing a tracker maintains equality,OK,9
-530,net.corda.coretests.utilities.ProgressTrackerTest.steps tree index counts children steps,OK,3
-531,net.corda.coretests.utilities.ProgressTrackerTest.can be rewound,OK,1
-532,net.corda.coretests.utilities.ProgressTrackerTest.Steps with the same label defined in different places are not equal,OK,1
-533,net.corda.coretests.utilities.ProgressTrackerTest.trees with child trackers with duplicate steps reported correctly,OK,2
-534,net.corda.coretests.utilities.ProgressTrackerTest.cannot assign step not belonging to this progress tracker,OK,1
-535,net.corda.coretests.utilities.ProgressTrackerTest.Steps with the same label defined in the same place are also not equal,OK,0
-536,net.corda.coretests.utilities.ProgressTrackerTest.cannot go beyond end,OK,1
-537,net.corda.coretests.utilities.ProgressTrackerTest.steps tree index counts two levels of children steps,OK,4
-538,net.corda.coretests.utilities.ProgressTrackerTest.all tree changes seen if subscribed mid flow,OK,2
-539,net.corda.coretests.utilities.ProgressTrackerTest.all step changes seen if subscribed mid flow,OK,1
-540,net.corda.coretests.utilities.ProgressTrackerTest.can assign a recreated equal step,OK,2
-541,net.corda.coretests.flows.AttachmentTests.maliciousResponse,OK,1407
-542,net.corda.coretests.flows.AttachmentTests.missing,OK,124
-543,net.corda.coretests.flows.AttachmentTests.download and store,OK,144
-544,net.corda.coretests.flows.ReceiveFinalityFlowTest.sent to flow hospital on error and retry on node restart,OK,4423
-545,net.corda.coretests.flows.ReceiveMultipleFlowTests.showcase_flows_as_closures,OK,57
-546,net.corda.coretests.flows.ReceiveMultipleFlowTests.receive all messages in parallel using list style,OK,73
-547,net.corda.coretests.flows.ReceiveMultipleFlowTests.receive all messages in parallel using map style,OK,69
-548,net.corda.coretests.flows.ReferencedStatesFlowTests.check old ref state is consumed when update used in tx with relevant states,OK,3020
-549,net.corda.coretests.flows.ReferencedStatesFlowTests.check schema mappings are updated for reference states,OK,2622
-550,net.corda.coretests.flows.ReferencedStatesFlowTests.check ref state is persisted when used in tx with relevant states,OK,2250
-551,net.corda.coretests.flows.ReferencedStatesFlowTests.check consumed reference state is found if a transaction refers to it,OK,2236
-552,net.corda.coretests.flows.ReferencedStatesFlowTests.with referenced states flow blocks until the reference state update is received,OK,2585
-553,net.corda.coretests.flows.CollectSignaturesFlowTests.successfully collects signatures when sessions are initiated with both AnonymousParty and WellKnownParty,OK,881
-554,net.corda.coretests.flows.CollectSignaturesFlowTests.successfully collects three signatures,OK,159
-555,net.corda.coretests.flows.CollectSignaturesFlowTests.no need to collect any signatures,OK,15
-556,net.corda.coretests.flows.CollectSignaturesFlowTests.passes with multiple initial signatures,OK,15
-557,net.corda.coretests.flows.CollectSignaturesFlowTests.fails when not signed by initiator,OK,19
-558,net.corda.coretests.flows.CollectSignaturesFlowTests.successfully collects signatures when sessions are initiated with AnonymousParty,OK,161
-559,net.corda.coretests.flows.FinalityFlowTests.finalise a simple transaction,OK,1346
-560,net.corda.coretests.flows.FinalityFlowTests.reject a transaction with unknown parties,OK,1174
-561,net.corda.coretests.flows.FinalityFlowTests.broadcasting to both new and old participants,OK,1515
-562,net.corda.coretests.flows.FinalityFlowTests.allow use of the old API if the CorDapp target version is 3,OK,1426
-563,net.corda.coretests.flows.ContractUpgradeFlowRPCTest.2 parties contract upgrade using RPC,OK,4876
-564,net.corda.coretests.flows.ContractUpgradeFlowTest.upgrade Cash to v2,OK,2877
-565,net.corda.coretests.flows.ContractUpgradeFlowTest.2 parties contract upgrade,OK,1220
-566,net.corda.coretests.flows.FastThreadLocalTest.ThreadLocal with FastThreadLocalThread is fiber-local,OK,23
-567,net.corda.coretests.flows.FastThreadLocalTest.ThreadLocal with plain old Thread is fiber-local,OK,15
-568,net.corda.coretests.flows.FastThreadLocalTest.FastThreadLocal with FastThreadLocalThread is not fiber-local,OK,18
-569,net.corda.coretests.flows.FastThreadLocalTest.FastThreadLocal content is not serialized,OK,48
-570,net.corda.coretests.flows.FastThreadLocalTest.FastThreadLocal with plain old Thread is fiber-local,OK,20
-571,net.corda.coretests.flows.FastThreadLocalTest.ThreadLocal content is not serialized,OK,5
-572,net.corda.coretests.internal.NetworkParametersResolutionTest.incorrect triangle of transactions,OK,3457
-573,net.corda.coretests.internal.NetworkParametersResolutionTest.transaction chain out of order parameters with default,OK,3107
-574,net.corda.coretests.internal.NetworkParametersResolutionTest.request parameters that are not in the storage,OK,3102
-575,net.corda.coretests.internal.NetworkParametersResolutionTest.parameters all null,OK,2226
-576,net.corda.coretests.internal.NetworkParametersResolutionTest.transaction chain out of order parameters,OK,3266
-577,net.corda.coretests.internal.ResolveTransactionsFlowTest.triangle of transactions resolves fine,OK,2735
-578,net.corda.coretests.internal.ResolveTransactionsFlowTest.attachment,OK,3382
-579,net.corda.coretests.internal.ResolveTransactionsFlowTest.Requesting a transaction without having the right to see it results in exception,OK,2468
-580,net.corda.coretests.internal.ResolveTransactionsFlowTest.resolve from a signed transaction,OK,2447
-581,net.corda.coretests.internal.ResolveTransactionsFlowTest.can resolve a chain of transactions containing a notary change transaction,OK,2978
-582,net.corda.coretests.internal.ResolveTransactionsFlowTest.resolution works when transaction in chain is already resolved,OK,2380
-583,net.corda.coretests.internal.ResolveTransactionsFlowTest.Requesting a transaction twice results in exception,OK,2277
-584,net.corda.coretests.internal.ResolveTransactionsFlowTest.dependency with an error,OK,2445
-585,net.corda.coretests.internal.ResolveTransactionsFlowTest.can resolve a chain of transactions containing a contract upgrade transaction,OK,2177
-586,net.corda.coretests.internal.ResolveTransactionsFlowTest.resolve from two hashes,OK,2490
-587,net.corda.coretests.internal.ResolveTransactionsFlowTest.Can resolve large chain of transactions,Ignored,0
-588,net.corda.coretests.internal.ResolveTransactionsFlowTest.Requesting a transaction while having the right to see it succeeds,OK,2051
-589,net.corda.coretests.internal.CertRoleTests.check cert roles verify for various cert hierarchies,OK,25
-590,net.corda.coretests.internal.CertRoleTests.should reject invalid values,OK,2
-591,net.corda.coretests.internal.CertRoleTests.should deserialize valid value,OK,0
-592,net.corda.coretests.node.NodeInfoTests.should return false when the X500Name is not present on the node,OK,7
-593,net.corda.coretests.node.NodeInfoTests.should return true when the X500Name is present on the node,OK,6
-594,net.corda.coretests.node.NetworkParametersTest.node works fine when on higher platform version,OK,292
-595,net.corda.coretests.node.NetworkParametersTest.package ownership checks are correct,OK,3
-596,net.corda.coretests.node.NetworkParametersTest.that we can copy while preserving the event horizon,OK,1
-597,net.corda.coretests.node.NetworkParametersTest.choosing notary not specified in network parameters will fail,OK,641
-598,net.corda.coretests.node.NetworkParametersTest.node shutdowns when on lower platform version than network,OK,39
-599,net.corda.coretests.node.VaultUpdateTests.can't combine updates of different types,OK,0
-600,net.corda.coretests.node.VaultUpdateTests.nothing plus nothing is nothing,OK,0
-601,net.corda.coretests.node.VaultUpdateTests.something plus consume state 0 is something without state 0 output,OK,1
-602,net.corda.coretests.node.VaultUpdateTests.nothing plus something is something,OK,0
-603,"net.corda.coretests.node.VaultUpdateTests.something plus consume states 0 and 1, and produce state 4, is something without state 0 and 1 outputs and only state 4 output",OK,0
-604,net.corda.coretests.node.VaultUpdateTests.something plus nothing is something,OK,0
-605,net.corda.coretests.node.VaultUpdateTests.something plus produce state 4 is something with additional state 4 output,OK,0
-606,net.corda.coretests.indentity.PartyTest.equality,OK,1
-607,net.corda.coretests.indentity.PartyAndCertificateTest.jdk serialization,OK,1182
-608,net.corda.coretests.indentity.PartyAndCertificateTest.reject a path with no roles,OK,2
-609,net.corda.coretests.indentity.PartyAndCertificateTest.kryo serialisation,OK,850
-610,net.corda.docs.java.tutorial.testdsl.TutorialTestDSL.simpleCPMoveFails,OK,3450
-611,net.corda.docs.java.tutorial.testdsl.TutorialTestDSL.chainCommercialPaperTweak,OK,3067
-612,net.corda.docs.java.tutorial.testdsl.TutorialTestDSL.simpleCPMove,OK,1853
-613,net.corda.docs.java.tutorial.testdsl.TutorialTestDSL.simpleIssuanceWithTweakTopLevelTx,OK,883
-614,net.corda.docs.java.tutorial.testdsl.TutorialTestDSL.simpleIssuanceWithTweak,OK,913
-615,net.corda.docs.java.tutorial.testdsl.TutorialTestDSL.simpleCPMoveSuccess,OK,1777
-616,net.corda.docs.java.tutorial.testdsl.TutorialTestDSL.simpleCPMoveSuccessAndFailure,OK,1763
-617,net.corda.docs.java.tutorial.testdsl.TutorialTestDSL.simpleCP,OK,902
-618,net.corda.docs.java.tutorial.testdsl.TutorialTestDSL.chainCommercialPaperDoubleSpend,OK,2652
-619,net.corda.docs.java.tutorial.testdsl.TutorialTestDSL.chainCommercialPaper,OK,2633
-620,net.corda.docs.ExampleConfigTest.example node_confs parses fine,OK,593
-621,net.corda.docs.kotlin.tutorial.testdsl.TutorialTestDSL.simpleCPMoveFails,OK,1793
-622,net.corda.docs.kotlin.tutorial.testdsl.TutorialTestDSL.simpleCPMove,OK,33
-623,net.corda.docs.kotlin.tutorial.testdsl.TutorialTestDSL.simple issuance with tweak,OK,46
-624,net.corda.docs.kotlin.tutorial.testdsl.TutorialTestDSL.simple issuance with tweak and top level transaction,OK,31
-625,net.corda.docs.kotlin.tutorial.testdsl.TutorialTestDSL.simpleCPMoveSuccess,OK,39
-626,net.corda.docs.kotlin.tutorial.testdsl.TutorialTestDSL.simpleCPMoveFailureAndSuccess,OK,50
-627,net.corda.docs.kotlin.tutorial.testdsl.TutorialTestDSL.simpleCP,OK,28
-628,net.corda.docs.kotlin.tutorial.testdsl.TutorialTestDSL.chain commercial paper double spend,OK,2781
-629,net.corda.docs.kotlin.tutorial.testdsl.TutorialTestDSL.chain commercial paper,OK,2556
-630,net.corda.docs.kotlin.tutorial.testdsl.TutorialTestDSL.chain commercial tweak,OK,2533
-631,net.corda.docs.kotlin.vault.CustomVaultQueryTest.query by max recorded time,OK,13877
-632,net.corda.docs.kotlin.vault.CustomVaultQueryTest.test custom vault query,OK,3507
-633,net.corda.docs.kotlin.txbuild.WorkflowTransactionBuildTutorialTest.Run workflow to completion,OK,2937
-634,net.corda.docs.kotlin.FxTransactionBuildTutorialTest.Run ForeignExchangeFlow to completion,OK,3232
-635,net.corda.node.services.vault.VaultQueryJavaTests.testExampleOfQueryingStatesWithPagingWorksCorrectly,OK,9777
-636,net.corda.node.services.vault.VaultQueryJavaTests.aggregateFunctionsWithoutGroupClause,OK,1181
-637,net.corda.node.services.vault.VaultQueryJavaTests.aggregateFunctionsSumByIssuerAndCurrencyAndSortByAggregateSum,OK,953
-638,net.corda.node.services.vault.VaultQueryJavaTests.trackCashStates,OK,799
-639,net.corda.node.services.vault.VaultQueryJavaTests.aggregateFunctionsWithSingleGroupClause,OK,783
-640,net.corda.node.services.vault.VaultQueryJavaTests.criteriaWithFieldFromMappedSuperclassOfSuperclass,OK,582
-641,net.corda.node.services.vault.VaultQueryJavaTests.trackDealStatesPagedSorted,OK,864
-642,net.corda.node.services.vault.VaultQueryJavaTests.customQueryForCashStatesWithAmountOfCurrencyGreaterOrEqualThanQuantity,OK,695
-643,net.corda.node.services.vault.VaultQueryJavaTests.unconsumedStatesForStateRefsSortedByTxnId,OK,700
-644,net.corda.node.services.vault.VaultQueryJavaTests.consumedCashStates,OK,712
-645,net.corda.node.services.vault.VaultQueryJavaTests.criteriaWithFieldFromMappedSuperclass,OK,607
-646,net.corda.node.services.vault.VaultQueryJavaTests.consumedDealStatesPagedSorted,OK,696
-647,net.corda.node.services.vault.VaultQueryJavaTests.testAttachmentQueryCriteria,OK,3562
-648,net.corda.node.services.vault.VaultQueryJavaTests.unconsumedLinearStates,OK,599
-649,net.corda.notary.experimental.bftsmart.BFTSmartConfigTests.min cluster size,OK,1
-650,net.corda.notary.experimental.bftsmart.BFTSmartConfigTests.overlapping port ranges are rejected,OK,12
-651,net.corda.notary.experimental.bftsmart.BFTSmartConfigTests.replica arithmetic,OK,0
-652,net.corda.notary.experimental.bftsmart.BFTNotaryServiceTests.transactions can be re-notarised outside their time window,Ignored,0
-653,net.corda.notary.experimental.bftsmart.BFTNotaryServiceTests.notarise issue tx with time-window,Ignored,0
-654,net.corda.notary.experimental.bftsmart.BFTNotaryServiceTests.transactions outside their time window are rejected,Ignored,0
-655,net.corda.notary.experimental.bftsmart.BFTNotaryServiceTests.detect double spend,Ignored,0
-656,net.corda.notary.experimental.raft.RaftNotaryServiceTests.notarise issue tx with time-window,OK,19363
-657,net.corda.notary.experimental.raft.RaftNotaryServiceTests.detect double spend,OK,15636
-658,net.corda.notary.experimental.raft.RaftTransactionCommitLogTests.transactions can be re-notarised outside their time window,OK,7123
-659,net.corda.notary.experimental.raft.RaftTransactionCommitLogTests.returns conflict for duplicate entries,OK,7282
-660,net.corda.notary.experimental.raft.RaftTransactionCommitLogTests.transactions outside their time window are rejected,OK,6844
-661,net.corda.notary.experimental.raft.RaftTransactionCommitLogTests.stores entries correctly,OK,7159
-662,net.corda.node.services.events.PersistentScheduledFlowRepositoryTest.test that item is rescheduled,OK,320
-663,net.corda.node.services.events.PersistentScheduledFlowRepositoryTest.test that earliest item is returned,OK,281
-664,net.corda.node.services.events.NodeSchedulerPersistenceTest.test that schedule is persisted,OK,2016
-665,net.corda.node.services.events.NodeSchedulerPersistenceTest.test that if schedule is updated then the flow is invoked on the correct schedule,Ignored,0
-666,net.corda.node.services.events.NodeSchedulerPersistenceTest.test that correct item is returned,OK,685
-667,net.corda.node.services.events.ScheduledFlowTests.run a whole batch of scheduled flows,OK,19357
-668,net.corda.node.services.events.ScheduledFlowTests.create and run scheduled flow then wait for result,OK,2362
-669,net.corda.node.services.events.NodeSchedulerServiceTest.test activity due in the future and schedule another for same time,OK,174
-670,net.corda.node.services.events.NodeSchedulerServiceTest.test activity due in the future and schedule another earlier,OK,28
-671,net.corda.node.services.events.NodeSchedulerServiceTest.test activity due in the future and schedule another for same time then unschedule second,OK,17
-672,net.corda.node.services.events.NodeSchedulerServiceTest.test activity due in the past,OK,13
-673,net.corda.node.services.events.NodeSchedulerServiceTest.test activity due in the future and schedule another later,OK,25
-674,net.corda.node.services.events.NodeSchedulerServiceTest.test activity due now,OK,13
-675,net.corda.node.services.events.NodeSchedulerServiceTest.test activity due in the future then unschedule,OK,4
-676,net.corda.node.services.events.NodeSchedulerServiceTest.test activity due in the future,OK,36
-677,net.corda.node.services.events.NodeSchedulerServiceTest.test activity due in the future and schedule another for same time then unschedule original,OK,14
-678,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with previously used reference states[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,395
-679,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with previously used inputs[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,453
-680,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with previously used inputs and valid time window[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,337
-681,net.corda.node.services.transactions.UniquenessProviderTests.commits transaction with unused reference states and valid time window[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,380
-682,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with previously used reference states and valid time window[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,355
-683,net.corda.node.services.transactions.UniquenessProviderTests.commits transaction with unused inputs and valid time window[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,378
-684,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with used reference states and unused input states[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,374
-685,net.corda.node.services.transactions.UniquenessProviderTests.commits transaction with unused inputs[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,322
-686,net.corda.node.services.transactions.UniquenessProviderTests.commits transaction with valid time window[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,419
-687,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with previously used inputs and invalid time window[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,375
-688,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with unused reference states and used input states[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,409
-689,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with unused reference states and invalid time window[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,331
-690,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with unused inputs and invalid time window[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,396
-691,net.corda.node.services.transactions.UniquenessProviderTests.commits transaction with unused reference states[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,389
-692,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with previously used reference states and invalid time window[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,310
-693,net.corda.node.services.transactions.UniquenessProviderTests.commits transaction with unused input & reference states[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,369
-694,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with invalid time window[net.corda.node.services.transactions.PersistentUniquenessProviderFactory@2c42969],OK,341
-695,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with previously used reference states[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1915
-696,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with previously used inputs[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1829
-697,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with previously used inputs and valid time window[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1645
-698,net.corda.node.services.transactions.UniquenessProviderTests.commits transaction with unused reference states and valid time window[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1569
-699,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with previously used reference states and valid time window[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1400
-700,net.corda.node.services.transactions.UniquenessProviderTests.commits transaction with unused inputs and valid time window[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1324
-701,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with used reference states and unused input states[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1735
-702,net.corda.node.services.transactions.UniquenessProviderTests.commits transaction with unused inputs[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1260
-703,net.corda.node.services.transactions.UniquenessProviderTests.commits transaction with valid time window[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1608
-704,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with previously used inputs and invalid time window[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1359
-705,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with unused reference states and used input states[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1134
-706,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with unused reference states and invalid time window[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1683
-707,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with unused inputs and invalid time window[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1394
-708,net.corda.node.services.transactions.UniquenessProviderTests.commits transaction with unused reference states[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1388
-709,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with previously used reference states and invalid time window[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1293
-710,net.corda.node.services.transactions.UniquenessProviderTests.commits transaction with unused input & reference states[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1207
-711,net.corda.node.services.transactions.UniquenessProviderTests.rejects transaction with invalid time window[net.corda.node.services.transactions.RaftUniquenessProviderFactory@368bacf6],OK,1511
-712,net.corda.node.services.transactions.NonValidatingNotaryServiceTests.should report conflict when inputs are reused across transactions,OK,15143
-713,net.corda.node.services.transactions.NonValidatingNotaryServiceTests.should sign identical transaction multiple times(notarisation is idempotent),OK,2684
-714,net.corda.node.services.transactions.NonValidatingNotaryServiceTests.should reject a transaction with too many inputs,OK,1914
-715,net.corda.node.services.transactions.NonValidatingNotaryServiceTests.should reject when incorrect notarisation request signed - transaction id doesn't match,OK,2144
-716,net.corda.node.services.transactions.NonValidatingNotaryServiceTests.should sign a unique transaction without a time-window,OK,2011
-717,net.corda.node.services.transactions.NonValidatingNotaryServiceTests.should report error for transaction with an invalid time-window,OK,1864
-718,net.corda.node.services.transactions.NonValidatingNotaryServiceTests.should re-sign a transaction with an expired time-window,OK,1856
-719,net.corda.node.services.transactions.NonValidatingNotaryServiceTests.notarise issue tx with time-window,OK,2016
-720,net.corda.node.services.transactions.NonValidatingNotaryServiceTests.should sign a unique transaction with a valid time-window,OK,1655
-721,net.corda.node.services.transactions.NonValidatingNotaryServiceTests.should reject when incorrect notarisation request signed - inputs don't match,OK,1751
-722,net.corda.node.services.transactions.NonValidatingNotaryServiceTests.should reject when notarisation request not signed by the requesting party,OK,1656
-723,net.corda.node.services.transactions.MaxTransactionSizeTests.check transaction will be rejected by counterparty when exceed max transaction size limit,OK,2097
-724,net.corda.node.services.transactions.MaxTransactionSizeTests.check transaction will fail when exceed max transaction size limit,OK,1448
-725,net.corda.node.services.transactions.PathManagerTests.path deleted when manager closed,OK,5
-726,net.corda.node.services.transactions.PathManagerTests.path deleted when handle closed,OK,1
-727,net.corda.node.services.transactions.NotaryWhitelistTests.can't perform a regular transaction on a de-listed notary[Validating = true],OK,2261
-728,net.corda.node.services.transactions.NotaryWhitelistTests.can perform notary change on a de-listed notary[Validating = true],OK,2878
-729,net.corda.node.services.transactions.NotaryWhitelistTests.should reject transaction when a dependency does not contain notary in whitelist[Validating = true],OK,2403
-730,net.corda.node.services.transactions.NotaryWhitelistTests.can't perform a regular transaction on a de-listed notary[Validating = false],OK,2044
-731,net.corda.node.services.transactions.NotaryWhitelistTests.can perform notary change on a de-listed notary[Validating = false],OK,2667
-732,net.corda.node.services.transactions.NotaryWhitelistTests.should reject transaction when a dependency does not contain notary in whitelist[Validating = false],Ignored,1299
-733,net.corda.node.services.transactions.NotaryServiceTests.should reject when network parameters component is not visible,OK,847
-734,net.corda.node.services.transactions.NotaryServiceTests.should reject a transaction with too many inputs,OK,936
-735,net.corda.node.services.transactions.NotaryServiceTests.should reject when parameters not current,OK,772
-736,net.corda.node.services.transactions.ValidatingNotaryServiceTests.should report conflict when inputs are reused across transactions,OK,1625
-737,net.corda.node.services.transactions.ValidatingNotaryServiceTests.should sign identical transaction multiple times(notarisation is idempotent),OK,1582
-738,net.corda.node.services.transactions.ValidatingNotaryServiceTests.should reject a transaction with too many inputs,OK,916
-739,net.corda.node.services.transactions.ValidatingNotaryServiceTests.should reject when incorrect notarisation request signed - transaction id doesn't match,OK,1380
-740,net.corda.node.services.transactions.ValidatingNotaryServiceTests.should sign a unique transaction without a time-window,OK,1483
-741,net.corda.node.services.transactions.ValidatingNotaryServiceTests.should report error for transaction with an invalid time-window,OK,1764
-742,net.corda.node.services.transactions.ValidatingNotaryServiceTests.should re-sign a transaction with an expired time-window,OK,1396
-743,net.corda.node.services.transactions.ValidatingNotaryServiceTests.should report error for invalid transaction dependency,OK,1419
-744,net.corda.node.services.transactions.ValidatingNotaryServiceTests.notarise issue tx with time-window,OK,1357
-745,net.corda.node.services.transactions.ValidatingNotaryServiceTests.should sign a unique transaction with a valid time-window,OK,1348
-746,net.corda.node.services.transactions.ValidatingNotaryServiceTests.should report error for missing signatures,OK,1364
-747,net.corda.node.services.transactions.ValidatingNotaryServiceTests.should reject transaction without network parameters,OK,1323
-748,net.corda.node.services.transactions.ValidatingNotaryServiceTests.should reject when incorrect notarisation request signed - inputs don't match,OK,1373
-749,net.corda.node.services.transactions.ValidatingNotaryServiceTests.should reject when notarisation request not signed by the requesting party,OK,1374
-750,net.corda.node.services.transactions.ResolveStatePointersTest.resolve linear pointers and check reference state is added to transaction when isResolved is true,OK,1483
-751,net.corda.node.services.transactions.ResolveStatePointersTest.resolve state pointer in ledger transaction,OK,1075
-752,net.corda.node.services.transactions.ResolveStatePointersTest.resolve linear pointer with correct type,OK,878
-753,net.corda.node.services.transactions.ResolveStatePointersTest.resolving nested pointers is possible,OK,903
-754,net.corda.node.services.transactions.ResolveStatePointersTest.resolve linear pointers and check reference state is not added to transaction when isResolved is false,OK,893
-755,net.corda.node.services.transactions.ResolveStatePointersTest.resolve static pointers and check reference state is added to transaction when isResolved is true,OK,977
-756,net.corda.node.services.transactions.ResolveStatePointersTest.Resolving to an unknown state throws an exception,OK,305
-757,net.corda.node.services.transactions.ResolveStatePointersTest.resolve static pointers and check reference state is not added to transaction when isResolved is false,OK,975
-758,net.corda.node.services.transactions.ResolveStatePointersTest.resolving an exited state throws an exception,OK,884
-759,"net.corda.node.services.transactions.DbTransactionsResolverTopologicalSortTest.T1 to T2 to T4, T1 to T3 to T4",OK,10
-760,net.corda.node.services.transactions.DbTransactionsResolverTopologicalSortTest.issuance,OK,3
-761,"net.corda.node.services.transactions.DbTransactionsResolverTopologicalSortTest.T1 to T2, T1 to T3",OK,0
-762,"net.corda.node.services.transactions.DbTransactionsResolverTopologicalSortTest.T1 to T2 to T3 to T4, T1 to T4",OK,0
-763,net.corda.node.services.transactions.DbTransactionsResolverTopologicalSortTest.T1 to T2,OK,0
-764,net.corda.node.services.NotaryChangeTests.notary change and regular transactions are properly handled during resolution in longer chains,OK,2324
-765,net.corda.node.services.NotaryChangeTests.should change notary for a state with multiple participants,OK,2122
-766,net.corda.node.services.NotaryChangeTests.should change notary for a state with single participant,OK,2403
-767,net.corda.node.services.NotaryChangeTests.should not break encumbrance links,OK,2182
-768,net.corda.node.services.NotaryChangeTests.should throw when a participant refuses to change Notary,Ignored,0
-769,net.corda.node.services.vault.NodeVaultServiceTest.fungible state selection test,OK,1542
-770,net.corda.node.services.vault.NodeVaultServiceTest.is ownable state relevant,OK,542
-771,net.corda.node.services.vault.NodeVaultServiceTest.addNoteToTransaction,OK,1128
-772,net.corda.node.services.vault.NodeVaultServiceTest.unconsumedStatesForSpending small amount,OK,1108
-773,net.corda.node.services.vault.NodeVaultServiceTest.unconsumedStatesForSpending exact amount,OK,1074
-774,net.corda.node.services.vault.NodeVaultServiceTest.trackByCriteria filters updates and snapshots,Ignored,0
-775,net.corda.node.services.vault.NodeVaultServiceTest.states for refs,OK,1083
-776,net.corda.node.services.vault.NodeVaultServiceTest.correct updates are generated when changing notaries,OK,1120
-777,net.corda.node.services.vault.NodeVaultServiceTest.insert different cash states issued by single transaction,OK,1065
-778,net.corda.node.services.vault.NodeVaultServiceTest.states not local to instance,OK,1058
-779,net.corda.node.services.vault.NodeVaultServiceTest.unconsumedStatesForSpending insufficient amount,OK,1428
-780,net.corda.node.services.vault.NodeVaultServiceTest.states soft locking query granularity,OK,1258
-781,net.corda.node.services.vault.NodeVaultServiceTest.unconsumedStatesForSpending from specific issuer party and refs,OK,1018
-782,net.corda.node.services.vault.NodeVaultServiceTest.Unique column constraint failing causes linear state to not persist to vault,OK,1047
-783,net.corda.node.services.vault.NodeVaultServiceTest.soft locking attempt concurrent reserve,OK,1163
-784,net.corda.node.services.vault.NodeVaultServiceTest.observerMode,OK,1143
-785,net.corda.node.services.vault.NodeVaultServiceTest.Unique column constraint failing causes all states in transaction to fail,OK,1161
-786,net.corda.node.services.vault.NodeVaultServiceTest.unconsumedStatesForSpending from two issuer parties,OK,1061
-787,net.corda.node.services.vault.NodeVaultServiceTest.lock additional states to some already soft locked by me,OK,1129
-788,net.corda.node.services.vault.NodeVaultServiceTest.V3 vault queries return all states by default,OK,1053
-789,net.corda.node.services.vault.NodeVaultServiceTest.test state relevance criteria,OK,1059
-790,net.corda.node.services.vault.NodeVaultServiceTest.can query with page size max-integer,OK,1418
-791,net.corda.node.services.vault.NodeVaultServiceTest.soft locking partial reserve states fails,OK,1105
-792,net.corda.node.services.vault.NodeVaultServiceTest.attempt to lock states already soft locked by me,OK,1133
-793,net.corda.node.services.vault.NodeVaultServiceTest.Unique column constraint failing causes fungible state to not persist to vault,OK,1020
-794,net.corda.node.services.vault.NodeVaultServiceTest.test concurrent update of contract state type mappings,OK,415
-795,net.corda.node.services.vault.NodeVaultServiceTest.states soft locking reserve and release,OK,1010
-796,net.corda.node.services.vault.NodeVaultServiceTest.correct updates are generated for general transactions,OK,417
-797,net.corda.node.services.vault.NodeVaultServiceTest.insert equal cash states issued by single transaction,OK,985
-798,net.corda.node.services.vault.NodeVaultServiceTest.duplicate insert of transaction does not fail,OK,1031
-799,net.corda.node.services.vault.VaultQueryExceptionsTests.query attempting to use unregistered schema,OK,120
-800,net.corda.node.services.vault.VaultWithCashTest.branching LinearStates fails to verify,OK,3032
-801,net.corda.node.services.vault.VaultWithCashTest.sequencing LinearStates works,OK,1890
-802,net.corda.node.services.vault.VaultWithCashTest.issue and spend total correctly and irrelevant ignored,OK,1845
-803,net.corda.node.services.vault.VaultWithCashTest.splits,OK,1741
-804,net.corda.node.services.vault.VaultWithCashTest.consuming multiple contract state types,OK,1648
-805,net.corda.node.services.vault.VaultWithCashTest.spending cash in vault of mixed state types works,OK,2245
-806,net.corda.node.services.vault.VaultWithCashTest.issue and attempt double spend,OK,9856
-807,net.corda.node.services.vault.VaultFlowTest.Unique column constraint failing causes states to not persist to vaults,OK,7157
-808,net.corda.node.services.vault.VaultSoftLockManagerTest.plain old state is not soft locked with checkpoint,OK,1338
-809,net.corda.node.services.vault.VaultSoftLockManagerTest.plain old state is not soft locked,OK,914
-810,net.corda.node.services.vault.VaultSoftLockManagerTest.fungible asset is soft locked with checkpoint,OK,1054
-811,net.corda.node.services.vault.VaultSoftLockManagerTest.fungible asset is soft locked,OK,916
-812,net.corda.node.services.vault.VaultQueryTests.trackDealStates,OK,2184
-813,net.corda.node.services.vault.VaultQueryTests.trackCashStates_consumed,OK,930
-814,net.corda.node.services.vault.VaultQueryTests.trackCashStates_all,OK,810
-815,net.corda.node.services.vault.VaultQueryTests.track by of contract state interface returns updates of all states,OK,778
-816,net.corda.node.services.vault.VaultQueryTests.track by only returns updates of tracked type,OK,746
-817,net.corda.node.services.vault.VaultQueryTests.trackCashStates_unconsumed,OK,743
-818,net.corda.node.services.vault.VaultQueryTests.track by of super class only returns updates of sub classes of tracked type,OK,671
-819,net.corda.node.services.vault.VaultQueryTests.trackLinearStates,OK,704
-820,net.corda.node.services.vault.VaultQueryTests.query with sort criteria works with pagination,OK,910
-821,net.corda.node.services.vault.VaultQueryTests.logical operator case insensitive NOT_EQUAL does not return results containing the same characters as the case insensitive string,OK,567
-822,net.corda.node.services.vault.VaultQueryTests.unconsumed cash states sorted by state ref,OK,594
-823,net.corda.node.services.vault.VaultQueryTests.unconsumed linear heads for a given external id,OK,528
-824,net.corda.node.services.vault.VaultQueryTests.unconsumedCashStatesForSpending_single_issuer_reference,OK,491
-825,net.corda.node.services.vault.VaultQueryTests.states consumed after time,OK,555
-826,net.corda.node.services.vault.VaultQueryTests.unconsumed linear states for single participant,OK,562
-827,net.corda.node.services.vault.VaultQueryTests.unconsumed linear states for two participants,OK,543
-828,net.corda.node.services.vault.VaultQueryTests.logical operator case insensitive EQUAL does not affect numbers,OK,523
-829,net.corda.node.services.vault.VaultQueryTests.unconsumed states for contract state types,OK,559
-830,net.corda.node.services.vault.VaultQueryTests.unconsumed cash fungible assets,OK,585
-831,net.corda.node.services.vault.VaultQueryTests.unconsumed dummy states for exact two participants,OK,1609
-832,net.corda.node.services.vault.VaultQueryTests.unconsumed cash states simple,OK,537
-833,net.corda.node.services.vault.VaultQueryTests.latest unconsumed deals with party,OK,469
-834,net.corda.node.services.vault.VaultQueryTests.logical operator case insensitive IN,OK,524
-835,net.corda.node.services.vault.VaultQueryTests.unconsumed states with count,OK,526
-836,net.corda.node.services.vault.VaultQueryTests.test example of querying states with paging works correctly,OK,588
-837,net.corda.node.services.vault.VaultQueryTests.composite query for fungible and linear states,OK,544
-838,net.corda.node.services.vault.VaultQueryTests.invalid page size,OK,911
-839,net.corda.node.services.vault.VaultQueryTests.aggregate functions sum by issuer and currency and sort by aggregate sum,OK,514
-840,net.corda.node.services.vault.VaultQueryTests.logical operator IS_NULL,OK,533
-841,net.corda.node.services.vault.VaultQueryTests.criteria with field from mapped superclass,OK,490
-842,net.corda.node.services.vault.VaultQueryTests.unconsumed linear heads for a given external id or uuid,OK,527
-843,net.corda.node.services.vault.VaultQueryTests.unconsumed cash fungible assets after spending,OK,472
-844,net.corda.node.services.vault.VaultQueryTests.consumed cash fungible assets,OK,555
-845,net.corda.node.services.vault.VaultQueryTests.logical operator case insensitive IN does not affect numbers,OK,475
-846,net.corda.node.services.vault.VaultQueryTests.logical operator GREATER_THAN_OR_EQUAL,OK,470
-847,net.corda.node.services.vault.VaultQueryTests.unconsumed base contract states for two participants,OK,480
-848,net.corda.node.services.vault.VaultQueryTests.consumed fungible assets,OK,525
-849,net.corda.node.services.vault.VaultQueryTests.unconsumed fungible states for owners,OK,489
-850,net.corda.node.services.vault.VaultQueryTests.logical operator NOT LIKE does not return results containing the same characters as the case insensitive string,OK,511
-851,net.corda.node.services.vault.VaultQueryTests.aggregate functions with single group clause desc mid column,OK,570
-852,net.corda.node.services.vault.VaultQueryTests.unconsumed fungible assets by owner,OK,441
-853,net.corda.node.services.vault.VaultQueryTests.invalid page number,OK,769
-854,net.corda.node.services.vault.VaultQueryTests.logical operator case insensitive NOT_EQUAL does not affect numbers,OK,493
-855,net.corda.node.services.vault.VaultQueryTests.unconsumed linear heads for linearId by external Id,OK,484
-856,net.corda.node.services.vault.VaultQueryTests.logical operator IN,OK,482
-857,net.corda.node.services.vault.VaultQueryTests.createPersistentTestDb,Ignored,0
-858,net.corda.node.services.vault.VaultQueryTests.logical operator EQUAL,OK,464
-859,"net.corda.node.services.vault.VaultQueryTests.sorted, enriched and overridden composite query with constraints handles defaults correctly",OK,459
-860,net.corda.node.services.vault.VaultQueryTests.unconsumed cash balances for all currencies,OK,573
-861,net.corda.node.services.vault.VaultQueryTests.consumed states with count,OK,472
-862,net.corda.node.services.vault.VaultQueryTests.record a transaction with number of inputs greater than vault page size,OK,986
-863,net.corda.node.services.vault.VaultQueryTests.unconsumed cash states sorted by state ref txnId and index,OK,518
-864,net.corda.node.services.vault.VaultQueryTests.unconsumed linear heads where external id is null,OK,485
-865,net.corda.node.services.vault.VaultQueryTests.query with sort criteria works even when multiple pages have the same value for the sort criteria field,OK,658
-866,net.corda.node.services.vault.VaultQueryTests.latest unconsumed deals for ref,OK,460
-867,net.corda.node.services.vault.VaultQueryTests.query by interface for a contract class extending a parent contract class,OK,459
-868,net.corda.node.services.vault.VaultQueryTests.all states with count,OK,443
-869,net.corda.node.services.vault.VaultQueryTests.all linear states for a given id sorted by uuid,OK,575
-870,net.corda.node.services.vault.VaultQueryTests.unconsumed fungible assets for selected issuer parties,OK,729
-871,net.corda.node.services.vault.VaultQueryTests.logical operator NOT LIKE,OK,471
-872,net.corda.node.services.vault.VaultQueryTests.all states with paging specification - last,OK,720
-873,net.corda.node.services.vault.VaultQueryTests.unconsumed states verbose,OK,500
-874,"net.corda.node.services.vault.VaultQueryTests.sorting - all states sorted by contract type, state status, consumed time",OK,491
-875,net.corda.node.services.vault.VaultQueryTests.unconsumed cash states verbose,OK,536
-876,net.corda.node.services.vault.VaultQueryTests.logical operator NOT_NULL,OK,483
-877,net.corda.node.services.vault.VaultQueryTests.unconsumed linear heads,OK,497
-878,net.corda.node.services.vault.VaultQueryTests.custom - all cash states with amount of currency greater or equal than,OK,604
-879,net.corda.node.services.vault.VaultQueryTests.all states with paging specification - first page,OK,914
-880,net.corda.node.services.vault.VaultQueryTests.logical operator NOT IN,OK,491
-881,net.corda.node.services.vault.VaultQueryTests.enriched and overridden composite query handles defaults correctly,OK,457
-882,net.corda.node.services.vault.VaultQueryTests.unconsumed deals for ref,OK,449
-883,net.corda.node.services.vault.VaultQueryTests.aggregate functions with single group clause desc first column,OK,489
-884,net.corda.node.services.vault.VaultQueryTests.unconsumed linear states sorted by custom attribute,OK,497
-885,net.corda.node.services.vault.VaultQueryTests.unconsumed fungible assets for specific issuer party and refs,OK,461
-886,net.corda.node.services.vault.VaultQueryTests.unconsumed cash balance for single currency,OK,471
-887,net.corda.node.services.vault.VaultQueryTests.unconsumed linear states sorted by external id,OK,453
-888,net.corda.node.services.vault.VaultQueryTests.logical operator case insensitive LIKE,OK,475
-889,net.corda.node.services.vault.VaultQueryTests.aggregate functions with single group clause desc last column,OK,477
-890,net.corda.node.services.vault.VaultQueryTests.logical operator BETWEEN,OK,443
-891,net.corda.node.services.vault.VaultQueryTests.consumed states,OK,469
-892,net.corda.node.services.vault.VaultQueryTests.unconsumed linear heads for single participant,OK,466
-893,net.corda.node.services.vault.VaultQueryTests.criteria with field from mapped superclass of superclass,OK,463
-894,net.corda.node.services.vault.VaultQueryTests.state relevancy queries,OK,550
-895,net.corda.node.services.vault.VaultQueryTests.custom query using JPA - commercial paper schema V1 single attribute,OK,445
-896,net.corda.node.services.vault.VaultQueryTests.logical operator LIKE,OK,425
-897,net.corda.node.services.vault.VaultQueryTests.logical operator LESS_THAN_OR_EQUAL,OK,444
-898,net.corda.node.services.vault.VaultQueryTests.unconsumed deal states sorted,OK,455
-899,net.corda.node.services.vault.VaultQueryTests.unconsumed linear heads for linearId between two timestamps for a given external id,OK,434
-900,net.corda.node.services.vault.VaultQueryTests.custom query using JPA - commercial paper schema V1 - multiple attributes,OK,459
-901,net.corda.node.services.vault.VaultQueryTests.logical operator GREATER_THAN,OK,480
-902,net.corda.node.services.vault.VaultQueryTests.all linear states for a given linear id,OK,494
-903,net.corda.node.services.vault.VaultQueryTests.logical operator LESS_THAN,OK,487
-904,net.corda.node.services.vault.VaultQueryTests.pagination not specified but more than default results available,OK,1022
-905,net.corda.node.services.vault.VaultQueryTests.aggregate functions with single group clause,OK,547
-906,net.corda.node.services.vault.VaultQueryTests.unconsumed dummy states for exact single participant,OK,435
-907,net.corda.node.services.vault.VaultQueryTests.unconsumed states simple,OK,487
-908,net.corda.node.services.vault.VaultQueryTests.unconsumed states recorded between two time intervals,OK,487
-909,net.corda.node.services.vault.VaultQueryTests.aggregate functions without group clause,OK,492
-910,net.corda.node.services.vault.VaultQueryTests.unconsumed states with soft locking,OK,442
-911,net.corda.node.services.vault.VaultQueryTests.return consumed linear states for a given linear id,OK,458
-912,net.corda.node.services.vault.VaultQueryTests.unconsumed linear heads for linearId without external Id,OK,462
-913,net.corda.node.services.vault.VaultQueryTests.unconsumed fungible assets for quantity greater than,OK,455
-914,net.corda.node.services.vault.VaultQueryTests.consumed linear heads,OK,499
-915,net.corda.node.services.vault.VaultQueryTests.unconsumed deals,OK,461
-916,net.corda.node.services.vault.VaultQueryTests.logical operator NOT EQUAL,OK,448
-917,net.corda.node.services.vault.VaultQueryTests.aggregate functions count by contract type,OK,526
-918,net.corda.node.services.vault.VaultQueryTests.all states,OK,458
-919,net.corda.node.services.vault.VaultQueryTests.unconsumed linear heads where external id is not null,OK,462
-920,net.corda.node.services.vault.VaultQueryTests.unconsumed states for state refs,OK,491
-921,net.corda.node.services.vault.VaultQueryTests.unconsumed linear heads for multiple participants,OK,427
-922,net.corda.node.services.vault.VaultQueryTests.test paging with aggregate function and group by clause,OK,1011
-923,net.corda.node.services.vault.VaultQueryTests.unconsumedCashStatesForSpending single issuer reference not matching,OK,7998
-924,net.corda.node.services.vault.VaultQueryTests.logical operator case insensitive NOT IN does not return results containing the same characters as the case insensitive strings,OK,455
-925,net.corda.node.services.vault.VaultQueryTests.aggregate functions count by contract type and state status,OK,479
-926,net.corda.node.services.vault.VaultQueryTests.unconsumed linear heads by linearId,OK,412
-927,net.corda.node.services.vault.VaultQueryTests.unconsumed fungible assets for single currency,OK,502
-928,net.corda.node.services.vault.VaultQueryTests.unconsumed fungible assets,OK,453
-929,net.corda.node.services.vault.VaultQueryTests.unconsumed linear heads for linearId between two timestamps,OK,426
-930,net.corda.node.services.vault.VaultQueryTests.logical operator case insensitive EQUAL,OK,436
-931,net.corda.node.services.vault.VaultQueryTests.unconsumed fungible assets for issuer party,OK,426
-932,net.corda.node.services.vault.VaultQueryTests.query by contract states constraint type and data,OK,470
-933,"net.corda.node.services.vault.VaultQueryTests.composite query for fungible, linear and dummy states for multiple participants",OK,438
-934,net.corda.node.services.vault.VaultQueryTests.logical operator case insensitive NOT_IN does not affect numbers,OK,440
-935,net.corda.node.services.vault.VaultQueryTests.unconsumed states by notary,OK,471
-936,net.corda.node.services.vault.VaultQueryTests.unconsumed fungible assets for single currency and quantity greater than,OK,442
-937,net.corda.node.services.vault.VaultQueryTests.unconsumed base contract states for single participant,OK,411
-938,net.corda.node.services.vault.VaultQueryTests.query by contract states constraint type,OK,448
-939,net.corda.node.services.vault.ExternalIdMappingTest.One state can be mapped to multiple externalIds,OK,541
-940,net.corda.node.services.vault.ExternalIdMappingTest.Two states can be mapped to a single externalId,OK,340
-941,net.corda.node.services.vault.ExternalIdMappingTest.roger uber keys test,OK,316
-942,net.corda.node.services.vault.ExternalIdMappingTest.externalIds query criteria test,OK,344
-943,net.corda.node.services.rpc.CheckpointDumperTest.testDumpCheckpoints,OK,515
-944,net.corda.node.services.rpc.CheckpointDumperTest.testDumpCheckpointsAndAgentDiagnostics,OK,269
-945,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.jar trusted if the signing keys are a subset of an existing trusted jar's signers,OK,2360
-946,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.non-contract jars not trusted if unsigned,OK,299
-947,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.Jar uploaded by trusted uploader is trusted,OK,978
-948,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.jar uploaded by trusted uploader is still trusted even if it is signed by a blacklisted key,OK,939
-949,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.jar trusted if signed by same key and has same contract as existing jar uploaded by a trusted uploader,OK,1220
-950,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.non-contract jars not trusted if uploaded by non trusted uploaders,OK,1085
-951,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.jar trusted if same key but different contract,OK,1241
-952,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.neither jar trusted if same contract and signer but not uploaded by a trusted uploader,OK,1204
-953,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.calculateAllTrustInfo only returns signed attachments or attachments manually installed on the node,OK,1892
-954,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.jar trusted if the signing keys are an intersection of an existing trusted jar's signers,OK,2524
-955,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.calculateAllTrustInfo attachments signed by blacklisted keys output without trust root fields filled in,OK,1748
-956,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.non-contract jar trusted if trusted jar with same key present,OK,1016
-957,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.jar not trusted if different key but same contract,OK,1679
-958,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.jar trusted if the signing keys are a superset of an existing trusted jar's signers,OK,1738
-959,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.calculateAllTrustInfo returns all attachment trust roots,OK,3002
-960,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.jar with inherited trust does not grant trust to other jars(no chain of trust),OK,2591
-961,net.corda.node.services.attachments.AttachmentTrustCalculatorTest.jar not trusted if signed by a blacklisted key and not uploaded by trusted uploader,OK,2136
-962,net.corda.node.services.FinalityHandlerTest.sent to flow hospital on error and attempted retry on node restart,OK,2219
-963,net.corda.node.services.TimedFlowTests.timed flows are restarted,OK,1879
-964,net.corda.node.services.TimedFlowTests.timed sub-flows are restarted,OK,1079
-965,net.corda.node.services.TimedFlowTests.timed flow can update its ETA,OK,5079
-966,net.corda.node.services.TimedFlowTests.timed flow cannot update its ETA to less than default,OK,6053
-967,net.corda.node.services.keys.FilterMyKeysTests.test,OK,8567
-968,net.corda.node.services.keys.KMSUtilsTests.should generate certificates with the correct role,Ignored,0
-969,net.corda.node.services.schema.PersistentStateServiceTests.test child objects are persisted,OK,1246
-970,net.corda.node.services.schema.NodeSchemaServiceTest.auto scanning of custom schemas for testing with Driver,OK,8165
-971,net.corda.node.services.schema.NodeSchemaServiceTest.custom schemas are loaded eagerly,OK,3711
-972,net.corda.node.services.schema.NodeSchemaServiceTest.check node runs inclusive of notary node schema set using driverDSL,OK,3501
-973,net.corda.node.services.schema.NodeSchemaServiceTest.registering custom schemas for testing with MockNode,OK,2725
-974,net.corda.node.services.schema.NodeSchemaServiceTest.check node runs inclusive of notary node schema set,OK,795
-975,net.corda.node.services.schema.NodeSchemaServiceTest.check node runs with minimal core schema set using driverDSL,Ignored,0
-976,net.corda.node.services.schema.NodeSchemaServiceTest.check node runs with minimal core schema set,OK,1603
-977,net.corda.node.services.persistence.ObserverNodeTransactionTests.Re-recording a transaction adds non-relevant states,OK,4123
-978,net.corda.node.services.persistence.ObserverNodeTransactionTests.Broadcasting an old transaction does not cause 2 unconsumed states,OK,3309
-979,net.corda.node.services.persistence.ObserverNodeTransactionTests.Re-recording a transaction at only relevant does not cause failures,OK,2611
-980,net.corda.node.services.persistence.ObserverNodeTransactionTests.Recording a transaction twice at all visible works,OK,2486
-981,net.corda.node.services.persistence.ObserverNodeTransactionTests.Non relevant states are recorded if transaction is re-received with new states to record,OK,2910
-982,net.corda.node.services.persistence.TransactionOrderingTests.Out of order transactions are recorded in vault correctly,OK,2329
-983,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=false, a=Read, b=Read, aExpected=Fail, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,71
-984,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=false, a=Read, b=Read, aExpected=Fail, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,73
-985,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=false, a=Read, b=Read, aExpected=Fail, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,57
-986,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=false, a=Read, b=Read, aExpected=Fail, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,58
-987,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=false, a=Write, b=Read, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Success)]",OK,47
-988,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=false, a=Write, b=Read, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Success)]",OK,61
-989,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=false, a=Write, b=Read, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Success)]",OK,61
-990,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=false, a=Write, b=Read, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Success)]",OK,57
-991,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=false, a=Read, b=Write, aExpected=Fail, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,47
-992,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=false, a=Read, b=Write, aExpected=Fail, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,46
-993,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=false, a=Read, b=Write, aExpected=Fail, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,43
-994,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=false, a=Read, b=Write, aExpected=Fail, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,58
-995,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=false, a=Write, b=Write, aExpected=Success, bExpected=SuccessButErrorOnCommit, bExpectedIfSingleThreaded=SuccessButErrorOnCommit)]",OK,50
-996,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=false, a=Write, b=Write, aExpected=Success, bExpected=SuccessButErrorOnCommit, bExpectedIfSingleThreaded=SuccessButErrorOnCommit)]",OK,50
-997,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=false, a=Write, b=Write, aExpected=Success, bExpected=SuccessButErrorOnCommit, bExpectedIfSingleThreaded=SuccessButErrorOnCommit)]",OK,51
-998,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=false, a=Write, b=Write, aExpected=Success, bExpected=SuccessButErrorOnCommit, bExpectedIfSingleThreaded=SuccessButErrorOnCommit)]",OK,49
-999,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=false, a=WriteDuplicateAllowed, b=Read, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Success)]",OK,44
-1000,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=false, a=WriteDuplicateAllowed, b=Read, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Success)]",OK,62
-1001,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=false, a=WriteDuplicateAllowed, b=Read, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Success)]",OK,44
-1002,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=false, a=WriteDuplicateAllowed, b=Read, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Success)]",OK,44
-1003,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=false, a=Read, b=WriteDuplicateAllowed, aExpected=Fail, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,58
-1004,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=false, a=Read, b=WriteDuplicateAllowed, aExpected=Fail, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,46
-1005,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=false, a=Read, b=WriteDuplicateAllowed, aExpected=Fail, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,56
-1006,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=false, a=Read, b=WriteDuplicateAllowed, aExpected=Fail, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,65
-1007,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=false, a=WriteDuplicateAllowed, b=WriteDuplicateAllowed, aExpected=Success, bExpected=SuccessButErrorOnCommit, bExpectedIfSingleThreaded=Fail)]",OK,45
-1008,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=false, a=WriteDuplicateAllowed, b=WriteDuplicateAllowed, aExpected=Success, bExpected=SuccessButErrorOnCommit, bExpectedIfSingleThreaded=Fail)]",OK,42
-1009,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=false, a=WriteDuplicateAllowed, b=WriteDuplicateAllowed, aExpected=Success, bExpected=SuccessButErrorOnCommit, bExpectedIfSingleThreaded=Fail)]",OK,47
-1010,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=false, a=WriteDuplicateAllowed, b=WriteDuplicateAllowed, aExpected=Success, bExpected=SuccessButErrorOnCommit, bExpectedIfSingleThreaded=Fail)]",OK,54
-1011,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=true, a=Read, b=Read, aExpected=Success, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,43
-1012,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=true, a=Read, b=Read, aExpected=Success, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,40
-1013,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=true, a=Read, b=Read, aExpected=Success, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,40
-1014,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=true, a=Read, b=Read, aExpected=Success, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,41
-1015,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=true, a=Write, b=Read, aExpected=SuccessButErrorOnCommit, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,42
-1016,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=true, a=Write, b=Read, aExpected=SuccessButErrorOnCommit, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,43
-1017,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=true, a=Write, b=Read, aExpected=SuccessButErrorOnCommit, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,47
-1018,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=true, a=Write, b=Read, aExpected=SuccessButErrorOnCommit, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,44
-1019,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=true, a=Read, b=Write, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,48
-1020,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=true, a=Read, b=Write, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,43
-1021,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=true, a=Read, b=Write, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,43
-1022,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=true, a=Read, b=Write, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,43
-1023,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=true, a=Write, b=Write, aExpected=SuccessButErrorOnCommit, bExpected=SuccessButErrorOnCommit, bExpectedIfSingleThreaded=SuccessButErrorOnCommit)]",OK,51
-1024,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=true, a=Write, b=Write, aExpected=SuccessButErrorOnCommit, bExpected=SuccessButErrorOnCommit, bExpectedIfSingleThreaded=SuccessButErrorOnCommit)]",OK,41
-1025,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=true, a=Write, b=Write, aExpected=SuccessButErrorOnCommit, bExpected=SuccessButErrorOnCommit, bExpectedIfSingleThreaded=SuccessButErrorOnCommit)]",OK,40
-1026,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=true, a=Write, b=Write, aExpected=SuccessButErrorOnCommit, bExpected=SuccessButErrorOnCommit, bExpectedIfSingleThreaded=SuccessButErrorOnCommit)]",OK,40
-1027,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=true, a=WriteDuplicateAllowed, b=Read, aExpected=Fail, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,40
-1028,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=true, a=WriteDuplicateAllowed, b=Read, aExpected=Fail, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,45
-1029,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=true, a=WriteDuplicateAllowed, b=Read, aExpected=Fail, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,50
-1030,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=true, a=WriteDuplicateAllowed, b=Read, aExpected=Fail, bExpected=Success, bExpectedIfSingleThreaded=Success)]",OK,41
-1031,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=true, a=Read, b=WriteDuplicateAllowed, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,50
-1032,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=true, a=Read, b=WriteDuplicateAllowed, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,41
-1033,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=true, a=Read, b=WriteDuplicateAllowed, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,50
-1034,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=true, a=Read, b=WriteDuplicateAllowed, aExpected=Success, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,38
-1035,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test no purge with only a single transaction[Scenario(prePopulated=true, a=WriteDuplicateAllowed, b=WriteDuplicateAllowed, aExpected=Fail, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,39
-1036,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.test purge mid-way in a single transaction[Scenario(prePopulated=true, a=WriteDuplicateAllowed, b=WriteDuplicateAllowed, aExpected=Fail, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,40
-1037,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test purge between A and B[Scenario(prePopulated=true, a=WriteDuplicateAllowed, b=WriteDuplicateAllowed, aExpected=Fail, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,39
-1038,"net.corda.node.services.persistence.AppendOnlyPersistentMapTest.concurrent test no purge between A and B[Scenario(prePopulated=true, a=WriteDuplicateAllowed, b=WriteDuplicateAllowed, aExpected=Fail, bExpected=Fail, bExpectedIfSingleThreaded=Fail)]",OK,42
-1039,net.corda.node.services.persistence.HibernateColumnConverterTests.issue some cash on a notary that exists only in the database to check cache loading works in our identity column converters during flush of vault update,OK,854
-1040,net.corda.node.services.persistence.DBTransactionStorageTests.one transaction,OK,400
-1041,net.corda.node.services.persistence.DBTransactionStorageTests.transaction saved twice in two DB transaction scopes,OK,289
-1042,net.corda.node.services.persistence.DBTransactionStorageTests.duplicates are detected when transaction is evicted from cache,OK,343
-1043,net.corda.node.services.persistence.DBTransactionStorageTests.cannot move transaction from verified to unverified,OK,276
-1044,net.corda.node.services.persistence.DBTransactionStorageTests.empty store,OK,293
-1045,net.corda.node.services.persistence.DBTransactionStorageTests.unverified transaction is correctly added in add transaction,OK,278
-1046,net.corda.node.services.persistence.DBTransactionStorageTests.two transactions in same DB transaction scope,OK,271
-1047,net.corda.node.services.persistence.DBTransactionStorageTests.two transactions across restart,OK,330
-1048,net.corda.node.services.persistence.DBTransactionStorageTests.updates are fired,OK,287
-1049,net.corda.node.services.persistence.DBTransactionStorageTests.transaction saved twice in same DB transaction scope,OK,291
-1050,net.corda.node.services.persistence.DBTransactionStorageTests.two transactions with rollback,OK,340
-1051,net.corda.node.services.persistence.TransactionCallbackTest.onCommit called and onRollback not called on commit,OK,3
-1052,net.corda.node.services.persistence.TransactionCallbackTest.onCommit not called and onRollback called on rollback,OK,3
-1053,net.corda.node.services.persistence.DbMapDeadlockTest.checkAppendOnlyPersistentMapForDeadlockH2,OK,8604
-1054,net.corda.node.services.persistence.ExposeJpaToFlowsTests.can't perform suspendable operations inside withEntityManager,OK,7542
-1055,net.corda.node.services.persistence.ExposeJpaToFlowsTests.can persist and query custom entities,OK,1280
-1056,net.corda.node.services.persistence.PublicKeyToOwningIdentityCacheImplTest.can request initial identity key,OK,604
-1057,net.corda.node.services.persistence.PublicKeyToOwningIdentityCacheImplTest.requesting a key unknown to the node returns null,OK,547
-1058,net.corda.node.services.persistence.PublicKeyToOwningIdentityCacheImplTest.entries can be fetched if cache invalidated,OK,529
-1059,net.corda.node.services.persistence.PublicKeyToOwningIdentityCacheImplTest.querying for key twice does not go to database the second time,OK,530
-1060,net.corda.node.services.persistence.PublicKeyToOwningIdentityCacheImplTest.can set multiple keys across threads,OK,563
-1061,net.corda.node.services.persistence.PublicKeyToOwningIdentityCacheImplTest.cache access is thread safe,OK,559
-1062,net.corda.node.services.persistence.PublicKeyToOwningIdentityCacheImplTest.cache returns right key for each UUID,OK,566
-1063,net.corda.node.services.persistence.DBCheckpointStorageTests.add new checkpoint,OK,654
-1064,net.corda.node.services.persistence.DBCheckpointStorageTests.verify checkpoints compatible,OK,541
-1065,net.corda.node.services.persistence.DBCheckpointStorageTests.remove checkpoint,OK,500
-1066,net.corda.node.services.persistence.DBCheckpointStorageTests.add two checkpoints then remove first one,OK,443
-1067,net.corda.node.services.persistence.DBCheckpointStorageTests.add and remove checkpoint in single commit operate,OK,485
-1068,net.corda.node.services.persistence.DBCheckpointStorageTests.add checkpoint and then remove after 'restart',OK,426
-1069,net.corda.node.services.persistence.HibernateConfigurationTest.with pagination,OK,3386
-1070,"net.corda.node.services.persistence.HibernateConfigurationTest.composite or query across VaultStates, VaultLinearStates and DummyLinearStates",OK,819
-1071,net.corda.node.services.persistence.HibernateConfigurationTest.query fungible states by participants,OK,796
-1072,net.corda.node.services.persistence.HibernateConfigurationTest.query fungible states by owner party,OK,719
-1073,net.corda.node.services.persistence.HibernateConfigurationTest.count rows,OK,712
-1074,net.corda.node.services.persistence.HibernateConfigurationTest.schema change,OK,1243
-1075,net.corda.node.services.persistence.HibernateConfigurationTest.calculate and order by cash balance for owner and currency,OK,913
-1076,net.corda.node.services.persistence.HibernateConfigurationTest.select by composite primary key on CashStates,OK,717
-1077,net.corda.node.services.persistence.HibernateConfigurationTest.count CashStates,OK,630
-1078,net.corda.node.services.persistence.HibernateConfigurationTest.select by composite primary key on CashStates in V2,OK,658
-1079,net.corda.node.services.persistence.HibernateConfigurationTest.with sorting by state ref index and txId desc and asc,OK,776
-1080,net.corda.node.services.persistence.HibernateConfigurationTest.count CashStates in V2,OK,716
-1081,net.corda.node.services.persistence.HibernateConfigurationTest.test calling an arbitrary JDBC native query,OK,619
-1082,"net.corda.node.services.persistence.HibernateConfigurationTest.three way join by composite primary between VaultStates, VaultLinearStates and DummyLinearStates",OK,686
-1083,net.corda.node.services.persistence.HibernateConfigurationTest.select by composite primary key on LinearStates,OK,664
-1084,net.corda.node.services.persistence.HibernateConfigurationTest.with sorting,OK,569
-1085,net.corda.node.services.persistence.HibernateConfigurationTest.select and join by composite primary key on CashStates,OK,627
-1086,net.corda.node.services.persistence.HibernateConfigurationTest.distinct contract types,OK,590
-1087,net.corda.node.services.persistence.HibernateConfigurationTest.calculate cash balance for single currency,OK,651
-1088,"net.corda.node.services.persistence.HibernateConfigurationTest.select by composite primary between VaultStates, VaultLinearStates and DummyLinearStates",OK,662
-1089,net.corda.node.services.persistence.HibernateConfigurationTest.consumed states,OK,609
-1090,net.corda.node.services.persistence.HibernateConfigurationTest.select by composite primary key,OK,539
-1091,net.corda.node.services.persistence.HibernateConfigurationTest.calculate cash balances,OK,719
-1092,net.corda.node.services.persistence.HibernateConfigurationTest.select fungible states by participants,OK,516
-1093,net.corda.node.services.persistence.HibernateConfigurationTest.with sorting by state ref desc and asc,OK,561
-1094,net.corda.node.services.persistence.HibernateConfigurationTest.with sorting on attribute from common table,OK,568
-1095,net.corda.node.services.persistence.HibernateConfigurationTest.select fungible states by owner party,OK,508
-1096,net.corda.node.services.persistence.HibernateConfigurationTest.with sorting on attribute from custom table,OK,512
-1097,net.corda.node.services.persistence.AppendOnlyPersistentMapNonConcurrentTest.update succeeds if value not in cache but in database,OK,62
-1098,net.corda.node.services.persistence.AppendOnlyPersistentMapNonConcurrentTest.can update entry in map,OK,46
-1099,net.corda.node.services.persistence.AppendOnlyPersistentMapNonConcurrentTest.update succeeds if in same transaction as create,OK,50
-1100,"net.corda.node.services.persistence.AppendOnlyPersistentMapNonConcurrentTest.map prevents duplicates, when key has been evicted from cache, but present in database",OK,64
-1101,net.corda.node.services.persistence.NodeAttachmentServiceTest.non jar rejected,OK,610
-1102,net.corda.node.services.persistence.NodeAttachmentServiceTest.retrieve latest versions of unsigned and signed contracts - signed is later version than unsigned,OK,1815
-1103,net.corda.node.services.persistence.NodeAttachmentServiceTest.can promote to trusted uploader for the same attachment,OK,1021
-1104,net.corda.node.services.persistence.NodeAttachmentServiceTest.importing a non-signed jar will save no signers,OK,438
-1105,net.corda.node.services.persistence.NodeAttachmentServiceTest.retrieve latest versions of unsigned and signed contracts - only unsigned contracts exist in store,OK,551
-1106,"net.corda.node.services.persistence.NodeAttachmentServiceTest.contract class, versioning and signing metadata can be used to search",OK,2471
-1107,net.corda.node.services.persistence.NodeAttachmentServiceTest.getAllAttachmentsByCriteria fails if no database transaction is set,OK,317
-1108,net.corda.node.services.persistence.NodeAttachmentServiceTest.can import duplicated contract class and version from signed attachment if an unsigned attachment already exists,OK,1105
-1109,"net.corda.node.services.persistence.NodeAttachmentServiceTest.can import jar with duplicated contract class, version and signers for trusted uploader",OK,1687
-1110,net.corda.node.services.persistence.NodeAttachmentServiceTest.sorting and compound conditions work,OK,301
-1111,net.corda.node.services.persistence.NodeAttachmentServiceTest.metadata can be used to search,OK,290
-1112,net.corda.node.services.persistence.NodeAttachmentServiceTest.getAllAttachmentsByCriteria returns no attachments if there are no stored attachments,OK,370
-1113,net.corda.node.services.persistence.NodeAttachmentServiceTest.can import duplicated contract class and version from unsigned attachment if a signed attachment already exists,OK,1145
-1114,net.corda.node.services.persistence.NodeAttachmentServiceTest.can import duplicated contract class and signers if versions differ,OK,1609
-1115,net.corda.node.services.persistence.NodeAttachmentServiceTest.attachments can be queried by providing a intersection of signers using an EQUAL statement - EQUAL containing a single public key,OK,4670
-1116,net.corda.node.services.persistence.NodeAttachmentServiceTest.insert contract attachment as an untrusted uploader and then as trusted CorDapp uploader,OK,492
-1117,net.corda.node.services.persistence.NodeAttachmentServiceTest.getAllAttachmentsByCriteria returns all stored attachments when no filtering is applied,OK,1092
-1118,net.corda.node.services.persistence.NodeAttachmentServiceTest.can promote to trusted uploader the same jar if other trusted uploader ,OK,1500
-1119,"net.corda.node.services.persistence.NodeAttachmentServiceTest.can promote to trusted uploader if other trusted attachment already has duplicated contract class, version and signers",OK,1707
-1120,net.corda.node.services.persistence.NodeAttachmentServiceTest.missing is not cached,OK,276
-1121,net.corda.node.services.persistence.NodeAttachmentServiceTest.attachments can be queried by providing a intersection of signers using an EQUAL statement - EQUAL containing multiple public keys,OK,3767
-1122,net.corda.node.services.persistence.NodeAttachmentServiceTest.insert and retrieve,OK,325
-1123,net.corda.node.services.persistence.NodeAttachmentServiceTest.retrieve latest versions of unsigned and signed contracts - unsigned is later version than signed,OK,1189
-1124,net.corda.node.services.persistence.NodeAttachmentServiceTest.retrieve latest versions of unsigned and signed contracts - both exist at same version,OK,1689
-1125,net.corda.node.services.persistence.NodeAttachmentServiceTest.retrieve latest versions of unsigned and signed contracts - none exist in store,OK,264
-1126,"net.corda.node.services.persistence.NodeAttachmentServiceTest.can import jar with duplicated contract class, version and signers - when one uploader is trusted and other isnt",OK,1532
-1127,net.corda.node.services.persistence.NodeAttachmentServiceTest.corrupt entry throws exception,OK,275
-1128,net.corda.node.services.persistence.NodeAttachmentServiceTest.importing a signed jar saves the signers to the storage,OK,944
-1129,net.corda.node.services.persistence.NodeAttachmentServiceTest.retrieve latest versions of unsigned and signed contracts - only signed contracts exist in store,OK,1647
-1130,net.corda.node.services.persistence.NodeAttachmentServiceTest.The strict JAR verification function fails signed JARs with removed or extra files that are valid according to the usual jarsigner,OK,298
-1131,net.corda.node.services.persistence.NodeAttachmentServiceTest.development mode - retrieve latest versions of signed contracts - multiple versions of same version id exist in store,OK,1749
-1132,net.corda.node.services.persistence.NodeAttachmentServiceTest.attachment can be overridden by trusted uploader,OK,361
-1133,net.corda.node.services.persistence.NodeAttachmentServiceTest.getAllAttachmentsByCriteria returns attachments filtered by criteria,OK,937
-1134,net.corda.node.services.persistence.NodeAttachmentServiceTest.can import duplicated contract class and version for unsigned attachments,OK,544
-1135,net.corda.node.services.persistence.NodeAttachmentServiceTest.attachment cannot be overridden by untrusted uploader,OK,361
-1136,net.corda.node.services.persistence.NodeAttachmentServiceTest.using reserved uploader tokens,OK,1242
-1137,net.corda.node.services.persistence.NodeAttachmentServiceTest.duplicates not allowed,Ignored,0
-1138,net.corda.node.services.identity.PersistentIdentityServiceTests.get identity by name with no registered identities,OK,325
-1139,net.corda.node.services.identity.PersistentIdentityServiceTests.P&C size,OK,248
-1140,net.corda.node.services.identity.PersistentIdentityServiceTests.get identity by key,OK,276
-1141,net.corda.node.services.identity.PersistentIdentityServiceTests.ensure no exception when looking up an unregistered confidential identity,OK,304
-1142,net.corda.node.services.identity.PersistentIdentityServiceTests.assert ownership,OK,356
-1143,net.corda.node.services.identity.PersistentIdentityServiceTests.get anonymous identity by key,OK,292
-1144,net.corda.node.services.identity.PersistentIdentityServiceTests.deanonymising a false well known identity should return null,OK,269
-1145,net.corda.node.services.identity.PersistentIdentityServiceTests.get identity by substring match,OK,349
-1146,net.corda.node.services.identity.PersistentIdentityServiceTests.get all identities,OK,275
-1147,net.corda.node.services.identity.PersistentIdentityServiceTests.Test Persistence,OK,298
-1148,net.corda.node.services.identity.PersistentIdentityServiceTests.get identity by name,OK,328
-1149,net.corda.node.services.identity.PersistentIdentityServiceTests.register duplicate confidential identities,OK,265
-1150,net.corda.node.services.identity.PersistentIdentityServiceTests.assert unknown anonymous key is unrecognised,OK,252
-1151,net.corda.node.services.identity.PersistentIdentityServiceTests.deanonymising a well known identity should return the identity,OK,268
-1152,net.corda.node.services.identity.PersistentIdentityServiceTests.register incorrect party to public key ,OK,317
-1153,net.corda.node.services.identity.PersistentIdentityServiceTests.stripping others when only us registered strips,OK,307
-1154,net.corda.node.services.identity.PersistentIdentityServiceTests.stripping others when none registered strips,OK,252
-1155,net.corda.node.services.identity.PersistentIdentityServiceTests.stripping others when us and others registered does not strip us,OK,259
-1156,net.corda.node.services.identity.InMemoryIdentityServiceTests.get identity by name with no registered identities,OK,0
-1157,net.corda.node.services.identity.InMemoryIdentityServiceTests.get identity by key,OK,7
-1158,net.corda.node.services.identity.InMemoryIdentityServiceTests.assert ownership,OK,25
-1159,net.corda.node.services.identity.InMemoryIdentityServiceTests.get anonymous identity by key,OK,16
-1160,net.corda.node.services.identity.InMemoryIdentityServiceTests.deanonymising a false well known identity should return null,OK,1
-1161,net.corda.node.services.identity.InMemoryIdentityServiceTests.get identity by substring match,OK,12
-1162,net.corda.node.services.identity.InMemoryIdentityServiceTests.get all identities,OK,1
-1163,net.corda.node.services.identity.InMemoryIdentityServiceTests.get identity by name,OK,18
-1164,net.corda.node.services.identity.InMemoryIdentityServiceTests.assert unknown anonymous key is unrecognised,OK,3
-1165,net.corda.node.services.identity.InMemoryIdentityServiceTests.deanonymising a well known identity should return the identity,OK,0
-1166,net.corda.node.services.network.NetworkMapCacheTest.getPeerByLegalName,OK,616
-1167,net.corda.node.services.network.NetworkMapCacheTest.remove node from cache,OK,651
-1168,net.corda.node.services.network.NetworkMapCacheTest.key collision,OK,659
-1169,net.corda.node.services.network.NetworkMapCacheTest.add two nodes the same name different keys,OK,313
-1170,net.corda.node.services.network.NetworkMapCacheTest.getNodeByLegalIdentity,OK,610
-1171,net.corda.node.services.network.NetworkMapCacheTest.caches get cleared on modification,OK,654
-1172,net.corda.node.services.network.NodeInfoWatcherTest.load an empty Directory,OK,1906
-1173,net.corda.node.services.network.NodeInfoWatcherTest.save a NodeInfo to JimFs,OK,393
-1174,net.corda.node.services.network.NodeInfoWatcherTest.save a NodeInfo,OK,85
-1175,net.corda.node.services.network.NodeInfoWatcherTest.load a non empty Directory,OK,57
-1176,net.corda.node.services.network.NodeInfoWatcherTest.polling folder,OK,43
-1177,net.corda.node.services.network.NetworkMapClientTest.handle parameters update,OK,2288
-1178,net.corda.node.services.network.NetworkMapClientTest.get hostname string from http response correctly,OK,81
-1179,net.corda.node.services.network.NetworkMapClientTest.errors return a meaningful error message,OK,111
-1180,net.corda.node.services.network.NetworkMapClientTest.download NetworkParameters correctly,OK,107
-1181,net.corda.node.services.network.NetworkMapClientTest.registered node is added to the network map,OK,157
-1182,"net.corda.node.services.network.NetworkMapUpdaterTest.receive node infos from directory, without a network map",OK,134
-1183,net.corda.node.services.network.NetworkMapUpdaterTest.emit new parameters update info on parameters update from network map,OK,112
-1184,net.corda.node.services.network.NetworkMapUpdaterTest.fetch nodes from private network,OK,115
-1185,"net.corda.node.services.network.NetworkMapUpdaterTest.remove node info file, but node in network map server",OK,4091
-1186,net.corda.node.services.network.NetworkMapUpdaterTest.network parameters not auto-accepted when update only changes whitelist but parameter included in exclusion,OK,2077
-1187,net.corda.node.services.network.NetworkMapUpdaterTest.not remove own node info when it is not in network map yet,OK,2080
-1188,"net.corda.node.services.network.NetworkMapUpdaterTest.process add node updates from network map, with additional node infos from dir",OK,4154
-1189,"net.corda.node.services.network.NetworkMapUpdaterTest.process remove node updates from network map, with additional node infos from dir",OK,4142
-1190,net.corda.node.services.network.NetworkMapUpdaterTest.remove node from filesystem deletes it from network map cache,OK,76
-1191,net.corda.node.services.network.NetworkMapUpdaterTest.network parameters auto-accepted when update only changes whitelist,OK,2069
-1192,net.corda.node.services.network.NetworkMapUpdaterTest.auto acceptance checks are correct,OK,73
-1193,net.corda.node.services.network.NetworkMapUpdaterTest.ack network parameters update,OK,2056
-1194,net.corda.node.services.network.NetworkMapUpdaterTest.network map updater removes the correct node info after node info changes,OK,4080
-1195,net.corda.node.services.network.NetworkMapUpdaterTest.network parameters not auto-accepted when update only changes whitelist but auto accept configured to be false,OK,2056
-1196,net.corda.node.services.network.NetworkParametersReaderTest.read correct set of parameters from file,OK,68
-1197,net.corda.node.services.network.NetworkParametersReaderTest.serialized parameters compatibility,OK,60
-1198,net.corda.node.services.network.NetworkParametersReaderTest.read network parameters from file when network map server is down,OK,40
-1199,net.corda.node.services.network.DBNetworkParametersStorageTest.download parameters from network map server,OK,4859
-1200,net.corda.node.services.network.DBNetworkParametersStorageTest.try save parameters with incorrect signature,OK,1091
-1201,net.corda.node.services.network.DBNetworkParametersStorageTest.set current parameters,OK,948
-1202,net.corda.node.services.network.DBNetworkParametersStorageTest.get default parameters,OK,769
-1203,net.corda.node.services.ServiceHubConcurrentUsageTest.operations requiring a transaction work from another thread,OK,2801
-1204,net.corda.node.services.config.NodeConfigurationImplTest.check devModeOptions flag helper,OK,3
-1205,net.corda.node.services.config.NodeConfigurationImplTest.jmxReporterType is not null and is set to New Relic,OK,328
-1206,net.corda.node.services.config.NodeConfigurationImplTest.can't have dev mode options if not in dev mode,OK,1
-1207,net.corda.node.services.config.NodeConfigurationImplTest.validation has error when compatibilityZone is present and devMode is true,OK,3
-1208,net.corda.node.services.config.NodeConfigurationImplTest.Dev mode is true if overriden,OK,22
-1209,net.corda.node.services.config.NodeConfigurationImplTest.can't have tlsCertCrlDistPoint null when crlCheckSoftFail is false,OK,5
-1210,net.corda.node.services.config.NodeConfigurationImplTest.rpcAddress and rpcSettings_address are equivalent,OK,7
-1211,net.corda.node.services.config.NodeConfigurationImplTest.validation has error when compatibilityZoneURL is present and devMode is true,OK,1
-1212,net.corda.node.services.config.NodeConfigurationImplTest.jmxReporterType is not null and set to Jokolia,OK,10
-1213,net.corda.node.services.config.NodeConfigurationImplTest.relative path correctly parsed,OK,6
-1214,net.corda.node.services.config.NodeConfigurationImplTest.jmxReporterType is null and defaults to Jokolia,OK,9
-1215,net.corda.node.services.config.NodeConfigurationImplTest.can't have tlsCertCrlDistPoint null when tlsCertCrlIssuer is given,OK,2
-1216,net.corda.node.services.config.NodeConfigurationImplTest.validation succeeds when compatibilityZoneURL is present and devMode is true and allowCompatibilityZoneURL is set,OK,0
-1217,net.corda.node.services.config.NodeConfigurationImplTest.Dev mode is autodetected correctly,OK,12
-1218,net.corda.node.services.config.NodeConfigurationImplTest.missing rpcSettings_adminAddress cause a graceful failure,OK,8
-1219,net.corda.node.services.config.NodeConfigurationImplTest.Dev mode is read from the config over the autodetect logic,OK,4
-1220,net.corda.node.services.config.NodeConfigurationImplTest.errors for nested config keys contain path,OK,5
-1221,net.corda.node.services.config.NodeConfigurationImplTest.validation has error when both compatibilityZoneURL and networkServices are configured,OK,1
-1222,net.corda.node.services.config.NodeConfigurationImplTest.compatibilityZoneURL populates NetworkServices,OK,362
-1223,net.corda.node.services.config.NodeConfigurationImplTest.Dev mode is false if overriden,OK,6
-1224,net.corda.node.services.config.NodeConfigurationImplTest.check crashShell flags helper,OK,5
-1225,net.corda.node.services.config.ConfigOperatorTests.config plus behaves the same as map plus,OK,0
-1226,net.corda.node.services.RPCSecurityManagerTest.Login with wrong credentials,OK,44
-1227,net.corda.node.services.RPCSecurityManagerTest.Check startTrackedFlow RPC permission implies startTrackedFlowDynamic,OK,13
-1228,net.corda.node.services.RPCSecurityManagerTest.Artemis special characters not permitted in RPC usernames,OK,2
-1229,net.corda.node.services.RPCSecurityManagerTest.Flow invocation authorization,OK,8
-1230,net.corda.node.services.RPCSecurityManagerTest.flows draining mode permissions,OK,15
-1231,net.corda.node.services.RPCSecurityManagerTest.Check startFlow RPC permission implies startFlowDynamic,OK,3
-1232,net.corda.node.services.RPCSecurityManagerTest.check killFlow RPC permission accepted,OK,4
-1233,net.corda.node.services.RPCSecurityManagerTest.Generic RPC call authorization,OK,5
-1234,net.corda.node.services.RPCSecurityManagerTest.Build invalid subject,OK,1
-1235,net.corda.node.services.RPCSecurityManagerTest.Login with unknown user,OK,1
-1236,net.corda.node.services.RPCSecurityManagerTest.Malformed permission strings,OK,2
-1237,net.corda.node.services.RPCSecurityManagerTest.Admin authorization,OK,3
-1238,net.corda.node.services.statemachine.FlowFrameworkTests.upgraded initiated flow,OK,2191
-1239,net.corda.node.services.statemachine.FlowFrameworkTests.sub-class of FlowException can have a peer field without causing serialisation problems,OK,1934
-1240,net.corda.node.services.statemachine.FlowFrameworkTests.non-flow class in session init,OK,1704
-1241,net.corda.node.services.statemachine.FlowFrameworkTests.flow can lazily use the serviceHub in its constructor,OK,1691
-1242,net.corda.node.services.statemachine.FlowFrameworkTests.customised client flow,OK,1567
-1243,net.corda.node.services.statemachine.FlowFrameworkTests.upgraded initiating flow,OK,1574
-1244,net.corda.node.services.statemachine.FlowFrameworkTests.other side ends before doing expected send,OK,1397
-1245,net.corda.node.services.statemachine.FlowFrameworkTests.FlowException has non-serialisable object,OK,1479
-1246,net.corda.node.services.statemachine.FlowFrameworkTests.non-FlowException thrown on other side,OK,1350
-1247,net.corda.node.services.statemachine.FlowFrameworkTests.double inlined sub-flow,OK,1458
-1248,net.corda.node.services.statemachine.FlowFrameworkTests.unregistered flow,OK,1319
-1249,net.corda.node.services.statemachine.FlowFrameworkTests.waitForLedgerCommit throws exception if any active session ends in error,OK,2119
-1250,net.corda.node.services.statemachine.FlowFrameworkTests.initiating flow using known AnonymousParty,OK,1271
-1251,net.corda.node.services.statemachine.FlowFrameworkTests.serialisation issue in counterparty,OK,1208
-1252,net.corda.node.services.statemachine.FlowFrameworkTests.initiating flow using unknown AnonymousParty,OK,1315
-1253,net.corda.node.services.statemachine.FlowFrameworkTests.both sides do a send as their first IO request,OK,1191
-1254,net.corda.node.services.statemachine.FlowFrameworkTests.exception while fiber suspended,OK,1136
-1255,net.corda.node.services.statemachine.FlowFrameworkTests.retry subFlow due to receiving FlowException,OK,1182
-1256,net.corda.node.services.statemachine.FlowFrameworkTests.waitForLedgerCommit,OK,2077
-1257,net.corda.node.services.statemachine.FlowFrameworkTests.verify vault query service is tokenizable by force checkpointing within a flow,OK,1209
-1258,net.corda.node.services.statemachine.FlowFrameworkTests.single inlined sub-flow,OK,1139
-1259,net.corda.node.services.statemachine.FlowFrameworkTests.customised client flow which has annotated @InitiatingFlow again,OK,1091
-1260,net.corda.node.services.statemachine.FlowFrameworkTests.receiving unexpected session end before entering sendAndReceive,OK,1112
-1261,"net.corda.node.services.statemachine.FlowFrameworkTests.session init with unknown class is sent to the flow hospital, from where we then drop it",OK,1063
-1262,net.corda.node.services.statemachine.FlowFrameworkTests.FlowException thrown on other side,OK,1245
-1263,net.corda.node.services.statemachine.FlowLogicRefFactoryImplTest.create kotlin primitive no registration required,OK,487
-1264,net.corda.node.services.statemachine.FlowLogicRefFactoryImplTest.create kotlin no arg,OK,7
-1265,net.corda.node.services.statemachine.FlowLogicRefFactoryImplTest.should create kotlin types,OK,1
-1266,net.corda.node.services.statemachine.FlowLogicRefFactoryImplTest.create kotlin void,OK,0
-1267,net.corda.node.services.statemachine.FlowLogicRefFactoryImplTest.create java primitive no registration required,OK,0
-1268,net.corda.node.services.statemachine.FlowLogicRefFactoryImplTest.create primary,OK,1
-1269,net.corda.node.services.statemachine.FlowLogicRefFactoryImplTest.create kotlin non primary,OK,0
-1270,net.corda.node.services.statemachine.FlowLogicRefFactoryImplTest.create for non-schedulable flow logic,OK,1
-1271,net.corda.node.services.statemachine.FlowFrameworkTripartyTests.sending to multiple parties,OK,14358
-1272,net.corda.node.services.statemachine.FlowFrameworkTripartyTests.FlowException thrown and there is a 3rd unrelated party flow,OK,3618
-1273,net.corda.node.services.statemachine.FlowFrameworkTripartyTests.FlowException only propagated to parent,OK,2580
-1274,net.corda.node.services.statemachine.FlowFrameworkTripartyTests.receiving from multiple parties,OK,2160
-1275,net.corda.node.services.statemachine.ExceptionsSerializationTest.testMarshal[SessionRejectException],OK,27
-1276,net.corda.node.services.statemachine.ExceptionsSerializationTest.testMarshal[CertificateRequestException],OK,7
-1277,net.corda.node.services.statemachine.ExceptionsSerializationTest.testMarshal[UnknownAnonymousPartyException],OK,5
-1278,net.corda.node.services.statemachine.ExceptionsSerializationTest.testMarshal[DatabaseConfigurationException],OK,6
-1279,net.corda.node.services.statemachine.IdempotentFlowTests.restarting idempotent flow does not replay any part of its parent flow,OK,2797
-1280,net.corda.node.services.statemachine.RetryFlowMockTest.Retry forever,OK,1603
-1281,net.corda.node.services.statemachine.RetryFlowMockTest.Retry does not set senderUUID,OK,1548
-1282,net.corda.node.services.statemachine.RetryFlowMockTest.Retry duplicate insert,OK,1416
-1283,net.corda.node.services.statemachine.RetryFlowMockTest.Single retry,OK,1372
-1284,net.corda.node.services.statemachine.RetryFlowMockTest.Patient records do not leak in hospital,OK,1411
-1285,net.corda.node.services.statemachine.RetryFlowMockTest.Patient records do not leak in hospital when using killFlow,OK,1339
-1286,net.corda.node.services.statemachine.RetryFlowMockTest.Restart does not set senderUUID,OK,1770
-1287,net.corda.node.services.statemachine.FlowFrameworkPersistenceTests.flow loaded from checkpoint will respond to messages from before start,OK,1732
-1288,net.corda.node.services.statemachine.FlowFrameworkPersistenceTests.flow with send will resend on interrupted restart,Ignored,0
-1289,net.corda.node.services.statemachine.FlowFrameworkPersistenceTests.newly added flow is preserved on restart,OK,1652
-1290,net.corda.node.services.statemachine.FlowFrameworkPersistenceTests.flow restarted just after receiving payload,OK,1550
-1291,net.corda.node.services.statemachine.FlowAsyncOperationTests.operation result errors are propagated correctly,OK,539
-1292,net.corda.node.services.statemachine.FlowAsyncOperationTests.flows waiting on an async operation do not block the thread,OK,590
-1293,net.corda.node.services.statemachine.FlowAsyncOperationTests.operation errors are propagated correctly,OK,414
-1294,net.corda.node.CordaRPCOpsImplTest.cannot upload the same attachment,OK,1517
-1295,net.corda.node.CordaRPCOpsImplTest.can download an uploaded attachment,OK,1115
-1296,net.corda.node.CordaRPCOpsImplTest.killing a flow releases soft lock,OK,3265
-1297,net.corda.node.CordaRPCOpsImplTest.kill a nonexistent flow through RPC,OK,994
-1298,net.corda.node.CordaRPCOpsImplTest.cash command by user not permissioned for cash,OK,979
-1299,net.corda.node.CordaRPCOpsImplTest.attachment uploaded with metadata can be from a privileged user,OK,972
-1300,net.corda.node.CordaRPCOpsImplTest.cash issue accepted,OK,1677
-1301,net.corda.node.CordaRPCOpsImplTest.attempt to start RPC flow with void return,OK,980
-1302,net.corda.node.CordaRPCOpsImplTest.attempt to start non-RPC flow,OK,886
-1303,net.corda.node.CordaRPCOpsImplTest.issue and move,OK,1909
-1304,net.corda.node.CordaRPCOpsImplTest.attachment uploaded with metadata has specified uploader,OK,1064
-1305,net.corda.node.CordaRPCOpsImplTest.non-ContractState class for the contractStateType param in vault queries,OK,881
-1306,net.corda.node.CordaRPCOpsImplTest.can upload attachment with metadata,OK,790
-1307,net.corda.node.CordaRPCOpsImplTest.kill a stuck flow through RPC,OK,827
-1308,net.corda.node.CordaRPCOpsImplTest.can upload an attachment,OK,980
-1309,net.corda.node.CordaRPCOpsImplTest.kill a waiting flow through RPC,OK,876
-1310,net.corda.node.CordaRPCOpsImplTest.attachment uploaded with metadata has specified filename,OK,859
-1311,net.corda.node.serialization.kryo.KryoStreamsTest.substitute input works,OK,2
-1312,net.corda.node.serialization.kryo.KryoStreamsTest.ByteBufferOutputStream discards data after final position,OK,1
-1313,net.corda.node.serialization.kryo.KryoStreamsTest.ByteBufferOutputStream works,OK,3
-1314,net.corda.node.serialization.kryo.KryoStreamsTest.zip round-trip,OK,5
-1315,net.corda.node.serialization.kryo.KryoStreamsTest.substitute output works,OK,2
-1316,net.corda.node.serialization.kryo.KryoTests.check Kotlin EmptyMap can be serialised[null],OK,156
-1317,net.corda.node.serialization.kryo.KryoTests.deserialised key pair functions the same as serialised one[null],OK,8
-1318,net.corda.node.serialization.kryo.KryoTests.check Kotlin EmptySet can be serialised[null],OK,0
-1319,net.corda.node.serialization.kryo.KryoTests.write and read Kotlin object singleton[null],OK,5
-1320,net.corda.node.serialization.kryo.KryoTests.HashCheckingStream(de)serialize[null],OK,4
-1321,net.corda.node.serialization.kryo.KryoTests.compression has the desired effect[null],OK,0
-1322,net.corda.node.serialization.kryo.KryoTests.serialised form is stable when the same object instance is added to the deserialised object graph[null],OK,3
-1323,net.corda.node.serialization.kryo.KryoTests.a particular encoding can be banned for deserialization[null],OK,0
-1324,net.corda.node.serialization.kryo.KryoTests.InputStream serialisation does not write trailing garbage[null],OK,0
-1325,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize PrivacySalt[null],OK,1
-1326,net.corda.node.serialization.kryo.KryoTests.simple data class[null],OK,2
-1327,net.corda.node.serialization.kryo.KryoTests.compression reduces number of bytes significantly[null],OK,2
-1328,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize Logger[null],OK,1
-1329,net.corda.node.serialization.kryo.KryoTests.cyclic object graph[null],OK,2
-1330,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize Exception no suppressed[null],OK,5
-1331,net.corda.node.serialization.kryo.KryoTests.rxSubscriptionsAreNotSerialized[null],OK,8
-1332,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize Exception with suppressed[null],OK,3
-1333,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize SignableData[null],OK,2
-1334,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize HashNotFound[null],OK,2
-1335,net.corda.node.serialization.kryo.KryoTests.InputStream serialisation[null],OK,3
-1336,net.corda.node.serialization.kryo.KryoTests.null values[null],OK,0
-1337,net.corda.node.serialization.kryo.KryoTests.check Kotlin EmptyList can be serialised[null],OK,0
-1338,"net.corda.node.serialization.kryo.KryoTests.serialised form is stable when the same object instance occurs more than once, and using java serialisation[null]",OK,1
-1339,net.corda.node.serialization.kryo.KryoTests.check Kotlin EmptyMap can be serialised[DEFLATE],OK,4
-1340,net.corda.node.serialization.kryo.KryoTests.deserialised key pair functions the same as serialised one[DEFLATE],OK,14
-1341,net.corda.node.serialization.kryo.KryoTests.check Kotlin EmptySet can be serialised[DEFLATE],OK,0
-1342,net.corda.node.serialization.kryo.KryoTests.write and read Kotlin object singleton[DEFLATE],OK,0
-1343,net.corda.node.serialization.kryo.KryoTests.HashCheckingStream(de)serialize[DEFLATE],OK,2
-1344,net.corda.node.serialization.kryo.KryoTests.compression has the desired effect[DEFLATE],OK,1
-1345,net.corda.node.serialization.kryo.KryoTests.serialised form is stable when the same object instance is added to the deserialised object graph[DEFLATE],OK,1
-1346,net.corda.node.serialization.kryo.KryoTests.a particular encoding can be banned for deserialization[DEFLATE],OK,1
-1347,net.corda.node.serialization.kryo.KryoTests.InputStream serialisation does not write trailing garbage[DEFLATE],OK,0
-1348,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize PrivacySalt[DEFLATE],OK,0
-1349,net.corda.node.serialization.kryo.KryoTests.simple data class[DEFLATE],OK,0
-1350,net.corda.node.serialization.kryo.KryoTests.compression reduces number of bytes significantly[DEFLATE],OK,1
-1351,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize Logger[DEFLATE],OK,0
-1352,net.corda.node.serialization.kryo.KryoTests.cyclic object graph[DEFLATE],OK,1
-1353,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize Exception no suppressed[DEFLATE],OK,0
-1354,net.corda.node.serialization.kryo.KryoTests.rxSubscriptionsAreNotSerialized[DEFLATE],OK,1
-1355,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize Exception with suppressed[DEFLATE],OK,1
-1356,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize SignableData[DEFLATE],OK,0
-1357,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize HashNotFound[DEFLATE],OK,1
-1358,net.corda.node.serialization.kryo.KryoTests.InputStream serialisation[DEFLATE],OK,1
-1359,net.corda.node.serialization.kryo.KryoTests.null values[DEFLATE],OK,1
-1360,net.corda.node.serialization.kryo.KryoTests.check Kotlin EmptyList can be serialised[DEFLATE],OK,0
-1361,"net.corda.node.serialization.kryo.KryoTests.serialised form is stable when the same object instance occurs more than once, and using java serialisation[DEFLATE]",OK,1
-1362,net.corda.node.serialization.kryo.KryoTests.check Kotlin EmptyMap can be serialised[SNAPPY],OK,2
-1363,net.corda.node.serialization.kryo.KryoTests.deserialised key pair functions the same as serialised one[SNAPPY],OK,2
-1364,net.corda.node.serialization.kryo.KryoTests.check Kotlin EmptySet can be serialised[SNAPPY],OK,0
-1365,net.corda.node.serialization.kryo.KryoTests.write and read Kotlin object singleton[SNAPPY],OK,0
-1366,net.corda.node.serialization.kryo.KryoTests.HashCheckingStream(de)serialize[SNAPPY],OK,1
-1367,net.corda.node.serialization.kryo.KryoTests.compression has the desired effect[SNAPPY],OK,4
-1368,net.corda.node.serialization.kryo.KryoTests.serialised form is stable when the same object instance is added to the deserialised object graph[SNAPPY],OK,0
-1369,net.corda.node.serialization.kryo.KryoTests.a particular encoding can be banned for deserialization[SNAPPY],OK,1
-1370,net.corda.node.serialization.kryo.KryoTests.InputStream serialisation does not write trailing garbage[SNAPPY],OK,0
-1371,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize PrivacySalt[SNAPPY],OK,1
-1372,net.corda.node.serialization.kryo.KryoTests.simple data class[SNAPPY],OK,0
-1373,net.corda.node.serialization.kryo.KryoTests.compression reduces number of bytes significantly[SNAPPY],OK,0
-1374,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize Logger[SNAPPY],OK,0
-1375,net.corda.node.serialization.kryo.KryoTests.cyclic object graph[SNAPPY],OK,0
-1376,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize Exception no suppressed[SNAPPY],OK,0
-1377,net.corda.node.serialization.kryo.KryoTests.rxSubscriptionsAreNotSerialized[SNAPPY],OK,1
-1378,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize Exception with suppressed[SNAPPY],OK,0
-1379,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize SignableData[SNAPPY],OK,0
-1380,net.corda.node.serialization.kryo.KryoTests.serialize - deserialize HashNotFound[SNAPPY],OK,1
-1381,net.corda.node.serialization.kryo.KryoTests.InputStream serialisation[SNAPPY],OK,1
-1382,net.corda.node.serialization.kryo.KryoTests.null values[SNAPPY],OK,0
-1383,net.corda.node.serialization.kryo.KryoTests.check Kotlin EmptyList can be serialised[SNAPPY],OK,0
-1384,"net.corda.node.serialization.kryo.KryoTests.serialised form is stable when the same object instance occurs more than once, and using java serialisation[SNAPPY]",OK,0
-1385,net.corda.node.modes.draining.ScheduledFlowsDrainingModeTest.flows draining mode ignores scheduled flows until unset,OK,22328
-1386,net.corda.node.messaging.TwoPartyTradeFlowTests.trade cash for commercial paper fails using soft locking[Anonymous = true],OK,12732
-1387,net.corda.node.messaging.TwoPartyTradeFlowTests.track works[Anonymous = true],OK,5376
-1388,net.corda.node.messaging.TwoPartyTradeFlowTests.check dependencies of sale asset are resolved[Anonymous = true],OK,5260
-1389,net.corda.node.messaging.TwoPartyTradeFlowTests.dependency with error on seller side[Anonymous = true],OK,3441
-1390,net.corda.node.messaging.TwoPartyTradeFlowTests.trade cash for commercial paper[Anonymous = true],OK,3660
-1391,net.corda.node.messaging.TwoPartyTradeFlowTests.shutdown and restore[Anonymous = true],OK,3835
-1392,net.corda.node.messaging.TwoPartyTradeFlowTests.dependency with error on buyer side[Anonymous = true],OK,3164
-1393,net.corda.node.messaging.TwoPartyTradeFlowTests.trade cash for commercial paper fails using soft locking[Anonymous = false],OK,9722
-1394,net.corda.node.messaging.TwoPartyTradeFlowTests.track works[Anonymous = false],OK,4276
-1395,net.corda.node.messaging.TwoPartyTradeFlowTests.check dependencies of sale asset are resolved[Anonymous = false],OK,3624
-1396,net.corda.node.messaging.TwoPartyTradeFlowTests.dependency with error on seller side[Anonymous = false],OK,2403
-1397,net.corda.node.messaging.TwoPartyTradeFlowTests.trade cash for commercial paper[Anonymous = false],OK,2930
-1398,net.corda.node.messaging.TwoPartyTradeFlowTests.shutdown and restore[Anonymous = false],OK,3164
-1399,net.corda.node.messaging.TwoPartyTradeFlowTests.dependency with error on buyer side[Anonymous = false],OK,2617
-1400,net.corda.node.SerialFilterTests.null and primitives are accepted and arrays are unwrapped,OK,5
-1401,net.corda.node.SerialFilterTests.the predicate is applied to the componentType,OK,0
-1402,net.corda.node.utilities.ClockUtilsTest.test waiting for a deadline with multiple clock advance and incomplete Guava future on Fibers,OK,5
-1403,net.corda.node.utilities.ClockUtilsTest.test waiting for a deadline with multiple clock advance and incomplete JDK8 future on Fibers,OK,3
-1404,net.corda.node.utilities.ClockUtilsTest.test waiting no time for a deadline,OK,1
-1405,net.corda.node.utilities.ClockUtilsTest.test waiting no time for a deadline with incomplete future,OK,0
-1406,net.corda.node.utilities.ClockUtilsTest.test waiting for a deadline with multiple clock advance and incomplete future,OK,7
-1407,net.corda.node.utilities.ClockUtilsTest.test waiting negative time for a deadline,OK,0
-1408,net.corda.node.utilities.ClockUtilsTest.test waiting negative time for a deadline with incomplete future,OK,0
-1409,net.corda.node.utilities.ClockUtilsTest.test waiting for a deadline with clock advance,OK,1
-1410,net.corda.node.utilities.ClockUtilsTest.test waiting for a deadline with future completed before wait,OK,0
-1411,net.corda.node.utilities.ClockUtilsTest.test waiting for a deadline with clock advance and complete future,OK,4
-1412,net.corda.node.utilities.ClockUtilsTest.test waiting for a deadline with future completed after wait,OK,1
-1413,net.corda.node.utilities.ClockUtilsTest.test waiting for a deadline with clock advance and incomplete future,OK,1
-1414,net.corda.node.utilities.ClockUtilsTest.test external interrupt of a clock future,OK,3
-1415,net.corda.node.utilities.TLSAuthenticationTests.Server EC R1 - Client RSA - CAs all EC R1,OK,1219
-1416,net.corda.node.utilities.TLSAuthenticationTests.TLS cipher suite order matters - client wins,OK,110
-1417,net.corda.node.utilities.TLSAuthenticationTests.Server EC R1 - Client RSA - Mixed CAs,OK,1137
-1418,net.corda.node.utilities.TLSAuthenticationTests.Server EC R1 - Client EC R1 - CAs all RSA,OK,1316
-1419,net.corda.node.utilities.TLSAuthenticationTests.All EC R1,OK,123
-1420,net.corda.node.utilities.TLSAuthenticationTests.Server RSA - Client EC R1 - CAs all EC R1,OK,618
-1421,net.corda.node.utilities.TLSAuthenticationTests.All RSA,OK,1223
-1422,net.corda.node.utilities.logging.AsyncLoggingTest.async logging is configured,OK,0
-1423,net.corda.node.utilities.PersistentMapTests.make sure updating works,OK,441
-1424,net.corda.node.utilities.PersistentMapTests.make sure persistence works using assignment operator,OK,382
-1425,net.corda.node.utilities.PersistentMapTests.make sure persistence works against base class,OK,391
-1426,net.corda.node.utilities.PersistentMapTests.make sure persistence works,OK,381
-1427,net.corda.node.utilities.PersistentMapTests.make sure removal works,OK,584
-1428,net.corda.node.utilities.PersistentMapTests.make sure persistence works using assignment operator base class,OK,388
-1429,net.corda.node.utilities.PersistentMapTests.make sure updating works using assignment operator,OK,494
-1430,net.corda.node.utilities.registration.NetworkRegistrationHelperTest.multiple certificates are copied to the node's trust store,OK,435
-1431,net.corda.node.utilities.registration.NetworkRegistrationHelperTest.successful registration,OK,35
-1432,net.corda.node.utilities.registration.NetworkRegistrationHelperTest.node CA with incorrect cert role,OK,19
-1433,net.corda.node.utilities.registration.NetworkRegistrationHelperTest.wrong root cert in truststore,OK,16
-1434,net.corda.node.utilities.registration.NetworkRegistrationHelperTest.node CA with incorrect subject,OK,13
-1435,net.corda.node.utilities.registration.NetworkRegistrationHelperTest.missing truststore,OK,7
-1436,net.corda.node.utilities.registration.NetworkRegistrationHelperTest.create service identity cert,OK,17
-1437,net.corda.node.utilities.AffinityExecutorTests.flush handles nested executes,OK,2
-1438,net.corda.node.utilities.AffinityExecutorTests.pooled executor,OK,4
-1439,net.corda.node.utilities.AffinityExecutorTests.single threaded affinity executor runs on correct thread,OK,2
-1440,net.corda.node.utilities.AddressUtilsTests.correctly determines if the provided address is public,OK,619
-1441,net.corda.node.utilities.ObservablesTests.bufferUntilDatabaseCommit swallows if transaction rolled back,OK,7028
-1442,net.corda.node.utilities.ObservablesTests.check wrapping in db tx doesn't eagerly subscribe,OK,646
-1443,net.corda.node.utilities.ObservablesTests.bufferUntilDatabaseCommit delays until transaction closed repeatable,OK,521
-1444,net.corda.node.utilities.ObservablesTests.combine tee and bufferUntilDatabaseCommit,OK,477
-1445,net.corda.node.utilities.ObservablesTests.tee correctly copies observations to multiple observers,OK,2
-1446,net.corda.node.utilities.ObservablesTests.check wrapping in db tx unsubscribes,OK,439
-1447,net.corda.node.utilities.ObservablesTests.check wrapping in db tx restarts if we pass through zero subscribers,OK,487
-1448,net.corda.node.utilities.ObservablesTests.new transaction open in observer when wrapped,OK,411
-1449,net.corda.node.utilities.ObservablesTests.bufferUntilDatabaseCommit propagates error if transaction rolled back,OK,393
-1450,net.corda.node.utilities.ObservablesTests.bufferUntilDatabaseCommit delays until transaction closed,OK,374
-1451,net.corda.node.utilities.InfrequentlyMutatedCacheTest.get from empty cache returns result of loader,OK,9
-1452,net.corda.node.utilities.InfrequentlyMutatedCacheTest.transaction started before invalidating thread commits does not cache until after the other thread commits,OK,18
-1453,net.corda.node.utilities.InfrequentlyMutatedCacheTest.third get outside first transaction from empty cache with invalidate in the middle returns result of third loader,OK,5
-1454,net.corda.node.utilities.InfrequentlyMutatedCacheTest.other thread get returns result of local thread loader,OK,6
-1455,net.corda.node.utilities.InfrequentlyMutatedCacheTest.second get from empty cache with invalidate in the middle returns result of second loader,OK,4
-1456,net.corda.node.utilities.InfrequentlyMutatedCacheTest.fourth get outside first transaction from empty cache with invalidate in the middle returns result of third loader,OK,7
-1457,net.corda.node.utilities.InfrequentlyMutatedCacheTest.second get from empty cache with invalidate and flush in the middle returns result of third loader,OK,6
-1458,net.corda.node.utilities.InfrequentlyMutatedCacheTest.getIfPresent from empty cache returns null,OK,2
-1459,net.corda.node.utilities.InfrequentlyMutatedCacheTest.getIfPresent after get from empty cache with invalidate in the middle returns null,OK,2
-1460,net.corda.node.utilities.InfrequentlyMutatedCacheTest.getIfPresent outside first transaction from empty cache with invalidate in the middle returns result of third loader,OK,5
-1461,net.corda.node.utilities.InfrequentlyMutatedCacheTest.second get from empty cache returns result of first loader,OK,3
-1462,net.corda.node.utilities.InfrequentlyMutatedCacheTest.fourth get outside first transaction from empty cache with invalidate in other thread in the middle returns result of second loader,OK,7
-1463,net.corda.node.utilities.InfrequentlyMutatedCacheTest.other thread get outside first transaction with invalidate in the middle returns result of other thread,OK,5
-1464,net.corda.node.utilities.InfrequentlyMutatedCacheTest.fourth get outside first transaction from empty cache with nested invalidate in the middle returns result of third loader,OK,5
-1465,net.corda.node.utilities.InfrequentlyMutatedCacheTest.getIfPresent after get from empty cache returns result of first loader,OK,3
-1466,net.corda.node.utilities.InfrequentlyMutatedCacheTest.other thread get with invalidate in the middle returns result of second loader,OK,6
-1467,net.corda.node.internal.NodeUnloadHandlerTests.should be able to register run on stop lambda,OK,4225
-1468,net.corda.node.internal.NodeStartupCliTest.no command line arguments,OK,149
-1469,net.corda.node.internal.NodeStartupCliTest.--base-directory,OK,3
-1470,net.corda.node.internal.NodeStartupTest.test that you cant start two nodes in the same directory,OK,12
-1471,net.corda.node.internal.rpc.proxies.ThreadContextAdjustingRpcOpsProxyTest.verifyThreadContextIsAdjustedTemporarily,OK,17
-1472,net.corda.node.internal.NodeTest.test getJavaRuntimeVersion,OK,2
-1473,net.corda.node.internal.NodeTest.generateAndSaveNodeInfo works,OK,1089
-1474,net.corda.node.internal.NodeTest.Node can start with multiple keypairs for its identity,OK,1074
-1475,net.corda.node.internal.NodeTest.clear network map cache works,OK,674
-1476,net.corda.node.internal.NodeTest.test getJavaUpdateVersion,Ignored,0
-1477,net.corda.node.internal.serialization.RoundTripObservableSerializerTests.roundTripTest1,OK,121
-1478,net.corda.node.internal.serialization.RpcServerObservableSerializerTests.canSerializerBeRegistered,OK,0
-1479,net.corda.node.internal.serialization.RpcServerObservableSerializerTests.canAssociateWithContext,OK,0
-1480,net.corda.node.internal.serialization.RpcServerObservableSerializerTests.serialiseFakeObservable,OK,3
-1481,net.corda.node.internal.NodeStartupCompatibilityTest.should always be backwards compatible,OK,122
-1482,net.corda.node.internal.cordapp.CordappProviderImplTests.test that we find an attachment for a cordapp contract class,OK,1410
-1483,net.corda.node.internal.cordapp.CordappProviderImplTests.test cordapp configuration,OK,96
-1484,net.corda.node.internal.cordapp.CordappProviderImplTests.empty jar is not loaded into the attachment store,OK,12
-1485,net.corda.node.internal.cordapp.CordappProviderImplTests.isolated jar is loaded into the attachment store,OK,24
-1486,net.corda.node.internal.cordapp.CordappProviderImplTests.test that we find a cordapp class that is loaded into the store,OK,44
-1487,net.corda.node.internal.cordapp.CordappConfigFileProviderTests.test that config can be loaded,OK,4
-1488,net.corda.node.internal.cordapp.CordappConfigFileProviderTests.config is not idempotent if the underlying file is changed,OK,33
-1489,net.corda.node.internal.cordapp.CordappConfigFileProviderTests.config is idempotent if the underlying file is not changed,OK,1
-1490,net.corda.node.internal.cordapp.CordappConfigFileProviderTests.an invalid config throws an exception,OK,1
-1491,net.corda.node.internal.cordapp.TypesafeCordappConfigTests.test that an exception is thrown when trying to access a non-extant field,OK,0
-1492,net.corda.node.internal.cordapp.TypesafeCordappConfigTests.test exists determines existence and lack of existence correctly,OK,1
-1493,net.corda.node.internal.cordapp.TypesafeCordappConfigTests.test a nested path,OK,0
-1494,net.corda.node.internal.cordapp.TypesafeCordappConfigTests.test that all value types can be retrieved,OK,17
-1495,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.isolated JAR contains a CorDapp with a contract and plugin,OK,36
-1496,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.cordapp classloader does load apps when their min platform version is less than the platform version,OK,15
-1497,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.cordapp classloader loads app signed by both allowed and non-blacklisted certificate,OK,674
-1498,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.classes that aren't in cordapps aren't loaded,OK,7
-1499,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.cordapp classloader loads app signed by allowed certificate,OK,15
-1500,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.flows are loaded by loader,OK,224
-1501,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.cordapp classloader does not load app signed by blacklisted certificate,OK,14
-1502,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.cordapp classloader returns correct values for minPlatformVersion and targetVersion,OK,11
-1503,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.cordapp classloader sets target version to min version if target version is not specified,OK,7
-1504,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.cordapp classloader can load cordapp classes,OK,12
-1505,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.cordapp classloader does not load apps when their min platform version is greater than the node platform version,OK,10
-1506,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.constructed CordappImpl contains the right cordapp classes,OK,33
-1507,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.cordapp classloader sets target and min version to 1 if not specified,OK,23
-1508,net.corda.node.internal.cordapp.JarScanningCordappLoaderTest.cordapp classloader does load apps when their min platform version is equal to the platform version,OK,13
-1509,net.corda.node.internal.AbstractNodeTests.H2 fix is applied,OK,58827
-1510,net.corda.node.internal.AbstractNodeTests.logVendorString does not leak connection,OK,5463
-1511,net.corda.node.internal.NodeRestartTests.restart with no network map cache update,OK,4819
-1512,net.corda.node.internal.security.PasswordTest.equals,OK,5
-1513,net.corda.node.internal.security.PasswordTest.constructor_and_getters,OK,1
-1514,net.corda.node.internal.security.PasswordTest.close,OK,0
-1515,net.corda.node.internal.security.PasswordTest.toString_is_masked,OK,3
-1516,net.corda.node.internal.security.PasswordTest.hashcode,OK,0
-1517,net.corda.node.internal.security.PasswordTest.immutability,OK,0
-1518,net.corda.node.internal.CordaServiceTest.Can query vault service in constructor,OK,2430
-1519,net.corda.node.internal.CordaServiceTest.Can use entity manager in constructor,OK,1478
-1520,net.corda.node.internal.CordaServiceTest.Corda service can access a non-null thread context classloader,OK,1454
-1521,net.corda.node.internal.CordaServiceTest.Can't start StartableByRPC flows,OK,1360
-1522,net.corda.node.internal.CordaServiceTest.Can start StartableByService flows,OK,2815
-1523,net.corda.node.internal.CordaServiceTest.Test flow with progress tracking,OK,2301
-1524,net.corda.node.internal.CordaServiceTest.Can find distinct services on node,OK,1251
-1525,net.corda.node.internal.CordaServiceTest.Can query using jdbc session in constructor,OK,1183
-1526,net.corda.node.internal.FlowRegistrationTest.succeeds when a subclass of a flow initiated by the same flow is registered,OK,1390
-1527,net.corda.node.internal.FlowRegistrationTest.a single initiated flow can be registered without error,OK,1499
-1528,net.corda.node.internal.NodeFlowManagerTest.should fail to validate if more than one registration with equal weight,OK,3
-1529,net.corda.node.internal.NodeFlowManagerTest.should allow an override to be specified,OK,149
-1530,net.corda.node.internal.NodeFlowManagerTest.should allow updating of registered responder at runtime,OK,2
-1531,net.corda.node.internal.NodeFlowManagerTest.should allow registration of flows with different weights,OK,0
-1532,net.corda.node.migration.PersistentIdentityMigrationNewTableTest.migrate identities to new table,OK,6961
-1533,net.corda.node.migration.IdentityServiceToStringShortMigrationTest.it should be possible to migrate all existing identities to new hash function,OK,1114
-1534,net.corda.node.migration.VaultStateMigrationTest.Check a simple migration works,OK,2354
-1535,net.corda.node.migration.VaultStateMigrationTest.Check state paging works,OK,7707
-1536,net.corda.node.migration.VaultStateMigrationTest.Consumed states are not migrated,OK,2892
-1537,net.corda.node.migration.VaultStateMigrationTest.Check state fields are correct,OK,563
-1538,net.corda.node.migration.VaultStateMigrationTest.State created with notary change transaction can be migrated,OK,614
-1539,net.corda.node.migration.VaultStateMigrationTest.Create persistent DB,Ignored,0
-1540,net.corda.node.migration.VaultStateMigrationTest.State with non-owning key for our name marked as relevant,OK,582
-1541,net.corda.node.migration.VaultStateMigrationTest.Run on persistent DB,Ignored,1
-1542,net.corda.node.migration.VaultStateMigrationTest.Migrate large database,Ignored,0
-1543,net.corda.node.migration.VaultStateMigrationTest.State with corresponding transaction missing fails migration,OK,728
-1544,net.corda.node.migration.VaultStateMigrationTest.Check the connection is open post migration,OK,594
-1545,net.corda.node.migration.VaultStateMigrationTest.Null database causes migration to fail,OK,458
-1546,net.corda.node.migration.VaultStateMigrationTest.All parties added to state party table,OK,548
-1547,net.corda.node.migration.VaultStateMigrationTest.State with unknown ID is handled correctly,OK,581
-1548,net.corda.node.migration.VaultStateMigrationTest.State already in state party table is excluded,OK,551
-1549,net.corda.nodeapi.internal.SignedNodeInfoTest.verifying extra signature,OK,1370
-1550,net.corda.nodeapi.internal.SignedNodeInfoTest.verifying multiple identities,OK,58
-1551,net.corda.nodeapi.internal.SignedNodeInfoTest.verifying with signatures in wrong order,OK,29
-1552,net.corda.nodeapi.internal.SignedNodeInfoTest.verifying single identity,OK,17
-1553,net.corda.nodeapi.internal.SignedNodeInfoTest.verifying composite keys only,OK,25
-1554,net.corda.nodeapi.internal.SignedNodeInfoTest.verifying missing signature,OK,25
-1555,net.corda.nodeapi.internal.SignedNodeInfoTest.verifying incorrect signature,OK,16
-1556,net.corda.nodeapi.internal.CordaPersistenceTest.onAllOpenTransactionsClosed with two transactions calls back after closing both - instigator closes last,OK,17
-1557,net.corda.nodeapi.internal.CordaPersistenceTest.onAllOpenTransactionsClosed with zero transactions calls back immediately,OK,3
-1558,net.corda.nodeapi.internal.CordaPersistenceTest.onAllOpenTransactionsClosed after one transaction has closed calls back immediately,OK,6
-1559,net.corda.nodeapi.internal.CordaPersistenceTest.onAllOpenTransactionsClosed with one transaction calls back after closing,OK,4
-1560,net.corda.nodeapi.internal.CordaPersistenceTest.onAllOpenTransactionsClosed with two transactions calls back after closing both,OK,5
-1561,"net.corda.nodeapi.internal.cryptoservice.bouncycastle.BCCryptoServiceTests.When key does not exist getPublicKey, sign and getSigner should throw",OK,14
-1562,net.corda.nodeapi.internal.cryptoservice.bouncycastle.BCCryptoServiceTests.BCCryptoService generate key pair and sign with existing schemes,OK,514
-1563,net.corda.nodeapi.internal.cryptoservice.bouncycastle.BCCryptoServiceTests.BCCryptoService generate key pair and sign with passed signing algorithm,OK,3484
-1564,net.corda.nodeapi.internal.cryptoservice.bouncycastle.BCCryptoServiceTests.BCCryptoService generate key pair and sign both data and cert,OK,802
-1565,net.corda.nodeapi.internal.protonwrapper.netty.SSLHelperTest.ensure SNI header in correct format,OK,147
-1566,net.corda.nodeapi.internal.crypto.AliasPrivateKeyTest.store AliasPrivateKey entry and cert to keystore,OK,11
-1567,net.corda.nodeapi.internal.crypto.X509UtilitiesTest.serialize - deserialize X509CertPath,OK,697
-1568,net.corda.nodeapi.internal.crypto.X509UtilitiesTest.load and save a PEM file certificate,OK,779
-1569,net.corda.nodeapi.internal.crypto.X509UtilitiesTest.create valid server certificate chain includes CRL info,OK,1145
-1570,net.corda.nodeapi.internal.crypto.X509UtilitiesTest.serialize - deserialize X509Certificate,OK,952
-1571,net.corda.nodeapi.internal.crypto.X509UtilitiesTest.get correct private key type from Keystore,OK,177
-1572,net.corda.nodeapi.internal.crypto.X509UtilitiesTest.create valid server certificate chain,OK,1241
-1573,net.corda.nodeapi.internal.crypto.X509UtilitiesTest.signing a key type with another key type certificate then store and reload correctly from keystore,OK,966
-1574,net.corda.nodeapi.internal.crypto.X509UtilitiesTest.storing all supported key types in java keystore,OK,356
-1575,net.corda.nodeapi.internal.crypto.X509UtilitiesTest.create valid self-signed CA certificate,OK,550
-1576,net.corda.nodeapi.internal.crypto.X509UtilitiesTest.create server certificate in keystore for SSL,OK,17
-1577,net.corda.nodeapi.internal.crypto.X509UtilitiesTest.create server cert and use in SSL socket,OK,279
-1578,net.corda.nodeapi.internal.crypto.DevCertificatesTest.create server certificate in keystore for SSL,OK,9
-1579,net.corda.nodeapi.internal.AttachmentsClassLoaderStaticContractTests.verify that contract DummyContract is in classPath,OK,2
-1580,net.corda.nodeapi.internal.AttachmentsClassLoaderStaticContractTests.test serialization of WireTransaction with statically loaded contract,OK,1750
-1581,net.corda.nodeapi.internal.network.NodeInfoFilesCopierTest.polling of running nodes,OK,339
-1582,net.corda.nodeapi.internal.network.NodeInfoFilesCopierTest.files created before a node is started are copied to that node,OK,248
-1583,net.corda.nodeapi.internal.network.NodeInfoFilesCopierTest.clear,OK,169
-1584,net.corda.nodeapi.internal.network.NodeInfoFilesCopierTest.remove nodes,OK,313
-1585,net.corda.nodeapi.internal.network.WhitelistGeneratorTest.jar with single new contract that's excluded,OK,1667
-1586,net.corda.nodeapi.internal.network.WhitelistGeneratorTest.same jar with single contract,OK,2
-1587,net.corda.nodeapi.internal.network.WhitelistGeneratorTest.no jars against single whitelist,OK,0
-1588,net.corda.nodeapi.internal.network.WhitelistGeneratorTest.empty jar against single whitelist,OK,0
-1589,net.corda.nodeapi.internal.network.WhitelistGeneratorTest.empty jar against empty whitelist,OK,0
-1590,net.corda.nodeapi.internal.network.WhitelistGeneratorTest.no jars against empty whitelist,OK,0
-1591,"net.corda.nodeapi.internal.network.WhitelistGeneratorTest.jar with two new contracts, one of which is excluded",OK,0
-1592,net.corda.nodeapi.internal.network.WhitelistGeneratorTest.single contract jar against single whitelist of different contract,OK,1
-1593,net.corda.nodeapi.internal.network.WhitelistGeneratorTest.jar with updated contract,OK,0
-1594,net.corda.nodeapi.internal.network.WhitelistGeneratorTest.jar with updated contract but it's excluded,OK,6
-1595,net.corda.nodeapi.internal.network.WhitelistGeneratorTest.jar with single contract against empty whitelist,OK,0
-1596,net.corda.nodeapi.internal.network.WhitelistGeneratorTest.two versions of the same contract,OK,0
-1597,net.corda.nodeapi.internal.network.WhitelistGeneratorTest.jar with one existing contract and one new one,OK,0
-1598,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.two node conf files with the same legal name,OK,185
-1599,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.one node directory and one node conf file,OK,1759
-1600,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.single node directory with just corda jar,OK,3
-1601,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.register new package namespace in existing network,OK,69
-1602,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.unregister single package namespace in network of one,OK,66
-1603,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.register additional package namespace in existing network,OK,80
-1604,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.unregister all package namespaces in existing network,OK,69
-1605,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.empty dir,OK,2
-1606,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.node conf file and CorDapp jar,OK,50
-1607,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.single node directory with just node conf file,OK,43
-1608,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.no copy CorDapps,OK,40
-1609,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.add node to existing network,OK,77
-1610,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.add notary to existing network,OK,91
-1611,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.single node conf file,OK,39
-1612,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.attempt to register overlapping namespaces in existing network,OK,53
-1613,"net.corda.nodeapi.internal.network.NetworkBootstrapperTest.two node conf files, one of which is a notary",OK,61
-1614,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.single node directory with node conf file and corda jar,OK,34
-1615,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.node conf file and corda jar,OK,34
-1616,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.network parameters overrides,OK,60
-1617,net.corda.nodeapi.internal.network.NetworkBootstrapperTest.unregister single package namespace in network of many,OK,52
-1618,net.corda.nodeapi.internal.config.ConfigParsingTest.default value property,OK,26
-1619,net.corda.nodeapi.internal.config.ConfigParsingTest.unknown configuration keys raise exception,OK,11
-1620,net.corda.nodeapi.internal.config.ConfigParsingTest.String,OK,14
-1621,net.corda.nodeapi.internal.config.ConfigParsingTest.CordaX500Name,OK,12
-1622,net.corda.nodeapi.internal.config.ConfigParsingTest.unknown Enum,OK,9
-1623,net.corda.nodeapi.internal.config.ConfigParsingTest.old config property,OK,10
-1624,net.corda.nodeapi.internal.config.ConfigParsingTest.NetworkHostAndPort,OK,8
-1625,net.corda.nodeapi.internal.config.ConfigParsingTest.nullable property,OK,4
-1626,net.corda.nodeapi.internal.config.ConfigParsingTest.flat Properties,OK,6
-1627,net.corda.nodeapi.internal.config.ConfigParsingTest.data class with checks,OK,4
-1628,net.corda.nodeapi.internal.config.ConfigParsingTest.Instant,OK,8
-1629,net.corda.nodeapi.internal.config.ConfigParsingTest.parse with provided parser,OK,14
-1630,net.corda.nodeapi.internal.config.ConfigParsingTest.static field,OK,1
-1631,net.corda.nodeapi.internal.config.ConfigParsingTest.Int,OK,8
-1632,net.corda.nodeapi.internal.config.ConfigParsingTest.Set,OK,5
-1633,net.corda.nodeapi.internal.config.ConfigParsingTest.URL,OK,14
-1634,net.corda.nodeapi.internal.config.ConfigParsingTest.Enum,OK,8
-1635,net.corda.nodeapi.internal.config.ConfigParsingTest.Long,OK,11
-1636,net.corda.nodeapi.internal.config.ConfigParsingTest.Path,OK,11
-1637,net.corda.nodeapi.internal.config.ConfigParsingTest.UUID,OK,11
-1638,net.corda.nodeapi.internal.config.ConfigParsingTest.List of Properties,OK,4
-1639,net.corda.nodeapi.internal.config.ConfigParsingTest.Properties key with dot,OK,1
-1640,net.corda.nodeapi.internal.config.ConfigParsingTest.LocalDate,OK,13
-1641,net.corda.nodeapi.internal.config.ConfigParsingTest.multi property data class,OK,4
-1642,net.corda.nodeapi.internal.config.ConfigParsingTest.nested Properties,OK,1
-1643,net.corda.nodeapi.internal.config.ConfigParsingTest.nested data classes,OK,4
-1644,net.corda.nodeapi.internal.config.ConfigParsingTest.X500Principal,OK,10
-1645,net.corda.nodeapi.internal.config.ConfigParsingTest.Boolean,OK,22
-1646,net.corda.nodeapi.internal.config.ConfigParsingTest.List of data classes,OK,4
-1647,net.corda.nodeapi.internal.config.ConfigParsingTest.Double,OK,11
-1648,net.corda.testing.driver.PortAllocationTest.should allocate a port whilst cycling back round if exceeding start of ephemeral range,OK,65
-1649,net.corda.testing.driver.PortAllocationTest.should support multiprocess port allocation,OK,1261
-1650,net.corda.testing.node.CustomNotaryTest.custom notary service is active,OK,17587
-1651,net.corda.testing.node.MockNetworkTest.installCordaService,OK,1674
-1652,net.corda.testing.node.MockNetworkTest.with a started node,OK,1290
-1653,net.corda.testing.node.MockNetworkTest.with an unstarted node,OK,565
-1654,net.corda.testing.node.internal.InternalTestUtilsTest.test simplifyScanPackages,OK,10
-1655,net.corda.testing.node.internal.TestResponseFlowInIsolation.test,OK,82
-1656,net.corda.testing.node.internal.CustomCordappTest.packageAsJar on single class,OK,69
-1657,net.corda.testing.node.internal.CustomCordappTest.packageAsJar writes out the CorDapp info into the manifest,OK,126
-1658,net.corda.testing.node.internal.CustomCordappTest.packageAsJar on leaf package,OK,106
-1659,net.corda.testing.node.internal.CustomCordappTest.packageAsJar on package with sub-packages,OK,127
-1660,net.corda.testing.node.internal.InternalMockNetworkTests.broadcast,OK,2280
-1661,net.corda.testing.node.internal.InternalMockNetworkTests.basics,OK,1979
-1662,net.corda.testing.node.internal.InternalMockNetworkTests.does not leak serialization env if init fails,OK,55
-1663,net.corda.testing.node.internal.InternalMockNetworkTests.skip unhandled messages,OK,1377
-1664,net.corda.serialization.internal.amqp.JavaEvolutionTests.testNullableInteger,OK,599
-1665,net.corda.serialization.internal.amqp.JavaEvolutionTests.testN1AddsNullableInt,OK,17
-1666,net.corda.serialization.internal.amqp.JavaEvolutionTests.testN2AddsPrimitive,OK,16
-1667,net.corda.serialization.internal.amqp.JavaNestedClassesTests.protectedNestedInherited,OK,68
-1668,net.corda.serialization.internal.amqp.JavaNestedClassesTests.abstractNestedFactoryOnNested,OK,2
-1669,net.corda.serialization.internal.amqp.JavaNestedClassesTests.publicNestedInherited,OK,3
-1670,net.corda.serialization.internal.amqp.JavaNestedClassesTests.abstractNestedFactoryOnNestedInWrapper,OK,2
-1671,net.corda.serialization.internal.amqp.JavaNestedClassesTests.publicNested,OK,1
-1672,net.corda.serialization.internal.amqp.JavaNestedClassesTests.privateNested,OK,1
-1673,net.corda.serialization.internal.amqp.JavaNestedClassesTests.abstractNested,OK,2
-1674,net.corda.serialization.internal.amqp.JavaSerialiseEnumTests.testJavaConstructorAnnotations,OK,68
-1675,net.corda.serialization.internal.amqp.JavaNestedInheritenceTests.serializeIt,OK,2
-1676,net.corda.serialization.internal.amqp.JavaNestedInheritenceTests.serializeIt2,OK,4
-1677,net.corda.serialization.internal.amqp.JavaNestedInheritenceTests.serializeIt3,OK,52
-1678,net.corda.serialization.internal.amqp.JavaSerializationOutputTests.testBoxedTypes,OK,58
-1679,net.corda.serialization.internal.amqp.JavaSerializationOutputTests.testJavaConstructorWithoutAnnotations,OK,7
-1680,net.corda.serialization.internal.amqp.JavaSerializationOutputTests.testBoxedTypesNotNull,OK,14
-1681,net.corda.serialization.internal.amqp.JavaSerializationOutputTests.testJavaConstructorAnnotations,OK,9
-1682,net.corda.serialization.internal.amqp.JavaGenericsTest.shouldSupportNestedGenericsFromJavaWithMaps,OK,25
-1683,net.corda.serialization.internal.amqp.JavaGenericsTest.forceWildcardSharedFactory,OK,9
-1684,net.corda.serialization.internal.amqp.JavaGenericsTest.shouldSupportNestedGenericsFromJavaWithCollections,OK,20
-1685,net.corda.serialization.internal.amqp.JavaGenericsTest.forceWildcard,OK,3
-1686,net.corda.serialization.internal.amqp.JavaGenericsTest.basicGeneric,OK,2
-1687,net.corda.serialization.internal.amqp.JavaPrivatePropertyTests.testCapitilsationOfIs,OK,3
-1688,net.corda.serialization.internal.amqp.JavaPrivatePropertyTests.singlePrivateBooleanWithNoConstructor,OK,4
-1689,net.corda.serialization.internal.amqp.JavaPrivatePropertyTests.singlePrivateBooleanWithConstructor,OK,3
-1690,net.corda.serialization.internal.amqp.JavaPrivatePropertyTests.singlePrivateWithConstructor,OK,2
-1691,net.corda.serialization.internal.amqp.JavaPrivatePropertyTests.singlePrivateWithConstructorAndGetter,OK,2
-1692,net.corda.serialization.internal.amqp.JavaPrivatePropertyTests.singlePrivateIntWithBoolean,OK,5
-1693,net.corda.serialization.internal.amqp.ErrorMessageTests.testJavaConstructorAnnotations,Ignored,0
-1694,net.corda.serialization.internal.amqp.ListsSerializationJavaTest.checkCovariance,OK,12
-1695,net.corda.serialization.internal.amqp.ListsSerializationJavaTest.checkCovariance2,OK,11
-1696,net.corda.serialization.internal.amqp.JavaCustomSerializerTests.serializeExample,OK,11
-1697,net.corda.serialization.internal.amqp.SetterConstructorTests.deserialiseC,OK,648
-1698,net.corda.serialization.internal.amqp.SetterConstructorTests.serialiseC,OK,9
-1699,net.corda.serialization.internal.amqp.SetterConstructorTests.typeMistmatch2,OK,64
-1700,net.corda.serialization.internal.amqp.SetterConstructorTests.typeMistmatch,OK,2
-1701,net.corda.serialization.internal.amqp.SetterConstructorTests.serialiseOuterAndInner,OK,158
-1702,net.corda.serialization.internal.amqp.SetterConstructorTests.intList,OK,62
-1703,net.corda.serialization.internal.SerializationCompatibilityTests.fingerprint is stable,OK,148
-1704,net.corda.serialization.internal.model.LocalTypeModelTests.interfaces and superclasses,OK,91
-1705,net.corda.serialization.internal.model.LocalTypeModelTests.missing constructor parameters creates non-composable type,OK,10
-1706,net.corda.serialization.internal.model.LocalTypeModelTests.transitive types are non-composable creates non-composable type,OK,15
-1707,net.corda.serialization.internal.model.LocalTypeModelTests.no unique deserialization constructor creates non-composable type,OK,2
-1708,net.corda.serialization.internal.model.LocalTypeModelTests.Primitives and collections,OK,25
-1709,net.corda.serialization.internal.model.LocalTypeModelTests.getter setter and calculated properties,OK,15
-1710,net.corda.serialization.internal.model.LocalTypeModelTests.calculated properties aliased by fields in implementing classes,OK,5
-1711,net.corda.serialization.internal.model.TypeIdentifierTests.resolved against an owning type,OK,4
-1712,net.corda.serialization.internal.model.TypeIdentifierTests.primitive types and arrays,OK,1
-1713,net.corda.serialization.internal.model.TypeIdentifierTests.nested parameterised,OK,0
-1714,net.corda.serialization.internal.model.TypeIdentifierTests.erased and unerased,OK,1
-1715,net.corda.serialization.internal.model.TypeIdentifierTests.roundtrip,OK,2
-1716,net.corda.serialization.internal.model.ClassCarpentingTypeLoaderTests.carpent some related classes,OK,248
-1717,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testCharArray,OK,12
-1718,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testCharacter,OK,5
-1719,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testArrayOfChars,OK,7
-1720,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testArrayOfFloat,OK,5
-1721,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testArrayOfShort,OK,5
-1722,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testArrayOfInt,OK,4
-1723,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testFloatArray,OK,5
-1724,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.propertyClassNotWhitelistedError,OK,6
-1725,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testByteArray,OK,10
-1726,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.arrayOfIntArray,OK,6
-1727,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testChar,OK,5
-1728,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testArrayOfInteger,OK,5
-1729,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testArrayOfDouble,OK,5
-1730,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.nestedRepeatedTypes,OK,7
-1731,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.arrayOfArrayOfIntArray,OK,6
-1732,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.classHasNoPublicConstructor,OK,2
-1733,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testArrayOfByte,OK,5
-1734,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testArrayOfLong,OK,4
-1735,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testBooleanArray,OK,5
-1736,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testNullCharacter,OK,4
-1737,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testLongArray,OK,4
-1738,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testShortArray,OK,5
-1739,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.propertyClassHasNoPublicConstructor,OK,3
-1740,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.arrayOfArrayOfInt,OK,5
-1741,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testIntArray,OK,3
-1742,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.notWhitelistedError,OK,1
-1743,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.arrayOfByteArray,OK,6
-1744,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testArrayOfBoolean,OK,4
-1745,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.comparableNotWhitelistedOk,OK,18
-1746,net.corda.serialization.internal.amqp.DeserializeSimpleTypesTests.testDoubleArray,OK,4
-1747,net.corda.serialization.internal.amqp.OverridePKSerializerTest.test publicKeySerializer is overridden,OK,29
-1748,net.corda.serialization.internal.amqp.SerializationPropertyOrdering.refferenceOrdering,OK,12
-1749,net.corda.serialization.internal.amqp.SerializationPropertyOrdering.randomOrderSetter,OK,6
-1750,net.corda.serialization.internal.amqp.SerializationPropertyOrdering.randomOrder,OK,3
-1751,net.corda.serialization.internal.amqp.CorDappSerializerTests.proxiedTypeIsNested,OK,16
-1752,net.corda.serialization.internal.amqp.CorDappSerializerTests.type uses proxy,OK,7
-1753,net.corda.serialization.internal.amqp.CorDappSerializerTests.proxiedGeneric,OK,5
-1754,net.corda.serialization.internal.amqp.CorDappSerializerTests.proxiedInheritableGenerics,OK,11
-1755,net.corda.serialization.internal.amqp.CorDappSerializerTests.testWithWhitelistNotAllowed,OK,5
-1756,net.corda.serialization.internal.amqp.CorDappSerializerTests.testWithWhitelistAllowedOuterOnly,OK,5
-1757,net.corda.serialization.internal.amqp.CorDappSerializerTests.proxiedBoundedGeneric,OK,9
-1758,net.corda.serialization.internal.amqp.CorDappSerializerTests.testWithWhitelistAllowed,OK,4
-1759,net.corda.serialization.internal.amqp.CorDappSerializerTests.proxiedGenericContainer,OK,7
-1760,net.corda.serialization.internal.amqp.AMQPExceptionsTests.catchNotSerializable,OK,6
-1761,net.corda.serialization.internal.amqp.AMQPExceptionsTests.catchAMQPNotSerializable,OK,1
-1762,net.corda.serialization.internal.amqp.OptionalSerializationTests.setupEnclosedSerializationTest,OK,736
-1763,net.corda.serialization.internal.amqp.StaticInitialisationOfSerializedObjectTest.kotlinObjectWithCompanionObject,Ignored,0
-1764,net.corda.serialization.internal.amqp.StaticInitialisationOfSerializedObjectTest.deserializeTest2,OK,50
-1765,net.corda.serialization.internal.amqp.StaticInitialisationOfSerializedObjectTest.itBlowsUp,OK,0
-1766,net.corda.serialization.internal.amqp.StaticInitialisationOfSerializedObjectTest.deserializeTest,OK,2
-1767,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentryOfEnumsTest.singleEnum,OK,306
-1768,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentryOfEnumsTest.compositeIncludingEnums,OK,90
-1769,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleBoolean,OK,18
-1770,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleCharNullable,OK,32
-1771,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleFloat,OK,20
-1772,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleShort,OK,18
-1773,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleFloatNullableNull,OK,37
-1774,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleInt,OK,18
-1775,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleBooleanNullableNull,OK,33
-1776,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleFloatNullable,OK,35
-1777,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleDoubleNullableNull,OK,31
-1778,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.simpleTypeKnownInterface,OK,38
-1779,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleLongNullable,OK,30
-1780,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleLongNullableNull,OK,29
-1781,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleByteNullable,OK,27
-1782,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleDoubleNullable,OK,20
-1783,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleShortNullable,OK,19
-1784,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.manyTypes,OK,59
-1785,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleByteNullableNull,OK,25
-1786,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleIntNullable,OK,18
-1787,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleShortNullableNull,OK,18
-1788,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleByte,OK,9
-1789,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleChar,OK,9
-1790,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleLong,OK,9
-1791,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleIntNullableNull,OK,17
-1792,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleCharNullableNull,OK,17
-1793,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleDouble,OK,9
-1794,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentrySimpleTypesTest.singleBooleanNullable,OK,17
-1795,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentryTests.nestedTypes,OK,26
-1796,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentryTests.unknownInterface,OK,25
-1797,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentryTests.reusedClasses,OK,22
-1798,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentryTests.simpleTypeKnownInterface,OK,19
-1799,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentryTests.repeatedNestedTypes,OK,24
-1800,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentryTests.listOfType,OK,33
-1801,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentryTests.verySimpleType,OK,11
-1802,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentryTests.arrayOfTypes,OK,18
-1803,net.corda.serialization.internal.amqp.DeserializeNeedingCarpentryTests.repeatedTypesAreRecognised,OK,11
-1804,net.corda.serialization.internal.amqp.EvolutionSerializerFactoryTests.preservesDataWhenFlagSet,OK,6
-1805,net.corda.serialization.internal.amqp.EnumEvolveTests.changedOrdinality,OK,12
-1806,net.corda.serialization.internal.amqp.EnumEvolveTests.extendEnum,OK,16
-1807,net.corda.serialization.internal.amqp.EnumEvolveTests.outOfOrder,OK,3
-1808,net.corda.serialization.internal.amqp.EnumEvolveTests.badNewValue,OK,2
-1809,net.corda.serialization.internal.amqp.EnumEvolveTests.deserialiseNewerSetToUnknown2,OK,6
-1810,net.corda.serialization.internal.amqp.EnumEvolveTests.multiOperations,OK,21
-1811,net.corda.serialization.internal.amqp.EnumEvolveTests.deserialiseNewerSetToUnknown,OK,5
-1812,net.corda.serialization.internal.amqp.EnumEvolveTests.deserializeWithRename,OK,6
-1813,net.corda.serialization.internal.amqp.EnumEvolveTests.deserialiseNewerWithNoRule,OK,11
-1814,net.corda.serialization.internal.amqp.custom.OptionalSerializerTest.should convert proxy with item to empty optional ,OK,367
-1815,net.corda.serialization.internal.amqp.custom.OptionalSerializerTest.should convert optional without item to empty proxy,OK,1
-1816,net.corda.serialization.internal.amqp.custom.OptionalSerializerTest.should convert optional with item to proxy,OK,0
-1817,net.corda.serialization.internal.amqp.custom.OptionalSerializerTest.should convert proxy without item to empty optional ,OK,1
-1818,net.corda.serialization.internal.amqp.StreamTests.inputStream,OK,20
-1819,net.corda.serialization.internal.amqp.StreamTests.listInputStream,OK,5
-1820,net.corda.serialization.internal.amqp.EnumTests.enumWithInit,OK,6
-1821,net.corda.serialization.internal.amqp.EnumTests.deserializeNonWhitlistedEnum,OK,6
-1822,net.corda.serialization.internal.amqp.EnumTests.multiEnum,OK,10
-1823,net.corda.serialization.internal.amqp.EnumTests.serialiseSimpleTest,OK,3
-1824,net.corda.serialization.internal.amqp.EnumTests.enumNotWhitelistedFails,OK,4
-1825,net.corda.serialization.internal.amqp.EnumTests.changedEnum1,OK,1
-1826,net.corda.serialization.internal.amqp.EnumTests.changedEnum2,OK,0
-1827,net.corda.serialization.internal.amqp.EnumTests.enumWhitelisted,OK,4
-1828,net.corda.serialization.internal.amqp.EnumTests.deserialiseSimpleTest,OK,3
-1829,net.corda.serialization.internal.amqp.EnumTests.enumAnnotated,OK,3
-1830,net.corda.serialization.internal.amqp.FingerPrinterTestingTests.testingTest,OK,145
-1831,net.corda.serialization.internal.amqp.FingerPrinterTestingTests.worksAsReplacement,OK,425
-1832,net.corda.serialization.internal.amqp.DeserializeAndReturnEnvelopeTests.oneType,OK,147
-1833,net.corda.serialization.internal.amqp.DeserializeAndReturnEnvelopeTests.unannotatedInterfaceIsNotInSchema,OK,36
-1834,net.corda.serialization.internal.amqp.DeserializeAndReturnEnvelopeTests.twoTypes,OK,21
-1835,net.corda.serialization.internal.amqp.RoundTripTests.canSerializeClassesWithUntypedProperties,OK,627
-1836,net.corda.serialization.internal.amqp.RoundTripTests.inheritedCalculatedFunction,OK,49
-1837,net.corda.serialization.internal.amqp.RoundTripTests.mutableBecomesImmutable4,OK,12
-1838,net.corda.serialization.internal.amqp.RoundTripTests.mutableBecomesImmutable,OK,9
-1839,net.corda.serialization.internal.amqp.RoundTripTests.recursiveTypeVariableResolution,OK,10
-1840,net.corda.serialization.internal.amqp.RoundTripTests.calculatedValues,OK,13
-1841,net.corda.serialization.internal.amqp.RoundTripTests.inheritedCalculatedFunctionIsNotCalculated,OK,4
-1842,net.corda.serialization.internal.amqp.RoundTripTests.mutableStillMutable2,OK,29
-1843,net.corda.serialization.internal.amqp.RoundTripTests.calculatedFunction,OK,3
-1844,net.corda.serialization.internal.amqp.RoundTripTests.mutableStillMutable,OK,5
-1845,net.corda.serialization.internal.amqp.EvolvabilityTests.addMandatoryFieldWithAltReorderedConstructor,OK,24
-1846,net.corda.serialization.internal.amqp.EvolvabilityTests.multiVersionWithRemoval,OK,10
-1847,net.corda.serialization.internal.amqp.EvolvabilityTests.simpleOrderSwapDifferentType,OK,6
-1848,net.corda.serialization.internal.amqp.EvolvabilityTests.readBrokenNetworkParameters,Ignored,0
-1849,net.corda.serialization.internal.amqp.EvolvabilityTests.multiVersion,OK,8
-1850,net.corda.serialization.internal.amqp.EvolvabilityTests.addAndRemoveParameters,OK,6
-1851,net.corda.serialization.internal.amqp.EvolvabilityTests.addMandatoryFieldWithAltConstructorForceReorder,OK,7
-1852,net.corda.serialization.internal.amqp.EvolvabilityTests.moreComplexNonNullWithReorder,OK,34
-1853,net.corda.serialization.internal.amqp.EvolvabilityTests.getterSetterEvolver1,OK,5
-1854,net.corda.serialization.internal.amqp.EvolvabilityTests.evolutionWithPrimitives,OK,15
-1855,net.corda.serialization.internal.amqp.EvolvabilityTests.addAdditionalParam,OK,3
-1856,net.corda.serialization.internal.amqp.EvolvabilityTests.removeParameterWithCalculatedParameter,OK,8
-1857,net.corda.serialization.internal.amqp.EvolvabilityTests.addMandatoryFieldWithAltConstructor,OK,8
-1858,net.corda.serialization.internal.amqp.EvolvabilityTests.simpleOrderSwapSameType,OK,3
-1859,net.corda.serialization.internal.amqp.EvolvabilityTests.regenerate broken network parameters,Ignored,0
-1860,net.corda.serialization.internal.amqp.EvolvabilityTests.addMandatoryFieldWithAltConstructorUnAnnotated,OK,1
-1861,net.corda.serialization.internal.amqp.EvolvabilityTests.addAdditionalParamNotMandatory,OK,5
-1862,net.corda.serialization.internal.amqp.EvolvabilityTests.changeSubType,OK,12
-1863,net.corda.serialization.internal.amqp.EvolvabilityTests.removeParameters,OK,5
-1864,net.corda.serialization.internal.amqp.EvolvabilityTests.addMandatoryFieldWithAltReorderedConstructorAndRemoval,OK,8
-1865,net.corda.serialization.internal.amqp.EvolvabilityTests.evolutionWithCarpentry,OK,42
-1866,net.corda.serialization.internal.amqp.EnumTransformationTests.renamesRenameExistingConstant,OK,5
-1867,net.corda.serialization.internal.amqp.EnumTransformationTests.renameCycleDoesNotTerminateInConstant,OK,1
-1868,net.corda.serialization.internal.amqp.EnumTransformationTests.cycleDetection,OK,1
-1869,net.corda.serialization.internal.amqp.EnumTransformationTests.defaultAndRename,OK,3
-1870,net.corda.serialization.internal.amqp.SerializeAndReturnSchemaTest.getSchema,OK,3
-1871,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.unparameterised types,OK,2
-1872,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test leading comma,OK,0
-1873,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test middle comma,OK,0
-1874,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test wrong number of parameters,OK,1
-1875,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test no parameters,OK,0
-1876,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test trailing text,OK,0
-1877,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test nested,OK,0
-1878,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test parameters on non-generic type,OK,0
-1879,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test simple,OK,0
-1880,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test trailing close,OK,0
-1881,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test trailing comma,OK,0
-1882,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test multiple args,OK,0
-1883,"net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.parameterised types, nested, with arrays",OK,2
-1884,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test empty params,OK,0
-1885,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test mid whitespace,OK,0
-1886,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test trailing whitespace,OK,0
-1887,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test mid whitespace2,OK,0
-1888,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.primitives and arrays,OK,2
-1889,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.compatibility test,OK,4
-1890,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test excessive nesting,OK,0
-1891,net.corda.serialization.internal.amqp.AMQPTypeIdentifierParserTests.test list of commands,OK,1
-1892,net.corda.serialization.internal.amqp.DeserializeMapTests.concreteTreeMapTest,OK,5
-1893,net.corda.serialization.internal.amqp.DeserializeMapTests.abstractMapFromTreeMap,OK,4
-1894,net.corda.serialization.internal.amqp.DeserializeMapTests.navigableMapTest,OK,8
-1895,net.corda.serialization.internal.amqp.DeserializeMapTests.sortedMapTest,OK,5
-1896,net.corda.serialization.internal.amqp.DeserializeMapTests.mapTest,OK,5
-1897,net.corda.serialization.internal.amqp.DeserializeMapTests.weakHashMapTest,OK,4
-1898,net.corda.serialization.internal.amqp.DeserializeMapTests.abstractMapFromMapOf,OK,4
-1899,net.corda.serialization.internal.amqp.DeserializeMapTests.hashMapTest,OK,4
-1900,net.corda.serialization.internal.amqp.DeserializeMapTests.concreteLinkedHashMapTest,OK,5
-1901,net.corda.serialization.internal.amqp.DeserializeMapTests.dictionaryTest,OK,6
-1902,net.corda.serialization.internal.amqp.DeserializeMapTests.hashtableTest,OK,4
-1903,net.corda.serialization.internal.amqp.GenericsTests.nestedSerializationOfGenerics,OK,14
-1904,net.corda.serialization.internal.amqp.GenericsTests.twoDifferentTypesSameParameterizedOuter,OK,7
-1905,net.corda.serialization.internal.amqp.GenericsTests.forceWildcardSharedFactory,OK,6
-1906,net.corda.serialization.internal.amqp.GenericsTests.implemntsGenericInterface,OK,8
-1907,net.corda.serialization.internal.amqp.GenericsTests.fingerprintingDiffers,OK,47
-1908,net.corda.serialization.internal.amqp.GenericsTests.forceWildcardDeserialize,OK,7
-1909,net.corda.serialization.internal.amqp.GenericsTests.nestedGenericsReferencesByteArrayViaSerializedBytes,OK,17
-1910,net.corda.serialization.internal.amqp.GenericsTests.loadGenericFromFile,OK,2
-1911,net.corda.serialization.internal.amqp.GenericsTests.fingerprintingDiffersListLoaded,OK,42
-1912,net.corda.serialization.internal.amqp.GenericsTests.forceWildcardDeserializeSharedFactory,OK,2
-1913,net.corda.serialization.internal.amqp.GenericsTests.nestedGenericsWithBound,OK,11
-1914,net.corda.serialization.internal.amqp.GenericsTests.baseClassInheritedButNotOverridenBounded,OK,7
-1915,net.corda.serialization.internal.amqp.GenericsTests.baseClassInheritedButNotOverriden,OK,11
-1916,net.corda.serialization.internal.amqp.GenericsTests.nestedSerializationWhereGenericDoesntImpactFingerprint,OK,8
-1917,net.corda.serialization.internal.amqp.GenericsTests.nestedSerializationInMultipleContextsDoesntColideGenericTypes,OK,16
-1918,net.corda.serialization.internal.amqp.GenericsTests.nestedMultiGenericsNoBound,OK,13
-1919,net.corda.serialization.internal.amqp.GenericsTests.forceWildcard,OK,3
-1920,net.corda.serialization.internal.amqp.GenericsTests.doWeIgnoreMultipleParams,OK,12
-1921,net.corda.serialization.internal.amqp.GenericsTests.nestedMultiGenericsAtBottomWithBound,OK,23
-1922,net.corda.serialization.internal.amqp.GenericsTests.nestedMultiGenericsWithBound,OK,17
-1923,net.corda.serialization.internal.amqp.GenericsTests.fingerprintingDiffersList,OK,24
-1924,net.corda.serialization.internal.amqp.TypeModellingFingerPrinterTests.Object and wildcard are fingerprinted differently,OK,0
-1925,net.corda.serialization.internal.amqp.TypeModellingFingerPrinterTests.can fingerprint type with non-serializable type parameter,OK,6
-1926,net.corda.serialization.internal.amqp.ErrorMessagesTests.privateProperty,Ignored,0
-1927,net.corda.serialization.internal.amqp.ErrorMessagesTests.protectedProperty,Ignored,0
-1928,net.corda.serialization.internal.amqp.ErrorMessagesTests.privateProperty2,Ignored,0
-1929,net.corda.serialization.internal.amqp.ErrorMessagesTests.privateProperty3,Ignored,0
-1930,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.rejectMultipleRenameTo,OK,642
-1931,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.acceptMultipleRename,OK,124
-1932,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.testUnknownTransform,OK,39
-1933,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.defaultAnnotationIsAddedToEnvelope,OK,10
-1934,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.rejectCyclicRename,OK,4
-1935,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.missingRenames,OK,6
-1936,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.testCache,OK,10
-1937,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.renameAnnotationIsAdded,OK,8
-1938,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.doubleDefaultAnnotationIsAddedToEnvelope,OK,7
-1939,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.defaultAnnotationIsAddedToEnvelopeAndDeserialised,OK,6
-1940,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.rejectMultipleRenameFrom,OK,3
-1941,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.noAnnotation,OK,6
-1942,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.doubleRenameAnnotationIsAdded,OK,6
-1943,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.rejectCyclicRenameRedux,OK,3
-1944,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.multiEnums,OK,52
-1945,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.rejectBadDefaultToSelf,OK,4
-1946,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.bothAnnotationTypes,OK,6
-1947,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.doubleDefaultAnnotationIsAddedToEnvelopeAndDeserialised,OK,6
-1948,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.missingDefaults,OK,6
-1949,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.rejectBadDefault,OK,3
-1950,net.corda.serialization.internal.amqp.EnumEvolvabilityTests.repeatedAnnotation,OK,3
-1951,net.corda.serialization.internal.amqp.PrivatePropertyTests.testMultiArgSetter,OK,20
-1952,net.corda.serialization.internal.amqp.PrivatePropertyTests.testBadTypeArgSetter,OK,4
-1953,net.corda.serialization.internal.amqp.PrivatePropertyTests.testWithOnePublicOnePrivateProperty2,OK,7
-1954,net.corda.serialization.internal.amqp.PrivatePropertyTests.testGetterMakesAPublicReader,OK,3
-1955,net.corda.serialization.internal.amqp.PrivatePropertyTests.testWithOnePrivateProperty,OK,3
-1956,net.corda.serialization.internal.amqp.PrivatePropertyTests.testWithOnePrivatePropertyNullableNotNull,OK,3
-1957,net.corda.serialization.internal.amqp.PrivatePropertyTests.testWithOnePublicOnePrivateProperty,OK,4
-1958,net.corda.serialization.internal.amqp.PrivatePropertyTests.testWithOnePrivatePropertyNullableNull,OK,4
-1959,net.corda.serialization.internal.amqp.PrivatePropertyTests.testNested,OK,5
-1960,net.corda.serialization.internal.amqp.PrivatePropertyTests.testWithOnePrivatePropertyBoolean,OK,4
-1961,net.corda.serialization.internal.amqp.PrivatePropertyTests.testWithInheritance,OK,14
-1962,net.corda.serialization.internal.amqp.PrivatePropertyTests.allCapsProprtyNotPrivate,OK,4
-1963,net.corda.serialization.internal.carpenter.CarpenterExceptionTests.carpenterExceptionRethrownAsNotSerializableException,OK,25
-1964,net.corda.serialization.internal.carpenter.CarpenterExceptionTests.checkClassComparison,OK,6
-1965,net.corda.serialization.internal.carpenter.ClassCarpenterWhitelistTest.whitelisted,OK,27
-1966,net.corda.serialization.internal.carpenter.ClassCarpenterWhitelistTest.notWhitelistedButCarpented,Ignored,0
-1967,net.corda.serialization.internal.carpenter.ClassCarpenterWhitelistTest.notWhitelistedButAnnotated,OK,2
-1968,net.corda.serialization.internal.carpenter.ClassCarpenterWhitelistTest.notWhitelisted,Ignored,0
-1969,net.corda.serialization.internal.carpenter.MultiMemberCompositeSchemaToClassCarpenterTests.intAndStr,OK,11
-1970,net.corda.serialization.internal.carpenter.MultiMemberCompositeSchemaToClassCarpenterTests.anIntAndALong,OK,8
-1971,net.corda.serialization.internal.carpenter.MultiMemberCompositeSchemaToClassCarpenterTests.implementingClassDoesNotCalculateValue,OK,8
-1972,net.corda.serialization.internal.carpenter.MultiMemberCompositeSchemaToClassCarpenterTests.calculatedValues,OK,16
-1973,net.corda.serialization.internal.carpenter.ClassCarpenterTest.non nullable parameter integer with non null,OK,1
-1974,net.corda.serialization.internal.carpenter.ClassCarpenterTest.nullable parameter small int,OK,1
-1975,net.corda.serialization.internal.carpenter.ClassCarpenterTest.interfaces,OK,2
-1976,net.corda.serialization.internal.carpenter.ClassCarpenterTest.int array,OK,2
-1977,net.corda.serialization.internal.carpenter.ClassCarpenterTest.duplicates,OK,1
-1978,net.corda.serialization.internal.carpenter.ClassCarpenterTest.string array,OK,1
-1979,net.corda.serialization.internal.carpenter.ClassCarpenterTest.multiple int arrays,OK,1
-1980,net.corda.serialization.internal.carpenter.ClassCarpenterTest.nullable int array throws,OK,1
-1981,net.corda.serialization.internal.carpenter.ClassCarpenterTest.nullable sets annotations,OK,4
-1982,net.corda.serialization.internal.carpenter.ClassCarpenterTest.generate multiple interfaces,OK,3
-1983,net.corda.serialization.internal.carpenter.ClassCarpenterTest.non nullable parameter integer with null,OK,1
-1984,net.corda.serialization.internal.carpenter.ClassCarpenterTest.string arrays,OK,1
-1985,net.corda.serialization.internal.carpenter.ClassCarpenterTest.unimplemented interface method with lenient = false,OK,2
-1986,net.corda.serialization.internal.carpenter.ClassCarpenterTest.objs,OK,1
-1987,net.corda.serialization.internal.carpenter.ClassCarpenterTest.null parameter small int,OK,1
-1988,net.corda.serialization.internal.carpenter.ClassCarpenterTest.generated toString,OK,1
-1989,net.corda.serialization.internal.carpenter.ClassCarpenterTest.empty,OK,1
-1990,net.corda.serialization.internal.carpenter.ClassCarpenterTest.superclasses with double-size primitive constructor parameters,OK,1
-1991,net.corda.serialization.internal.carpenter.ClassCarpenterTest.prims,OK,2
-1992,net.corda.serialization.internal.carpenter.ClassCarpenterTest.can refer to each other,OK,1
-1993,net.corda.serialization.internal.carpenter.ClassCarpenterTest.generate interface,OK,1
-1994,net.corda.serialization.internal.carpenter.ClassCarpenterTest.unimplemented interface method with lenient = true,OK,2
-1995,net.corda.serialization.internal.carpenter.ClassCarpenterTest.interface implementing interface,OK,1
-1996,net.corda.serialization.internal.carpenter.ClassCarpenterTest.beanTest,OK,5
-1997,net.corda.serialization.internal.carpenter.ClassCarpenterTest.nullable parameter integer,OK,0
-1998,net.corda.serialization.internal.carpenter.ClassCarpenterTest.superclasses,OK,1
-1999,net.corda.serialization.internal.carpenter.ClassCarpenterTest.integer array,OK,1
-2000,net.corda.serialization.internal.carpenter.ClassCarpenterTest.int array with ints,OK,1
-2001,net.corda.serialization.internal.carpenter.InheritanceSchemaToClassCarpenterTests.multipleInterfaces,OK,6
-2002,net.corda.serialization.internal.carpenter.InheritanceSchemaToClassCarpenterTests.memberInterface,OK,10
-2003,net.corda.serialization.internal.carpenter.InheritanceSchemaToClassCarpenterTests.nestedInterfaces,OK,6
-2004,net.corda.serialization.internal.carpenter.InheritanceSchemaToClassCarpenterTests.memberInterface2,OK,5
-2005,net.corda.serialization.internal.carpenter.InheritanceSchemaToClassCarpenterTests.interfaceParent1,OK,5
-2006,net.corda.serialization.internal.carpenter.InheritanceSchemaToClassCarpenterTests.interfaceParent2,OK,4
-2007,net.corda.serialization.internal.carpenter.InheritanceSchemaToClassCarpenterTests.nestedInterfacesAndImplementation,OK,7
-2008,net.corda.serialization.internal.carpenter.InheritanceSchemaToClassCarpenterTests.interfaceAndImplementation,OK,5
-2009,net.corda.serialization.internal.carpenter.InheritanceSchemaToClassCarpenterTests.twoInterfacesAndImplementation,OK,6
-2010,net.corda.serialization.internal.carpenter.CompositeMembers.parameterisedNonCollectionWithUnknown,OK,23
-2011,net.corda.serialization.internal.carpenter.CompositeMembers.withUUID,OK,37
-2012,net.corda.serialization.internal.carpenter.CompositeMembers.oneIsUnknown,OK,9
-2013,net.corda.serialization.internal.carpenter.CompositeMembers.parentIsUnknown,OK,8
-2014,net.corda.serialization.internal.carpenter.CompositeMembers.bothAreUnknown,OK,8
-2015,net.corda.serialization.internal.carpenter.CompositeMembers.mapWithUnknown,OK,20
-2016,net.corda.serialization.internal.carpenter.EnumClassTests.oneValueInstantiate,OK,1
-2017,net.corda.serialization.internal.carpenter.EnumClassTests.twoValuesInstantiate,OK,0
-2018,net.corda.serialization.internal.carpenter.EnumClassTests.assignment,OK,1
-2019,net.corda.serialization.internal.carpenter.EnumClassTests.assignAndTest,OK,1
-2020,net.corda.serialization.internal.carpenter.EnumClassTests.manyValues,OK,1
-2021,net.corda.serialization.internal.carpenter.EnumClassTests.oneValue,OK,0
-2022,net.corda.serialization.internal.LambdaCheckpointSerializationTest.serialization_fails_for_not_serializable_java_lambdas,OK,653
-2023,net.corda.serialization.internal.LambdaCheckpointSerializationTest.serialization_works_for_serializable_java_lambdas,OK,283
-2024,net.corda.serialization.internal.ForbiddenLambdaSerializationTests.serialization_fails_for_not_serializable_java_lambdas,OK,106
-2025,net.corda.serialization.internal.ForbiddenLambdaSerializationTests.serialization_fails_for_serializable_java_lambdas,OK,7
-2026,net.corda.serialization.internal.carpenter.JavaCalculatedValuesToClassCarpenterTest.calculatedValues,OK,344
-2027,net.corda.serialization.internal.MapsSerializationTest.check list can be serialized as part of SessionData,OK,126
-2028,net.corda.serialization.internal.MapsSerializationTest.check throws for forbidden declared type,OK,6
-2029,net.corda.serialization.internal.MapsSerializationTest.check empty map serialises as Java emptyMap,OK,1
-2030,net.corda.serialization.internal.MapsSerializationTest.check map serialization works with custom types,OK,36
-2031,net.corda.serialization.internal.MapsSerializationTest.check EmptyMap serialization,OK,2
-2032,net.corda.serialization.internal.MapsSerializationTest.check Map can be root of serialization graph,OK,2
-2033,net.corda.serialization.internal.SetsSerializationTest.check set can be serialized as root of serialization graph,OK,8
-2034,net.corda.serialization.internal.SetsSerializationTest.type variance on setter getter pair does not fail validation,OK,6
-2035,net.corda.serialization.internal.SetsSerializationTest.check empty set serialises as Java emptySet,OK,0
-2036,net.corda.serialization.internal.SetsSerializationTest.check set can be serialized as part of DataSessionMessage,OK,8
-2037,net.corda.serialization.internal.SerializationTokenTest.token returns unexpected type,OK,117
-2038,net.corda.serialization.internal.SerializationTokenTest.write and read singleton,OK,5
-2039,net.corda.serialization.internal.SerializationTokenTest.deserialize non-token,OK,6
-2040,net.corda.serialization.internal.SerializationTokenTest.deserialize unregistered token,OK,3
-2041,net.corda.serialization.internal.SerializationTokenTest.new token encountered after context init,OK,2
-2042,net.corda.serialization.internal.SerializationTokenTest.write token and read tokenizable,OK,5
-2043,net.corda.serialization.internal.SerializationTokenTest.no context set,OK,2
-2044,net.corda.serialization.internal.ContractAttachmentSerializerTest.check only serialize attachment id and contract class name when using token context,OK,104
-2045,net.corda.serialization.internal.ContractAttachmentSerializerTest.throws when missing attachment when using token context,OK,3
-2046,net.corda.serialization.internal.ContractAttachmentSerializerTest.write contract attachment and read it back,OK,8
-2047,net.corda.serialization.internal.ContractAttachmentSerializerTest.check attachment in deserialize is lazy loaded when using token context,OK,0
-2048,net.corda.serialization.internal.ContractAttachmentSerializerTest.write contract attachment and read it back using token context,OK,4
-2049,net.corda.serialization.internal.PrivateKeySerializationTest.failed with wrong UseCase[PrivateKeySerializationTest-BCRSAPrivateCrtKey],OK,1
-2050,net.corda.serialization.internal.PrivateKeySerializationTest.passed with expected UseCases[PrivateKeySerializationTest-BCRSAPrivateCrtKey],OK,5
-2051,net.corda.serialization.internal.PrivateKeySerializationTest.failed with wrong UseCase[PrivateKeySerializationTest-BCECPrivateKey],OK,1
-2052,net.corda.serialization.internal.PrivateKeySerializationTest.passed with expected UseCases[PrivateKeySerializationTest-BCECPrivateKey],OK,2
-2055,net.corda.serialization.internal.PrivateKeySerializationTest.failed with wrong UseCase[PrivateKeySerializationTest-EdDSAPrivateKey],OK,0
-2056,net.corda.serialization.internal.PrivateKeySerializationTest.passed with expected UseCases[PrivateKeySerializationTest-EdDSAPrivateKey],OK,1
-2057,net.corda.serialization.internal.PrivateKeySerializationTest.failed with wrong UseCase[PrivateKeySerializationTest-BCSphincs256PrivateKey],OK,1
-2058,net.corda.serialization.internal.PrivateKeySerializationTest.passed with expected UseCases[PrivateKeySerializationTest-BCSphincs256PrivateKey],OK,2
-2059,net.corda.serialization.internal.CordaClassResolverTests.Annotation not needed on primitive,OK,0
-2060,net.corda.serialization.internal.CordaClassResolverTests.Kotlin EmptySet not registered,OK,1
-2061,net.corda.serialization.internal.CordaClassResolverTests.Annotation not needed on Object,OK,0
-2062,net.corda.serialization.internal.CordaClassResolverTests.Kotlin EmptyList not registered,OK,0
-2063,net.corda.serialization.internal.CordaClassResolverTests.Kotlin EmptyList registers as Java emptyList,OK,177
-2064,net.corda.serialization.internal.CordaClassResolverTests.Annotation is needed without whitelisting,OK,1
-2065,net.corda.serialization.internal.CordaClassResolverTests.Annotation not needed on abstract class,OK,0
-2066,net.corda.serialization.internal.CordaClassResolverTests.Annotation is inherited from superclass,OK,2
-2067,net.corda.serialization.internal.CordaClassResolverTests.Annotation is inherited from interfaces,OK,1
-2068,net.corda.serialization.internal.CordaClassResolverTests.Kotlin EmptySet registers as Java emptySet,OK,1
-2069,net.corda.serialization.internal.CordaClassResolverTests.Check blacklisted interface impl,OK,10
-2070,net.corda.serialization.internal.CordaClassResolverTests.Calling register method on modified Kryo does not consult the whitelist,OK,1
-2071,net.corda.serialization.internal.CordaClassResolverTests.Check blacklist precedes CordaSerializable,OK,0
-2072,net.corda.serialization.internal.CordaClassResolverTests.Calling register method on unmodified Kryo does consult the whitelist,OK,1
-2073,net.corda.serialization.internal.CordaClassResolverTests.Unannotated specialised enum does not work,OK,1
-2074,net.corda.serialization.internal.CordaClassResolverTests.Annotation on enum works for specialised entries,OK,1
-2075,net.corda.serialization.internal.CordaClassResolverTests.Check blacklisted subclass,OK,1
-2076,net.corda.serialization.internal.CordaClassResolverTests.Annotation does not work in conjunction with AttachmentClassLoader annotation,OK,117
-2077,net.corda.serialization.internal.CordaClassResolverTests.Check blacklisted super-interface impl,OK,1
-2078,net.corda.serialization.internal.CordaClassResolverTests.Attempt to load contract attachment with untrusted uploader should fail with UntrustedAttachmentsException,OK,10
-2079,net.corda.serialization.internal.CordaClassResolverTests.Annotation on array element works,OK,0
-2080,net.corda.serialization.internal.CordaClassResolverTests.Annotation on simple enum works,OK,1
-2081,net.corda.serialization.internal.CordaClassResolverTests.Annotation not needed on interface,OK,0
-2082,net.corda.serialization.internal.CordaClassResolverTests.Annotation does not work for custom serializable,OK,0
-2083,net.corda.serialization.internal.CordaClassResolverTests.Annotation does not work in conjunction with Kryo annotation,OK,1
-2084,net.corda.serialization.internal.CordaClassResolverTests.Kotlin EmptyMap not registered,OK,1
-2085,net.corda.serialization.internal.CordaClassResolverTests.Unannotated simple enum does not work,OK,0
-2086,net.corda.serialization.internal.CordaClassResolverTests.Check forcibly allowed,OK,0
-2087,net.corda.serialization.internal.CordaClassResolverTests.Annotation is not needed with whitelisting,OK,0
-2088,net.corda.serialization.internal.CordaClassResolverTests.Check blacklisted subsubclass,OK,0
-2089,net.corda.serialization.internal.CordaClassResolverTests.Kotlin EmptyMap registers as Java emptyMap,OK,2
-2090,net.corda.serialization.internal.CordaClassResolverTests.Check blacklisted class,OK,0
-2091,net.corda.serialization.internal.CordaClassResolverTests.Unannotated array elements do not work,OK,1
-2092,net.corda.serialization.internal.amqp.AMQPRemoteTypeModelTests.round-trip some types through AMQP serialisations,OK,236
-2093,net.corda.serialization.internal.amqp.AbstractAMQPSerializationSchemeTest.number of cached factories must be bounded by maxFactories,OK,580
-2094,net.corda.serialization.internal.amqp.SerializationOutputTests.test generic list subclass is not supported[null],OK,192
-2095,net.corda.serialization.internal.amqp.SerializationOutputTests.test annotation is inherited[null],OK,555
-2096,net.corda.serialization.internal.amqp.SerializationOutputTests.test kotlin Pair serialize[null],OK,109
-2097,net.corda.serialization.internal.amqp.SerializationOutputTests.test throwables serialize[null],OK,289
-2098,net.corda.serialization.internal.amqp.SerializationOutputTests.test whitelist[null],OK,18
-2099,net.corda.serialization.internal.amqp.SerializationOutputTests.generics from java are supported[null],OK,11
-2100,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo list array[null],OK,28
-2101,net.corda.serialization.internal.amqp.SerializationOutputTests.test implements generic[null],OK,19
-2102,net.corda.serialization.internal.amqp.SerializationOutputTests.test byte arrays not reference counted[null],OK,43
-2103,net.corda.serialization.internal.amqp.SerializationOutputTests.test kotlin object[null],OK,4
-2104,net.corda.serialization.internal.amqp.SerializationOutputTests.test SimpleString serialize[null],OK,43
-2105,net.corda.serialization.internal.amqp.SerializationOutputTests.test extends generic[null],OK,14
-2106,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo implements[null],OK,9
-2107,net.corda.serialization.internal.amqp.SerializationOutputTests.test cert path serialize[null],OK,8
-2108,net.corda.serialization.internal.amqp.SerializationOutputTests.nestedInner[null],OK,81
-2109,net.corda.serialization.internal.amqp.SerializationOutputTests.test generic in constructor serialize[null],OK,15
-2110,net.corda.serialization.internal.amqp.SerializationOutputTests.multiNestedInner[null],OK,5
-2111,net.corda.serialization.internal.amqp.SerializationOutputTests.test dislike of HashMap[null],OK,7
-2112,net.corda.serialization.internal.amqp.SerializationOutputTests.test generics ignored from graph logic[null],OK,15
-2113,net.corda.serialization.internal.amqp.SerializationOutputTests.test local time serialize[null],OK,11
-2114,net.corda.serialization.internal.amqp.SerializationOutputTests.test polymorphic property[null],OK,9
-2115,net.corda.serialization.internal.amqp.SerializationOutputTests.throwable[null],OK,57
-2116,net.corda.serialization.internal.amqp.SerializationOutputTests.test bool[null],OK,4
-2117,net.corda.serialization.internal.amqp.SerializationOutputTests.test offset date time serialize[null],OK,33
-2118,net.corda.serialization.internal.amqp.SerializationOutputTests.test object referenced multiple times[null],OK,13
-2119,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo[null],OK,7
-2120,net.corda.serialization.internal.amqp.SerializationOutputTests.test inherits generic captured[null],OK,20
-2121,net.corda.serialization.internal.amqp.SerializationOutputTests.test string array[null],OK,1
-2122,net.corda.serialization.internal.amqp.SerializationOutputTests.test X509CRL custom serializer[null],OK,907
-2123,net.corda.serialization.internal.amqp.SerializationOutputTests.test StateRef serialize[null],OK,42
-2124,net.corda.serialization.internal.amqp.SerializationOutputTests.test mismatched property and constructor naming[null],OK,5
-2125,net.corda.serialization.internal.amqp.SerializationOutputTests.test annotation whitelisting[null],OK,4
-2126,net.corda.serialization.internal.amqp.SerializationOutputTests.test complex throwables serialize[null],OK,54
-2127,net.corda.serialization.internal.amqp.SerializationOutputTests.compression has the desired effect[null],OK,0
-2128,net.corda.serialization.internal.amqp.SerializationOutputTests.test not all properties in constructor[null],OK,3
-2129,net.corda.serialization.internal.amqp.SerializationOutputTests.test TreeMap property[null],OK,32
-2130,net.corda.serialization.internal.amqp.SerializationOutputTests.class constructor is invoked on deserialisation[null],OK,11
-2131,net.corda.serialization.internal.amqp.SerializationOutputTests.test flow corda exception subclasses serialize[null],OK,63
-2132,net.corda.serialization.internal.amqp.SerializationOutputTests.test top level list array[null],OK,2
-2133,net.corda.serialization.internal.amqp.SerializationOutputTests.test double[null],OK,4
-2134,net.corda.serialization.internal.amqp.SerializationOutputTests.test month day serialize[null],OK,3
-2135,net.corda.serialization.internal.amqp.SerializationOutputTests.test EnumMap serialize[null],OK,21
-2136,net.corda.serialization.internal.amqp.SerializationOutputTests.isPrimitive[null],OK,0
-2137,net.corda.serialization.internal.amqp.SerializationOutputTests.dataClassBy[null],OK,15
-2138,net.corda.serialization.internal.amqp.SerializationOutputTests.test generic foo as property[null],OK,10
-2139,net.corda.serialization.internal.amqp.SerializationOutputTests.test EnumSet serialize[null],OK,17
-2140,net.corda.serialization.internal.amqp.SerializationOutputTests.test big decimals serialize[null],OK,1
-2141,net.corda.serialization.internal.amqp.SerializationOutputTests.test custom serializers on public key[null],OK,5
-2142,net.corda.serialization.internal.amqp.SerializationOutputTests.test year serialize[null],OK,4
-2143,net.corda.serialization.internal.amqp.SerializationOutputTests.test day of week serialize[null],OK,3
-2144,net.corda.serialization.internal.amqp.SerializationOutputTests.test custom anonymous object[null],Ignored,0
-2145,net.corda.serialization.internal.amqp.SerializationOutputTests.test mismatched property and constructor type[null],OK,2
-2146,net.corda.serialization.internal.amqp.SerializationOutputTests.a particular encoding can be banned for deserialization[null],OK,0
-2147,net.corda.serialization.internal.amqp.SerializationOutputTests.test transaction state[null],OK,55
-2148,net.corda.serialization.internal.amqp.SerializationOutputTests.test implements generic captured[null],OK,16
-2149,net.corda.serialization.internal.amqp.SerializationOutputTests.reproduceWrongNumberOfArguments[null],OK,32
-2150,net.corda.serialization.internal.amqp.SerializationOutputTests.test null polymorphic property[null],OK,6
-2151,net.corda.serialization.internal.amqp.SerializationOutputTests.test float[null],OK,5
-2152,net.corda.serialization.internal.amqp.SerializationOutputTests.test short[null],OK,4
-2153,net.corda.serialization.internal.amqp.SerializationOutputTests.test nested generic foo as property[null],OK,9
-2154,net.corda.serialization.internal.amqp.SerializationOutputTests.test period serialize[null],OK,3
-2155,net.corda.serialization.internal.amqp.SerializationOutputTests.compression reduces number of bytes significantly[null],OK,13
-2156,net.corda.serialization.internal.amqp.SerializationOutputTests.test local date time serialize[null],OK,13
-2157,net.corda.serialization.internal.amqp.SerializationOutputTests.test toString custom serializer[null],OK,6
-2158,net.corda.serialization.internal.amqp.SerializationOutputTests.test annotated constructor[null],OK,4
-2159,net.corda.serialization.internal.amqp.SerializationOutputTests.nestedObjects[null],OK,2
-2160,net.corda.serialization.internal.amqp.SerializationOutputTests.test instants serialize[null],OK,4
-2161,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo array[null],OK,4
-2162,net.corda.serialization.internal.amqp.SerializationOutputTests.test kotlin Unit serialize[null],OK,1
-2163,net.corda.serialization.internal.amqp.SerializationOutputTests.test month serialize[null],OK,3
-2164,net.corda.serialization.internal.amqp.SerializationOutputTests.test private constructor[null],OK,4
-2165,net.corda.serialization.internal.amqp.SerializationOutputTests.test BitSet serialize[null],OK,4
-2166,net.corda.serialization.internal.amqp.SerializationOutputTests.test X509 certificate serialize[null],OK,37
-2167,net.corda.serialization.internal.amqp.SerializationOutputTests.test zoned date time serialize[null],OK,19
-2168,net.corda.serialization.internal.amqp.SerializationOutputTests.test TreeMap[null],OK,4
-2169,net.corda.serialization.internal.amqp.SerializationOutputTests.test NavigableMap property[null],OK,17
-2170,net.corda.serialization.internal.amqp.SerializationOutputTests.test StringBuffer serialize[null],OK,1
-2171,net.corda.serialization.internal.amqp.SerializationOutputTests.test local date serialize[null],OK,2
-2172,net.corda.serialization.internal.amqp.SerializationOutputTests.test contract attachment serialize[null],OK,28
-2173,net.corda.serialization.internal.amqp.SerializationOutputTests.test privacy salt serialize[null],OK,13
-2174,net.corda.serialization.internal.amqp.SerializationOutputTests.test RPC corda exception subclasses serialize[null],OK,24
-2175,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo implements and list[null],OK,9
-2176,net.corda.serialization.internal.amqp.SerializationOutputTests.test currencies serialize[null],OK,1
-2177,net.corda.serialization.internal.amqp.SerializationOutputTests.test InputStream serialize[null],OK,3
-2178,net.corda.serialization.internal.amqp.SerializationOutputTests.privateNestedObjects[null],OK,2
-2179,net.corda.serialization.internal.amqp.SerializationOutputTests.test custom object[null],OK,7
-2180,net.corda.serialization.internal.amqp.SerializationOutputTests.test BigInteger custom serializer[null],OK,9
-2181,net.corda.serialization.internal.amqp.SerializationOutputTests.test SortedSet property[null],OK,7
-2182,net.corda.serialization.internal.amqp.SerializationOutputTests.test generic foo[null],OK,3
-2183,net.corda.serialization.internal.amqp.SerializationOutputTests.nestedNestedInner[null],OK,4
-2184,net.corda.serialization.internal.amqp.SerializationOutputTests.test suppressed throwables serialize[null],OK,19
-2185,net.corda.serialization.internal.amqp.SerializationOutputTests.test year month serialize[null],OK,3
-2186,net.corda.serialization.internal.amqp.SerializationOutputTests.test list of byte arrays[null],OK,7
-2187,net.corda.serialization.internal.amqp.SerializationOutputTests.test contract attachment throws if missing attachment[null],OK,3
-2188,net.corda.serialization.internal.amqp.SerializationOutputTests.test durations serialize[null],OK,3
-2189,net.corda.serialization.internal.amqp.SerializationOutputTests.test serialization of cyclic graph[null],Ignored,0
-2190,net.corda.serialization.internal.amqp.SerializationOutputTests.test offset time serialize[null],OK,10
-2191,net.corda.serialization.internal.amqp.SerializationOutputTests.test generic list subclass is not supported[DEFLATE],OK,7
-2192,net.corda.serialization.internal.amqp.SerializationOutputTests.test annotation is inherited[DEFLATE],OK,4
-2193,net.corda.serialization.internal.amqp.SerializationOutputTests.test kotlin Pair serialize[DEFLATE],OK,4
-2194,net.corda.serialization.internal.amqp.SerializationOutputTests.test throwables serialize[DEFLATE],OK,12
-2195,net.corda.serialization.internal.amqp.SerializationOutputTests.test whitelist[DEFLATE],OK,1
-2196,net.corda.serialization.internal.amqp.SerializationOutputTests.generics from java are supported[DEFLATE],OK,2
-2197,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo list array[DEFLATE],OK,7
-2198,net.corda.serialization.internal.amqp.SerializationOutputTests.test implements generic[DEFLATE],OK,5
-2199,net.corda.serialization.internal.amqp.SerializationOutputTests.test byte arrays not reference counted[DEFLATE],OK,3
-2200,net.corda.serialization.internal.amqp.SerializationOutputTests.test kotlin object[DEFLATE],OK,2
-2201,net.corda.serialization.internal.amqp.SerializationOutputTests.test SimpleString serialize[DEFLATE],OK,0
-2202,net.corda.serialization.internal.amqp.SerializationOutputTests.test extends generic[DEFLATE],OK,6
-2203,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo implements[DEFLATE],OK,4
-2204,net.corda.serialization.internal.amqp.SerializationOutputTests.test cert path serialize[DEFLATE],OK,4
-2205,net.corda.serialization.internal.amqp.SerializationOutputTests.nestedInner[DEFLATE],OK,1
-2206,net.corda.serialization.internal.amqp.SerializationOutputTests.test generic in constructor serialize[DEFLATE],OK,6
-2207,net.corda.serialization.internal.amqp.SerializationOutputTests.multiNestedInner[DEFLATE],OK,1
-2208,net.corda.serialization.internal.amqp.SerializationOutputTests.test dislike of HashMap[DEFLATE],OK,2
-2209,net.corda.serialization.internal.amqp.SerializationOutputTests.test generics ignored from graph logic[DEFLATE],OK,6
-2210,net.corda.serialization.internal.amqp.SerializationOutputTests.test local time serialize[DEFLATE],OK,2
-2211,net.corda.serialization.internal.amqp.SerializationOutputTests.test polymorphic property[DEFLATE],OK,4
-2212,net.corda.serialization.internal.amqp.SerializationOutputTests.throwable[DEFLATE],OK,4
-2213,net.corda.serialization.internal.amqp.SerializationOutputTests.test bool[DEFLATE],OK,3
-2214,net.corda.serialization.internal.amqp.SerializationOutputTests.test offset date time serialize[DEFLATE],OK,12
-2215,net.corda.serialization.internal.amqp.SerializationOutputTests.test object referenced multiple times[DEFLATE],OK,6
-2216,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo[DEFLATE],OK,2
-2217,net.corda.serialization.internal.amqp.SerializationOutputTests.test inherits generic captured[DEFLATE],OK,9
-2218,net.corda.serialization.internal.amqp.SerializationOutputTests.test string array[DEFLATE],OK,1
-2219,net.corda.serialization.internal.amqp.SerializationOutputTests.test X509CRL custom serializer[DEFLATE],OK,380
-2220,net.corda.serialization.internal.amqp.SerializationOutputTests.test StateRef serialize[DEFLATE],OK,10
-2221,net.corda.serialization.internal.amqp.SerializationOutputTests.test mismatched property and constructor naming[DEFLATE],OK,1
-2222,net.corda.serialization.internal.amqp.SerializationOutputTests.test annotation whitelisting[DEFLATE],OK,2
-2223,net.corda.serialization.internal.amqp.SerializationOutputTests.test complex throwables serialize[DEFLATE],OK,17
-2224,net.corda.serialization.internal.amqp.SerializationOutputTests.compression has the desired effect[DEFLATE],OK,2
-2225,net.corda.serialization.internal.amqp.SerializationOutputTests.test not all properties in constructor[DEFLATE],OK,3
-2226,net.corda.serialization.internal.amqp.SerializationOutputTests.test TreeMap property[DEFLATE],OK,5
-2227,net.corda.serialization.internal.amqp.SerializationOutputTests.class constructor is invoked on deserialisation[DEFLATE],OK,0
-2228,net.corda.serialization.internal.amqp.SerializationOutputTests.test flow corda exception subclasses serialize[DEFLATE],OK,11
-2229,net.corda.serialization.internal.amqp.SerializationOutputTests.test top level list array[DEFLATE],OK,2
-2230,net.corda.serialization.internal.amqp.SerializationOutputTests.test double[DEFLATE],OK,2
-2231,net.corda.serialization.internal.amqp.SerializationOutputTests.test month day serialize[DEFLATE],OK,2
-2232,net.corda.serialization.internal.amqp.SerializationOutputTests.test EnumMap serialize[DEFLATE],OK,4
-2233,net.corda.serialization.internal.amqp.SerializationOutputTests.isPrimitive[DEFLATE],OK,0
-2234,net.corda.serialization.internal.amqp.SerializationOutputTests.dataClassBy[DEFLATE],OK,4
-2235,net.corda.serialization.internal.amqp.SerializationOutputTests.test generic foo as property[DEFLATE],OK,17
-2236,net.corda.serialization.internal.amqp.SerializationOutputTests.test EnumSet serialize[DEFLATE],OK,10
-2237,net.corda.serialization.internal.amqp.SerializationOutputTests.test big decimals serialize[DEFLATE],OK,1
-2238,net.corda.serialization.internal.amqp.SerializationOutputTests.test custom serializers on public key[DEFLATE],OK,3
-2239,net.corda.serialization.internal.amqp.SerializationOutputTests.test year serialize[DEFLATE],OK,2
-2240,net.corda.serialization.internal.amqp.SerializationOutputTests.test day of week serialize[DEFLATE],OK,3
-2241,net.corda.serialization.internal.amqp.SerializationOutputTests.test custom anonymous object[DEFLATE],Ignored,0
-2242,net.corda.serialization.internal.amqp.SerializationOutputTests.test mismatched property and constructor type[DEFLATE],OK,0
-2243,net.corda.serialization.internal.amqp.SerializationOutputTests.a particular encoding can be banned for deserialization[DEFLATE],OK,2
-2244,net.corda.serialization.internal.amqp.SerializationOutputTests.test transaction state[DEFLATE],OK,14
-2245,net.corda.serialization.internal.amqp.SerializationOutputTests.test implements generic captured[DEFLATE],OK,9
-2246,net.corda.serialization.internal.amqp.SerializationOutputTests.reproduceWrongNumberOfArguments[DEFLATE],OK,5
-2247,net.corda.serialization.internal.amqp.SerializationOutputTests.test null polymorphic property[DEFLATE],OK,4
-2248,net.corda.serialization.internal.amqp.SerializationOutputTests.test float[DEFLATE],OK,2
-2249,net.corda.serialization.internal.amqp.SerializationOutputTests.test short[DEFLATE],OK,2
-2250,net.corda.serialization.internal.amqp.SerializationOutputTests.test nested generic foo as property[DEFLATE],OK,6
-2251,net.corda.serialization.internal.amqp.SerializationOutputTests.test period serialize[DEFLATE],OK,2
-2252,net.corda.serialization.internal.amqp.SerializationOutputTests.compression reduces number of bytes significantly[DEFLATE],OK,2
-2253,net.corda.serialization.internal.amqp.SerializationOutputTests.test local date time serialize[DEFLATE],OK,7
-2254,net.corda.serialization.internal.amqp.SerializationOutputTests.test toString custom serializer[DEFLATE],OK,4
-2255,net.corda.serialization.internal.amqp.SerializationOutputTests.test annotated constructor[DEFLATE],OK,3
-2256,net.corda.serialization.internal.amqp.SerializationOutputTests.nestedObjects[DEFLATE],OK,0
-2257,net.corda.serialization.internal.amqp.SerializationOutputTests.test instants serialize[DEFLATE],OK,2
-2258,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo array[DEFLATE],OK,3
-2259,net.corda.serialization.internal.amqp.SerializationOutputTests.test kotlin Unit serialize[DEFLATE],OK,1
-2260,net.corda.serialization.internal.amqp.SerializationOutputTests.test month serialize[DEFLATE],OK,2
-2261,net.corda.serialization.internal.amqp.SerializationOutputTests.test private constructor[DEFLATE],OK,3
-2262,net.corda.serialization.internal.amqp.SerializationOutputTests.test BitSet serialize[DEFLATE],OK,3
-2263,net.corda.serialization.internal.amqp.SerializationOutputTests.test X509 certificate serialize[DEFLATE],OK,3
-2264,net.corda.serialization.internal.amqp.SerializationOutputTests.test zoned date time serialize[DEFLATE],OK,10
-2265,net.corda.serialization.internal.amqp.SerializationOutputTests.test TreeMap[DEFLATE],OK,3
-2266,net.corda.serialization.internal.amqp.SerializationOutputTests.test NavigableMap property[DEFLATE],OK,6
-2267,net.corda.serialization.internal.amqp.SerializationOutputTests.test StringBuffer serialize[DEFLATE],OK,2
-2268,net.corda.serialization.internal.amqp.SerializationOutputTests.test local date serialize[DEFLATE],OK,3
-2269,net.corda.serialization.internal.amqp.SerializationOutputTests.test contract attachment serialize[DEFLATE],OK,9
-2270,net.corda.serialization.internal.amqp.SerializationOutputTests.test privacy salt serialize[DEFLATE],OK,8
-2271,net.corda.serialization.internal.amqp.SerializationOutputTests.test RPC corda exception subclasses serialize[DEFLATE],OK,14
-2272,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo implements and list[DEFLATE],OK,5
-2273,net.corda.serialization.internal.amqp.SerializationOutputTests.test currencies serialize[DEFLATE],OK,1
-2274,net.corda.serialization.internal.amqp.SerializationOutputTests.test InputStream serialize[DEFLATE],OK,2
-2275,net.corda.serialization.internal.amqp.SerializationOutputTests.privateNestedObjects[DEFLATE],OK,1
-2276,net.corda.serialization.internal.amqp.SerializationOutputTests.test custom object[DEFLATE],OK,2
-2277,net.corda.serialization.internal.amqp.SerializationOutputTests.test BigInteger custom serializer[DEFLATE],OK,3
-2278,net.corda.serialization.internal.amqp.SerializationOutputTests.test SortedSet property[DEFLATE],OK,4
-2279,net.corda.serialization.internal.amqp.SerializationOutputTests.test generic foo[DEFLATE],OK,2
-2280,net.corda.serialization.internal.amqp.SerializationOutputTests.nestedNestedInner[DEFLATE],OK,1
-2281,net.corda.serialization.internal.amqp.SerializationOutputTests.test suppressed throwables serialize[DEFLATE],OK,14
-2282,net.corda.serialization.internal.amqp.SerializationOutputTests.test year month serialize[DEFLATE],OK,2
-2283,net.corda.serialization.internal.amqp.SerializationOutputTests.test list of byte arrays[DEFLATE],OK,3
-2284,net.corda.serialization.internal.amqp.SerializationOutputTests.test contract attachment throws if missing attachment[DEFLATE],OK,0
-2285,net.corda.serialization.internal.amqp.SerializationOutputTests.test durations serialize[DEFLATE],OK,1
-2286,net.corda.serialization.internal.amqp.SerializationOutputTests.test serialization of cyclic graph[DEFLATE],Ignored,0
-2287,net.corda.serialization.internal.amqp.SerializationOutputTests.test offset time serialize[DEFLATE],OK,5
-2288,net.corda.serialization.internal.amqp.SerializationOutputTests.test generic list subclass is not supported[SNAPPY],OK,5
-2289,net.corda.serialization.internal.amqp.SerializationOutputTests.test annotation is inherited[SNAPPY],OK,4
-2290,net.corda.serialization.internal.amqp.SerializationOutputTests.test kotlin Pair serialize[SNAPPY],OK,3
-2291,net.corda.serialization.internal.amqp.SerializationOutputTests.test throwables serialize[SNAPPY],OK,12
-2292,net.corda.serialization.internal.amqp.SerializationOutputTests.test whitelist[SNAPPY],OK,0
-2293,net.corda.serialization.internal.amqp.SerializationOutputTests.generics from java are supported[SNAPPY],OK,2
-2294,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo list array[SNAPPY],OK,6
-2295,net.corda.serialization.internal.amqp.SerializationOutputTests.test implements generic[SNAPPY],OK,3
-2296,net.corda.serialization.internal.amqp.SerializationOutputTests.test byte arrays not reference counted[SNAPPY],OK,3
-2297,net.corda.serialization.internal.amqp.SerializationOutputTests.test kotlin object[SNAPPY],OK,2
-2298,net.corda.serialization.internal.amqp.SerializationOutputTests.test SimpleString serialize[SNAPPY],OK,1
-2299,net.corda.serialization.internal.amqp.SerializationOutputTests.test extends generic[SNAPPY],OK,3
-2300,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo implements[SNAPPY],OK,3
-2301,net.corda.serialization.internal.amqp.SerializationOutputTests.test cert path serialize[SNAPPY],OK,3
-2302,net.corda.serialization.internal.amqp.SerializationOutputTests.nestedInner[SNAPPY],OK,1
-2303,net.corda.serialization.internal.amqp.SerializationOutputTests.test generic in constructor serialize[SNAPPY],OK,5
-2304,net.corda.serialization.internal.amqp.SerializationOutputTests.multiNestedInner[SNAPPY],OK,1
-2305,net.corda.serialization.internal.amqp.SerializationOutputTests.test dislike of HashMap[SNAPPY],OK,2
-2306,net.corda.serialization.internal.amqp.SerializationOutputTests.test generics ignored from graph logic[SNAPPY],OK,5
-2307,net.corda.serialization.internal.amqp.SerializationOutputTests.test local time serialize[SNAPPY],OK,2
-2308,net.corda.serialization.internal.amqp.SerializationOutputTests.test polymorphic property[SNAPPY],OK,3
-2309,net.corda.serialization.internal.amqp.SerializationOutputTests.throwable[SNAPPY],OK,2
-2310,net.corda.serialization.internal.amqp.SerializationOutputTests.test bool[SNAPPY],OK,6
-2311,net.corda.serialization.internal.amqp.SerializationOutputTests.test offset date time serialize[SNAPPY],OK,8
-2312,net.corda.serialization.internal.amqp.SerializationOutputTests.test object referenced multiple times[SNAPPY],OK,4
-2313,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo[SNAPPY],OK,3
-2314,net.corda.serialization.internal.amqp.SerializationOutputTests.test inherits generic captured[SNAPPY],OK,8
-2315,net.corda.serialization.internal.amqp.SerializationOutputTests.test string array[SNAPPY],OK,2
-2316,net.corda.serialization.internal.amqp.SerializationOutputTests.test X509CRL custom serializer[SNAPPY],OK,792
-2317,net.corda.serialization.internal.amqp.SerializationOutputTests.test StateRef serialize[SNAPPY],OK,13
-2318,net.corda.serialization.internal.amqp.SerializationOutputTests.test mismatched property and constructor naming[SNAPPY],OK,0
-2319,net.corda.serialization.internal.amqp.SerializationOutputTests.test annotation whitelisting[SNAPPY],OK,2
-2320,net.corda.serialization.internal.amqp.SerializationOutputTests.test complex throwables serialize[SNAPPY],OK,19
-2321,net.corda.serialization.internal.amqp.SerializationOutputTests.compression has the desired effect[SNAPPY],OK,1
-2322,net.corda.serialization.internal.amqp.SerializationOutputTests.test not all properties in constructor[SNAPPY],OK,2
-2323,net.corda.serialization.internal.amqp.SerializationOutputTests.test TreeMap property[SNAPPY],OK,4
-2324,net.corda.serialization.internal.amqp.SerializationOutputTests.class constructor is invoked on deserialisation[SNAPPY],OK,0
-2325,net.corda.serialization.internal.amqp.SerializationOutputTests.test flow corda exception subclasses serialize[SNAPPY],OK,11
-2326,net.corda.serialization.internal.amqp.SerializationOutputTests.test top level list array[SNAPPY],OK,3
-2327,net.corda.serialization.internal.amqp.SerializationOutputTests.test double[SNAPPY],OK,3
-2328,net.corda.serialization.internal.amqp.SerializationOutputTests.test month day serialize[SNAPPY],OK,2
-2329,net.corda.serialization.internal.amqp.SerializationOutputTests.test EnumMap serialize[SNAPPY],OK,3
-2330,net.corda.serialization.internal.amqp.SerializationOutputTests.isPrimitive[SNAPPY],OK,0
-2331,net.corda.serialization.internal.amqp.SerializationOutputTests.dataClassBy[SNAPPY],OK,5
-2332,net.corda.serialization.internal.amqp.SerializationOutputTests.test generic foo as property[SNAPPY],OK,3
-2333,net.corda.serialization.internal.amqp.SerializationOutputTests.test EnumSet serialize[SNAPPY],OK,7
-2334,net.corda.serialization.internal.amqp.SerializationOutputTests.test big decimals serialize[SNAPPY],OK,1
-2335,net.corda.serialization.internal.amqp.SerializationOutputTests.test custom serializers on public key[SNAPPY],OK,3
-2336,net.corda.serialization.internal.amqp.SerializationOutputTests.test year serialize[SNAPPY],OK,2
-2337,net.corda.serialization.internal.amqp.SerializationOutputTests.test day of week serialize[SNAPPY],OK,2
-2338,net.corda.serialization.internal.amqp.SerializationOutputTests.test custom anonymous object[SNAPPY],Ignored,0
-2339,net.corda.serialization.internal.amqp.SerializationOutputTests.test mismatched property and constructor type[SNAPPY],OK,0
-2340,net.corda.serialization.internal.amqp.SerializationOutputTests.a particular encoding can be banned for deserialization[SNAPPY],OK,0
-2341,net.corda.serialization.internal.amqp.SerializationOutputTests.test transaction state[SNAPPY],OK,13
-2342,net.corda.serialization.internal.amqp.SerializationOutputTests.test implements generic captured[SNAPPY],OK,6
-2343,net.corda.serialization.internal.amqp.SerializationOutputTests.reproduceWrongNumberOfArguments[SNAPPY],OK,4
-2344,net.corda.serialization.internal.amqp.SerializationOutputTests.test null polymorphic property[SNAPPY],OK,2
-2345,net.corda.serialization.internal.amqp.SerializationOutputTests.test float[SNAPPY],OK,2
-2346,net.corda.serialization.internal.amqp.SerializationOutputTests.test short[SNAPPY],OK,2
-2347,net.corda.serialization.internal.amqp.SerializationOutputTests.test nested generic foo as property[SNAPPY],OK,6
-2348,net.corda.serialization.internal.amqp.SerializationOutputTests.test period serialize[SNAPPY],OK,2
-2349,net.corda.serialization.internal.amqp.SerializationOutputTests.compression reduces number of bytes significantly[SNAPPY],OK,0
-2350,net.corda.serialization.internal.amqp.SerializationOutputTests.test local date time serialize[SNAPPY],OK,6
-2351,net.corda.serialization.internal.amqp.SerializationOutputTests.test toString custom serializer[SNAPPY],OK,3
-2352,net.corda.serialization.internal.amqp.SerializationOutputTests.test annotated constructor[SNAPPY],OK,2
-2353,net.corda.serialization.internal.amqp.SerializationOutputTests.nestedObjects[SNAPPY],OK,0
-2354,net.corda.serialization.internal.amqp.SerializationOutputTests.test instants serialize[SNAPPY],OK,2
-2355,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo array[SNAPPY],OK,3
-2356,net.corda.serialization.internal.amqp.SerializationOutputTests.test kotlin Unit serialize[SNAPPY],OK,1
-2357,net.corda.serialization.internal.amqp.SerializationOutputTests.test month serialize[SNAPPY],OK,2
-2358,net.corda.serialization.internal.amqp.SerializationOutputTests.test private constructor[SNAPPY],OK,2
-2359,net.corda.serialization.internal.amqp.SerializationOutputTests.test BitSet serialize[SNAPPY],OK,2
-2360,net.corda.serialization.internal.amqp.SerializationOutputTests.test X509 certificate serialize[SNAPPY],OK,2
-2361,net.corda.serialization.internal.amqp.SerializationOutputTests.test zoned date time serialize[SNAPPY],OK,8
-2362,net.corda.serialization.internal.amqp.SerializationOutputTests.test TreeMap[SNAPPY],OK,3
-2363,net.corda.serialization.internal.amqp.SerializationOutputTests.test NavigableMap property[SNAPPY],OK,5
-2364,net.corda.serialization.internal.amqp.SerializationOutputTests.test StringBuffer serialize[SNAPPY],OK,1
-2365,net.corda.serialization.internal.amqp.SerializationOutputTests.test local date serialize[SNAPPY],OK,2
-2366,net.corda.serialization.internal.amqp.SerializationOutputTests.test contract attachment serialize[SNAPPY],OK,9
-2367,net.corda.serialization.internal.amqp.SerializationOutputTests.test privacy salt serialize[SNAPPY],OK,8
-2368,net.corda.serialization.internal.amqp.SerializationOutputTests.test RPC corda exception subclasses serialize[SNAPPY],OK,12
-2369,net.corda.serialization.internal.amqp.SerializationOutputTests.test foo implements and list[SNAPPY],OK,4
-2370,net.corda.serialization.internal.amqp.SerializationOutputTests.test currencies serialize[SNAPPY],OK,1
-2371,net.corda.serialization.internal.amqp.SerializationOutputTests.test InputStream serialize[SNAPPY],OK,2
-2372,net.corda.serialization.internal.amqp.SerializationOutputTests.privateNestedObjects[SNAPPY],OK,0
-2373,net.corda.serialization.internal.amqp.SerializationOutputTests.test custom object[SNAPPY],OK,1
-2374,net.corda.serialization.internal.amqp.SerializationOutputTests.test BigInteger custom serializer[SNAPPY],OK,3
-2375,net.corda.serialization.internal.amqp.SerializationOutputTests.test SortedSet property[SNAPPY],OK,4
-2376,net.corda.serialization.internal.amqp.SerializationOutputTests.test generic foo[SNAPPY],OK,3
-2377,net.corda.serialization.internal.amqp.SerializationOutputTests.nestedNestedInner[SNAPPY],OK,1
-2378,net.corda.serialization.internal.amqp.SerializationOutputTests.test suppressed throwables serialize[SNAPPY],OK,18
-2379,net.corda.serialization.internal.amqp.SerializationOutputTests.test year month serialize[SNAPPY],OK,2
-2380,net.corda.serialization.internal.amqp.SerializationOutputTests.test list of byte arrays[SNAPPY],OK,3
-2381,net.corda.serialization.internal.amqp.SerializationOutputTests.test contract attachment throws if missing attachment[SNAPPY],OK,0
-2382,net.corda.serialization.internal.amqp.SerializationOutputTests.test durations serialize[SNAPPY],OK,2
-2383,net.corda.serialization.internal.amqp.SerializationOutputTests.test serialization of cyclic graph[SNAPPY],Ignored,0
-2384,net.corda.serialization.internal.amqp.SerializationOutputTests.test offset time serialize[SNAPPY],OK,5
-2385,net.corda.serialization.internal.amqp.DeserializeQueryableStateTest.should deserialize subclass of QueryableState that is not present in the class loader,OK,123
-2386,net.corda.serialization.internal.amqp.CustomSerializerRegistryTests.a custom serializer cannot register to serialize a type already annotated with CordaSerializable,OK,2
-2387,net.corda.serialization.internal.amqp.CustomSerializerRegistryTests.exception types can have custom serializers,OK,1
-2388,net.corda.serialization.internal.amqp.CustomSerializerRegistryTests.two custom serializers cannot register to serialize the same type,OK,7
-2389,net.corda.serialization.internal.amqp.CustomSerializerRegistryTests.primitive types cannot have custom serializers,OK,1
-2390,net.corda.serialization.internal.carpenter.SerDeserCarpentryTest.lenientCarpenter,OK,13
-2391,net.corda.serialization.internal.carpenter.SerDeserCarpentryTest.implementingGenericInterface,OK,17
-2392,net.corda.serialization.internal.ListsSerializationTest.check list can be serialized as part of SessionData,OK,11
-2393,net.corda.serialization.internal.ListsSerializationTest.check throws for forbidden declared type,OK,6
-2394,net.corda.serialization.internal.ListsSerializationTest.check empty list serialises as Java emptyList,OK,1
-2395,net.corda.serialization.internal.ListsSerializationTest.check list can be serialized as root of serialization graph,OK,1
-2396,net.corda.serialization.internal.ListsSerializationTest.check covariance,OK,6
-2397,net.corda.testing.CommandLineCompatibilityCheckerTest.should detect changes in positional parameters,OK,145
-2398,net.corda.testing.CommandLineCompatibilityCheckerTest.should detect missing parameter,OK,5
-2399,net.corda.testing.CommandLineCompatibilityCheckerTest.should detect change of enum options,OK,5
-2400,net.corda.testing.CommandLineCompatibilityCheckerTest.should detect change of parameter type,OK,2
-2401,net.corda.testing.CommandLineCompatibilityCheckerTest.should detect removal of a subcommand,OK,9
-2402,net.corda.testing.core.JarSignatureCollectorTest.bad signature is caught even if the party would not qualify as a signer,OK,729
-2403,net.corda.testing.core.JarSignatureCollectorTest.two signers,OK,590
-2404,net.corda.testing.core.JarSignatureCollectorTest.all files must be signed by the same set of signers,OK,652
-2405,net.corda.testing.core.JarSignatureCollectorTest.one signer with EC algorithm,OK,253
-2406,net.corda.testing.core.JarSignatureCollectorTest.jar with jar index file,OK,341
-2407,net.corda.testing.core.JarSignatureCollectorTest.one signer,OK,335
-2408,net.corda.testing.core.JarSignatureCollectorTest.unsigned jar has no signers,OK,111
-2409,net.corda.testing.core.JarSignatureCollectorTest.empty jar has no signers,OK,287
-2410,net.corda.testing.TestIdentityTests.entropy works,OK,392
-2411,net.corda.testing.TestIdentityTests.fresh works,OK,14
-2412,net.corda.testing.internal.RigorousMockTest.doing nothing is preferred by spectator,OK,2413
-2413,net.corda.testing.internal.RigorousMockTest.throw exception is preferred by participant,OK,266
-2414,net.corda.testing.internal.RigorousMockTest.method return type erasure cases,OK,127
-2415,net.corda.testing.internal.RigorousMockTest.method return type resolution works,OK,66
-2416,net.corda.testing.internal.RigorousMockTest.callRealMethod is preferred by rigorousMock,OK,5
-2417,net.corda.testing.internal.RigorousMockTest.toString has a reliable default answer in all cases,OK,7
-2418,net.corda.testing.internal.MatcherTests.nested items indent,OK,26
-2419,net.corda.client.jackson.StateMachineRunIdTest.state machine run ID serialise,OK,22
-2420,net.corda.client.jackson.StateMachineRunIdTest.state machine run ID deserialise,OK,6
-2421,net.corda.client.jackson.StringToMethodCallParserTest.complexNestedGenericMethod,OK,623
-2422,net.corda.client.jackson.StringToMethodCallParserTest.calls,OK,10
-2423,net.corda.client.jackson.StringToMethodCallParserTest.ctor1,OK,7
-2424,net.corda.client.jackson.StringToMethodCallParserTest.ctor2,OK,1
-2425,net.corda.client.jackson.StringToMethodCallParserTest.constructorWithGenericArgs,OK,8
-2426,net.corda.client.jackson.AmountTest.Amount(Currency) YAML deserialization,OK,195
-2427,net.corda.client.jackson.AmountTest.Amount(CarbonCredit) JSON deserialization,OK,4
-2428,net.corda.client.jackson.AmountTest.Amount(Currency) JSON deserialization,OK,1
-2429,net.corda.client.jackson.AmountTest.Amount(CarbonCredit) YAML serialization,OK,11
-2430,net.corda.client.jackson.AmountTest.Amount(CarbonCredit) JSON serialization,OK,1
-2431,net.corda.client.jackson.AmountTest.Amount(Unknown) YAML deserialization,OK,2
-2432,net.corda.client.jackson.AmountTest.Amount(Unknown) JSON deserialization,OK,2
-2433,net.corda.client.jackson.AmountTest.Amount(CarbonCredit) YAML deserialization,OK,3
-2434,net.corda.client.jackson.AmountTest.Amount(Currency) YAML serialization,OK,10
-2435,net.corda.client.jackson.JacksonSupportTest.Amount(Currency) Text deserialization[JSON],OK,671
-2436,net.corda.client.jackson.JacksonSupportTest.TimeWindow - untilOnly[JSON],OK,48
-2437,net.corda.client.jackson.JacksonSupportTest.Amount(Currency) deserialization[JSON],OK,23
-2438,net.corda.client.jackson.JacksonSupportTest.Command[JSON],OK,59
-2439,net.corda.client.jackson.JacksonSupportTest.CordaX500Name[JSON],OK,19
-2440,net.corda.client.jackson.JacksonSupportTest.PartialTree IncludedLeaf[JSON],OK,37
-2441,net.corda.client.jackson.JacksonSupportTest.TimeWindow - between[JSON],OK,20
-2442,net.corda.client.jackson.JacksonSupportTest.X509Certificate deserialization[JSON],OK,245
-2443,net.corda.client.jackson.JacksonSupportTest.NetworkHostAndPort[JSON],OK,12
-2444,net.corda.client.jackson.JacksonSupportTest.NodeInfo deserialization on name[JSON],OK,74
-2445,net.corda.client.jackson.JacksonSupportTest.X509Certificate serialization[JSON],OK,77
-2446,net.corda.client.jackson.JacksonSupportTest.SignedTransaction(WireTransaction)[JSON],OK,837
-2447,net.corda.client.jackson.JacksonSupportTest.PrivacySalt[JSON],OK,14
-2448,net.corda.client.jackson.JacksonSupportTest.AnonymousParty[JSON],OK,13
-2449,net.corda.client.jackson.JacksonSupportTest.Party deserialization on part of name[JSON],OK,11
-2450,net.corda.client.jackson.JacksonSupportTest.complex PartialTree Node[JSON],OK,12
-2451,net.corda.client.jackson.JacksonSupportTest.Party deserialization on public key[JSON],OK,10
-2452,net.corda.client.jackson.JacksonSupportTest.SecureHash SHA256[JSON],OK,9
-2453,net.corda.client.jackson.JacksonSupportTest.PublicKey[JSON],OK,10
-2454,net.corda.client.jackson.JacksonSupportTest.Party serialization[JSON],OK,9
-2455,net.corda.client.jackson.JacksonSupportTest.TimeWindow - fromOnly[JSON],OK,14
-2456,net.corda.client.jackson.JacksonSupportTest.Party deserialization on full name[JSON],OK,10
-2457,net.corda.client.jackson.JacksonSupportTest.CertPath[JSON],OK,252
-2458,net.corda.client.jackson.JacksonSupportTest.Instant[JSON],OK,13
-2459,net.corda.client.jackson.JacksonSupportTest.NodeInfo deserialization on public key[JSON],OK,30
-2460,net.corda.client.jackson.JacksonSupportTest.Date is treated as Instant[JSON],OK,9
-2461,net.corda.client.jackson.JacksonSupportTest.ByteSequence[JSON],OK,13
-2462,net.corda.client.jackson.JacksonSupportTest.simple PartialTree Node[JSON],OK,15
-2463,net.corda.client.jackson.JacksonSupportTest.TransactionState[JSON],OK,17
-2464,net.corda.client.jackson.JacksonSupportTest.TransactionSignature[JSON],OK,19
-2465,net.corda.client.jackson.JacksonSupportTest: net.corda.client.jackson.JacksonSupportTest.@CordaSerializable class which has non-c'tor properties[JSON],OK,13
-2466,net.corda.client.jackson.JacksonSupportTest.SerializedBytes[JSON],OK,19
-2467,net.corda.client.jackson.JacksonSupportTest.OpaqueBytes serialization[JSON],OK,7
-2468,net.corda.client.jackson.JacksonSupportTest.SignatureMetadata[JSON],OK,7
-2469,net.corda.client.jackson.JacksonSupportTest.CompositeKey[JSON],OK,15
-2470,net.corda.client.jackson.JacksonSupportTest.UUID[JSON],OK,8
-2471,net.corda.client.jackson.JacksonSupportTest.NodeInfo serialization[JSON],OK,29
-2472,net.corda.client.jackson.JacksonSupportTest.PartyAndCertificate serialization with isFullParty = true[JSON],OK,18
-2473,net.corda.client.jackson.JacksonSupportTest.PartyAndCertificate serialization[JSON],OK,7
-2474,net.corda.client.jackson.JacksonSupportTest.SignatureMetadata on unknown schemeNumberID[JSON],OK,8
-2475,net.corda.client.jackson.JacksonSupportTest.OpaqueBytes deserialization[JSON],OK,8
-2476,net.corda.client.jackson.JacksonSupportTest.DigitalSignature[JSON],OK,9
-2477,net.corda.client.jackson.JacksonSupportTest.SerializedBytes of class not on classpath[JSON],OK,93
-2478,net.corda.client.jackson.JacksonSupportTest.DigitalSignature WithKey[JSON],OK,12
-2479,net.corda.client.jackson.JacksonSupportTest.EdDSA public key[JSON],OK,8
-2480,net.corda.client.jackson.JacksonSupportTest.PartialTree Leaf[JSON],OK,9
-2481,net.corda.client.jackson.JacksonSupportTest: net.corda.client.jackson.JacksonSupportTest.@CordaSerializable kotlin object[JSON],OK,9
-2482,net.corda.client.jackson.JacksonSupportTest.LinearState where the linearId property does not match the backing field[JSON],OK,21
-2483,net.corda.client.jackson.JacksonSupportTest.Party serialization with isFullParty = true[JSON],OK,10
-2484,net.corda.client.jackson.JacksonSupportTest.DigitalSignatureWithCert[JSON],OK,34
-2485,net.corda.client.jackson.JacksonSupportTest.SignatureScheme serialization[JSON],OK,6
-2486,net.corda.client.jackson.JacksonSupportTest.X500Principal[JSON],OK,7
-2487,net.corda.client.jackson.JacksonSupportTest.Amount(Currency) serialization[JSON],OK,6
-2488,net.corda.client.jackson.JacksonSupportTest.kotlin object[JSON],OK,9
-2489,net.corda.client.jackson.JacksonSupportTest.Party deserialization on name and key[JSON],OK,11
-2490,net.corda.client.jackson.JacksonSupportTest.PartyAndCertificate deserialization on cert path[JSON],OK,16
-2491,net.corda.client.jackson.JacksonSupportTest.SignatureScheme deserialization[JSON],OK,9
-2492,net.corda.client.jackson.JacksonSupportTest.Amount(Currency) Text deserialization[YAML],OK,12
-2493,net.corda.client.jackson.JacksonSupportTest.TimeWindow - untilOnly[YAML],OK,11
-2494,net.corda.client.jackson.JacksonSupportTest.Amount(Currency) deserialization[YAML],OK,10
-2495,net.corda.client.jackson.JacksonSupportTest.Command[YAML],OK,12
-2496,net.corda.client.jackson.JacksonSupportTest.CordaX500Name[YAML],OK,7
-2497,net.corda.client.jackson.JacksonSupportTest.PartialTree IncludedLeaf[YAML],OK,10
-2498,net.corda.client.jackson.JacksonSupportTest.TimeWindow - between[YAML],OK,10
-2499,net.corda.client.jackson.JacksonSupportTest.X509Certificate deserialization[YAML],OK,6
-2500,net.corda.client.jackson.JacksonSupportTest.NetworkHostAndPort[YAML],OK,7
-2501,net.corda.client.jackson.JacksonSupportTest.NodeInfo deserialization on name[YAML],OK,24
-2502,net.corda.client.jackson.JacksonSupportTest.X509Certificate serialization[YAML],OK,16
-2503,net.corda.client.jackson.JacksonSupportTest.SignedTransaction(WireTransaction)[YAML],OK,119
-2504,net.corda.client.jackson.JacksonSupportTest.PrivacySalt[YAML],OK,10
-2505,net.corda.client.jackson.JacksonSupportTest.AnonymousParty[YAML],OK,9
-2506,net.corda.client.jackson.JacksonSupportTest.Party deserialization on part of name[YAML],OK,8
-2507,net.corda.client.jackson.JacksonSupportTest.complex PartialTree Node[YAML],OK,11
-2508,net.corda.client.jackson.JacksonSupportTest.Party deserialization on public key[YAML],OK,6
-2509,net.corda.client.jackson.JacksonSupportTest.SecureHash SHA256[YAML],OK,5
-2510,net.corda.client.jackson.JacksonSupportTest.PublicKey[YAML],OK,5
-2511,net.corda.client.jackson.JacksonSupportTest.Party serialization[YAML],OK,5
-2512,net.corda.client.jackson.JacksonSupportTest.TimeWindow - fromOnly[YAML],OK,8
-2513,net.corda.client.jackson.JacksonSupportTest.Party deserialization on full name[YAML],OK,6
-2514,net.corda.client.jackson.JacksonSupportTest.CertPath[YAML],OK,15
-2515,net.corda.client.jackson.JacksonSupportTest.Instant[YAML],OK,6
-2516,net.corda.client.jackson.JacksonSupportTest.NodeInfo deserialization on public key[YAML],OK,19
-2517,net.corda.client.jackson.JacksonSupportTest.Date is treated as Instant[YAML],OK,5
-2518,net.corda.client.jackson.JacksonSupportTest.ByteSequence[YAML],OK,7
-2519,net.corda.client.jackson.JacksonSupportTest.simple PartialTree Node[YAML],OK,8
-2520,net.corda.client.jackson.JacksonSupportTest.TransactionState[YAML],OK,12
-2521,net.corda.client.jackson.JacksonSupportTest.TransactionSignature[YAML],OK,12
-2522,net.corda.client.jackson.JacksonSupportTest: net.corda.client.jackson.JacksonSupportTest.@CordaSerializable class which has non-c'tor properties[YAML],OK,6
-2523,net.corda.client.jackson.JacksonSupportTest.SerializedBytes[YAML],OK,10
-2524,net.corda.client.jackson.JacksonSupportTest.OpaqueBytes serialization[YAML],OK,5
-2525,net.corda.client.jackson.JacksonSupportTest.SignatureMetadata[YAML],OK,5
-2526,net.corda.client.jackson.JacksonSupportTest.CompositeKey[YAML],OK,12
-2527,net.corda.client.jackson.JacksonSupportTest.UUID[YAML],OK,9
-2528,net.corda.client.jackson.JacksonSupportTest.NodeInfo serialization[YAML],OK,19
-2529,net.corda.client.jackson.JacksonSupportTest.PartyAndCertificate serialization with isFullParty = true[YAML],OK,16
-2530,net.corda.client.jackson.JacksonSupportTest.PartyAndCertificate serialization[YAML],OK,6
-2531,net.corda.client.jackson.JacksonSupportTest.SignatureMetadata on unknown schemeNumberID[YAML],OK,6
-2532,net.corda.client.jackson.JacksonSupportTest.OpaqueBytes deserialization[YAML],OK,6
-2533,net.corda.client.jackson.JacksonSupportTest.DigitalSignature[YAML],OK,6
-2534,net.corda.client.jackson.JacksonSupportTest.SerializedBytes of class not on classpath[YAML],OK,22
-2535,net.corda.client.jackson.JacksonSupportTest.DigitalSignature WithKey[YAML],OK,9
-2536,net.corda.client.jackson.JacksonSupportTest.EdDSA public key[YAML],OK,6
-2537,net.corda.client.jackson.JacksonSupportTest.PartialTree Leaf[YAML],OK,7
-2538,net.corda.client.jackson.JacksonSupportTest: net.corda.client.jackson.JacksonSupportTest.@CordaSerializable kotlin object[YAML],OK,6
-2539,net.corda.client.jackson.JacksonSupportTest.LinearState where the linearId property does not match the backing field[YAML],OK,9
-2540,net.corda.client.jackson.JacksonSupportTest.Party serialization with isFullParty = true[YAML],OK,6
-2541,net.corda.client.jackson.JacksonSupportTest.DigitalSignatureWithCert[YAML],OK,11
-2542,net.corda.client.jackson.JacksonSupportTest.SignatureScheme serialization[YAML],OK,5
-2543,net.corda.client.jackson.JacksonSupportTest.X500Principal[YAML],OK,6
-2544,net.corda.client.jackson.JacksonSupportTest.Amount(Currency) serialization[YAML],OK,4
-2545,net.corda.client.jackson.JacksonSupportTest.kotlin object[YAML],OK,5
-2546,net.corda.client.jackson.JacksonSupportTest.Party deserialization on name and key[YAML],OK,7
-2547,net.corda.client.jackson.JacksonSupportTest.PartyAndCertificate deserialization on cert path[YAML],OK,10
-2548,net.corda.client.jackson.JacksonSupportTest.SignatureScheme deserialization[YAML],OK,5
-2549,net.corda.client.jfx.utils.ReplayedListTest.addWorks,OK,62
-2550,net.corda.client.jfx.utils.ReplayedListTest.updateWorks,OK,0
-2551,net.corda.client.jfx.utils.ReplayedListTest.removeWorks,OK,0
-2552,net.corda.client.jfx.utils.AssociatedListTest.addWorks,OK,31
-2553,net.corda.client.jfx.utils.AssociatedListTest.updateWorks,OK,0
-2554,net.corda.client.jfx.utils.AssociatedListTest.removeWorks,OK,1
-2555,net.corda.client.jfx.utils.MappedListTest.addWorks,OK,4
-2556,net.corda.client.jfx.utils.MappedListTest.removeWorks,OK,0
-2557,net.corda.client.jfx.utils.MappedListTest.permuteWorks,OK,6
-2558,net.corda.client.jfx.utils.LeftOuterJoinedMapTest.addWorks,OK,80
-2559,net.corda.client.jfx.utils.LeftOuterJoinedMapTest.removeWorks,OK,4
-2560,net.corda.client.jfx.utils.AggregatedListTest.multipleElementsWithSameHashWorks,OK,1
-2561,net.corda.client.jfx.utils.AggregatedListTest.addWorks,OK,6
-2562,net.corda.client.jfx.utils.AggregatedListTest.removeWorks,OK,1
-2563,net.corda.client.jfx.utils.FlattenedListTest.addWorks,OK,5
-2564,net.corda.client.jfx.utils.FlattenedListTest.updatingObservableWorks,OK,0
-2565,net.corda.client.jfx.utils.FlattenedListTest.removeWorks,OK,0
-2566,net.corda.client.jfx.utils.FlattenedListTest.reusingObservableWorks,OK,1
-2567,net.corda.client.jfx.utils.ConcatenatedListTest.addWorks,OK,1
-2568,net.corda.client.jfx.utils.ConcatenatedListTest.removeWorks,OK,0
-2569,net.corda.client.jfx.utils.ConcatenatedListTest.permutationWorks,OK,3
-2570,net.corda.client.jfx.model.ExchangeRateModelTest.perform fx testing,OK,164
-2571,net.corda.client.rpc.RPCFailureTests.kotlin NPE,OK,5094
-2572,net.corda.client.rpc.RPCFailureTests.unserializable,OK,230
-2573,net.corda.client.rpc.RPCFailureTests.kotlin NPE async,OK,282
-2574,net.corda.client.rpc.RPCFailureTests.unserializable async,OK,173
-2575,net.corda.client.rpc.RPCHighThroughputObservableTests.simple observable[Mode = InVm],OK,245
-2576,net.corda.client.rpc.RPCHighThroughputObservableTests.simple observable[Mode = Netty],OK,712
-2577,net.corda.client.rpc.ClientRPCInfrastructureTests.complex observables[Mode = InVm],OK,1174
-2578,net.corda.client.rpc.ClientRPCInfrastructureTests.simple RPCs[Mode = InVm],OK,210
-2579,net.corda.client.rpc.ClientRPCInfrastructureTests.versioning[Mode = InVm],OK,217
-2580,net.corda.client.rpc.ClientRPCInfrastructureTests.authenticated user is available to RPC[Mode = InVm],OK,83
-2581,net.corda.client.rpc.ClientRPCInfrastructureTests.simple observable[Mode = InVm],OK,206
-2582,net.corda.client.rpc.ClientRPCInfrastructureTests.complex ListenableFuture[Mode = InVm],OK,272
-2583,net.corda.client.rpc.ClientRPCInfrastructureTests.simple ListenableFuture[Mode = InVm],OK,197
-2584,net.corda.client.rpc.ClientRPCInfrastructureTests.complex observables[Mode = Netty],OK,1231
-2585,net.corda.client.rpc.ClientRPCInfrastructureTests.simple RPCs[Mode = Netty],OK,149
-2586,net.corda.client.rpc.ClientRPCInfrastructureTests.versioning[Mode = Netty],OK,122
-2587,net.corda.client.rpc.ClientRPCInfrastructureTests.authenticated user is available to RPC[Mode = Netty],OK,106
-2588,net.corda.client.rpc.ClientRPCInfrastructureTests.simple observable[Mode = Netty],OK,134
-2589,net.corda.client.rpc.ClientRPCInfrastructureTests.complex ListenableFuture[Mode = Netty],OK,121
-2590,net.corda.client.rpc.ClientRPCInfrastructureTests.simple ListenableFuture[Mode = Netty],OK,129
-2591,net.corda.client.rpc.RPCConcurrencyTests.call multiple RPCs in parallel[Mode = InVm],OK,242
-2592,net.corda.client.rpc.RPCConcurrencyTests.parallel nested observables[Mode = InVm],OK,333
-2593,net.corda.client.rpc.RPCConcurrencyTests.nested immediate observables sequence correctly[Mode = InVm],OK,828
-2594,net.corda.client.rpc.RPCConcurrencyTests.call multiple RPCs in parallel[Mode = Netty],OK,433
-2595,net.corda.client.rpc.RPCConcurrencyTests.parallel nested observables[Mode = Netty],OK,194
-2596,net.corda.client.rpc.RPCConcurrencyTests.nested immediate observables sequence correctly[Mode = Netty],OK,486
-2597,net.corda.client.rpc.RPCPermissionsTests.empty user cannot use any flows[Mode = InVm],OK,237
-2598,net.corda.client.rpc.RPCPermissionsTests.joe user is not allowed to call other RPC methods[Mode = InVm],OK,97
-2599,net.corda.client.rpc.RPCPermissionsTests.admin user can use any flow[Mode = InVm],OK,203
-2600,net.corda.client.rpc.RPCPermissionsTests.checking invokeRpc permissions entitlements[Mode = InVm],OK,197
-2601,net.corda.client.rpc.RPCPermissionsTests.joe user is allowed to use DummyFlow[Mode = InVm],OK,203
-2602,net.corda.client.rpc.RPCPermissionsTests.joe user is not allowed to use OtherFlow[Mode = InVm],OK,241
-2603,net.corda.client.rpc.RPCPermissionsTests.joe user can call different methods matching to a wildcard[Mode = InVm],OK,228
-2604,net.corda.client.rpc.RPCPermissionsTests.empty user cannot use any flows[Mode = Netty],OK,142
-2605,net.corda.client.rpc.RPCPermissionsTests.joe user is not allowed to call other RPC methods[Mode = Netty],OK,135
-2606,net.corda.client.rpc.RPCPermissionsTests.admin user can use any flow[Mode = Netty],OK,126
-2607,net.corda.client.rpc.RPCPermissionsTests.checking invokeRpc permissions entitlements[Mode = Netty],OK,126
-2608,net.corda.client.rpc.RPCPermissionsTests.joe user is allowed to use DummyFlow[Mode = Netty],OK,178
-2609,net.corda.client.rpc.RPCPermissionsTests.joe user is not allowed to use OtherFlow[Mode = Netty],OK,181
-2610,net.corda.client.rpc.RPCPermissionsTests.joe user can call different methods matching to a wildcard[Mode = Netty],OK,200
-2611,net.corda.deterministic.data.GenerateData.verifyTransactions,OK,6464
-2612,net.corda.deterministic.CordaExceptionTest.testNotaryChangeInWrongTransactionType,OK,45
-2613,net.corda.deterministic.CordaExceptionTest.testTransactionResolutionException,OK,1
-2614,net.corda.deterministic.CordaExceptionTest.testConflictingAttachmentsRejection,OK,1
-2615,net.corda.deterministic.CordaExceptionTest.testCordaException,OK,0
-2616,net.corda.deterministic.CordaExceptionTest.testAttachmentResolutionException,OK,0
-2617,net.corda.deterministic.transactions.TransactionWithSignaturesTest.txWithSigs,OK,4
-2618,net.corda.deterministic.txverify.VerifyTransactionTest.success,OK,1304
-2619,net.corda.deterministic.txverify.VerifyTransactionTest.failure,OK,120
-2620,net.corda.deterministic.contracts.PrivacySaltTest.testValidSalt,OK,0
-2621,net.corda.deterministic.contracts.PrivacySaltTest.testTooShortPrivacySalt,OK,3
-2622,net.corda.deterministic.contracts.PrivacySaltTest.testInvalidSaltWithAllZeros,OK,1
-2623,net.corda.deterministic.contracts.PrivacySaltTest.testTooLongPrivacySalt,OK,0
-2624,net.corda.deterministic.contracts.AttachmentTest.testExtractFromAttachment,OK,2
-2625,net.corda.deterministic.contracts.AttachmentTest.testAttachmentJar,OK,0
-2626,net.corda.deterministic.contracts.UniqueIdentifierTest.testPrimaryConstructor,OK,5
-2627,net.corda.deterministic.contracts.UniqueIdentifierTest.testConstructors,OK,1
-2628,net.corda.deterministic.contracts.UniqueIdentifierTest.testNewInstance,OK,0
-2629,net.corda.deterministic.crypto.SecureRandomTest.testNoCordaPRNG,OK,1
-2630,net.corda.deterministic.crypto.TransactionSignatureTest.Verify one-tx signature,OK,130
-2631,net.corda.deterministic.crypto.TransactionSignatureTest.Signature metadata full sign and verify,OK,5
-2632,net.corda.deterministic.crypto.TransactionSignatureTest.Signature metadata full failure clearData has changed,OK,3
-2633,net.corda.deterministic.crypto.TransactionSignatureTest.Verify multi-tx signature,OK,18
-2634,net.corda.deterministic.crypto.MerkleTreeTest.testCreate,OK,0
-2635,net.corda.deterministic.crypto.SecureHashTest.testConstants,OK,0
-2636,net.corda.deterministic.crypto.SecureHashTest.testConcat,OK,1
-2637,net.corda.deterministic.crypto.SecureHashTest.testPrefix,OK,0
-2638,net.corda.deterministic.crypto.SecureHashTest.testSHA256,OK,0
-2639,net.corda.finance.contracts.asset.CashTestsJava.trivial,OK,4307
-2640,net.corda.finance.contracts.CommercialPaperTestsGeneric.maturity date not in the past[0],OK,1210
-2641,net.corda.finance.contracts.CommercialPaperTestsGeneric.key mismatch at issue[0],OK,759
-2642,net.corda.finance.contracts.CommercialPaperTestsGeneric.issue move and then redeem[0],OK,9454
-2643,net.corda.finance.contracts.CommercialPaperTestsGeneric.issue cannot replace an existing state[0],OK,1638
-2644,net.corda.finance.contracts.CommercialPaperTestsGeneric.face value is not zero[0],OK,676
-2645,net.corda.finance.contracts.CommercialPaperTestsGeneric.trade lifecycle test[0],OK,3004
-2646,net.corda.finance.contracts.CommercialPaperTestsGeneric.maturity date not in the past[1],OK,874
-2647,net.corda.finance.contracts.CommercialPaperTestsGeneric.key mismatch at issue[1],OK,26
-2648,net.corda.finance.contracts.CommercialPaperTestsGeneric.issue move and then redeem[1],OK,2174
-2649,net.corda.finance.contracts.CommercialPaperTestsGeneric.issue cannot replace an existing state[1],OK,1269
-2650,net.corda.finance.contracts.CommercialPaperTestsGeneric.face value is not zero[1],OK,23
-2651,net.corda.finance.contracts.CommercialPaperTestsGeneric.trade lifecycle test[1],OK,2319
-2652,net.corda.finance.contracts.CommercialPaperTestsGeneric.maturity date not in the past[2],OK,26
-2653,net.corda.finance.contracts.CommercialPaperTestsGeneric.key mismatch at issue[2],OK,23
-2654,net.corda.finance.contracts.CommercialPaperTestsGeneric.issue move and then redeem[2],OK,1996
-2655,net.corda.finance.contracts.CommercialPaperTestsGeneric.issue cannot replace an existing state[2],OK,1517
-2656,net.corda.finance.contracts.CommercialPaperTestsGeneric.face value is not zero[2],OK,647
-2657,net.corda.finance.contracts.CommercialPaperTestsGeneric.trade lifecycle test[2],OK,2315
-2658,net.corda.finance.contracts.FinanceTypesTest.calendar test of modified following,OK,15
-2659,net.corda.finance.contracts.FinanceTypesTest.invalid tenor tests,OK,3
-2660,net.corda.finance.contracts.FinanceTypesTest.create a US UK calendar,OK,4
-2661,net.corda.finance.contracts.FinanceTypesTest.calendar test of previous,OK,1
-2662,net.corda.finance.contracts.FinanceTypesTest.valid tenor tests,OK,6
-2663,net.corda.finance.contracts.FinanceTypesTest.tenor days to maturity adjusted for holiday,OK,4
-2664,net.corda.finance.contracts.FinanceTypesTest.calendar date advancing,OK,1
-2665,net.corda.finance.contracts.FinanceTypesTest.schedule generator 1,OK,6
-2666,net.corda.finance.contracts.FinanceTypesTest.schedule generator 2,OK,1
-2667,net.corda.finance.contracts.FinanceTypesTest.create a UK calendar,OK,0
-2668,net.corda.finance.contracts.FinanceTypesTest.calendar test of modified previous,OK,1
-2669,net.corda.finance.contracts.FinanceTypesTest.calendar date preceeding,OK,1
-2670,net.corda.finance.contracts.FinanceTypesTest.calendar test of following,OK,1
-2671,net.corda.finance.contracts.FinanceTypesTest.calendar test of modified following pt 2,OK,1
-2672,net.corda.finance.contracts.asset.ObligationTests.summing balances due between parties,OK,2
-2673,net.corda.finance.contracts.asset.ObligationTests.multiCurrency,OK,849
-2674,net.corda.finance.contracts.asset.ObligationTests.testMergeSplit,OK,151
-2675,net.corda.finance.contracts.asset.ObligationTests.summing balances due between parties which net to zero,OK,1
-2676,net.corda.finance.contracts.asset.ObligationTests.generate settlement transaction,OK,720
-2677,net.corda.finance.contracts.asset.ObligationTests.generate close-out net transaction,OK,5
-2678,net.corda.finance.contracts.asset.ObligationTests.trivialMismatches,OK,1770
-2679,net.corda.finance.contracts.asset.ObligationTests.commodity settlement,OK,784
-2680,net.corda.finance.contracts.asset.ObligationTests.exit multiple product obligations,OK,144
-2681,net.corda.finance.contracts.asset.ObligationTests.generate payment net transaction,OK,4
-2682,net.corda.finance.contracts.asset.ObligationTests.trivial,OK,848
-2683,net.corda.finance.contracts.asset.ObligationTests.reject issuance with inputs,OK,9
-2684,net.corda.finance.contracts.asset.ObligationTests.zeroSizedValues,OK,119
-2685,net.corda.finance.contracts.asset.ObligationTests.generate set lifecycle,OK,42
-2686,net.corda.finance.contracts.asset.ObligationTests.multiIssuer,OK,127
-2687,net.corda.finance.contracts.asset.ObligationTests.extracting amounts due between parties from a list of states,OK,0
-2688,net.corda.finance.contracts.asset.ObligationTests.netting equal balances due between parties,OK,0
-2689,net.corda.finance.contracts.asset.ObligationTests.summing empty balances due between parties,OK,0
-2690,net.corda.finance.contracts.asset.ObligationTests.close-out netting,OK,3942
-2691,net.corda.finance.contracts.asset.ObligationTests.exit single product obligation,OK,79
-2692,net.corda.finance.contracts.asset.ObligationTests.payment default,OK,1684
-2693,net.corda.finance.contracts.asset.ObligationTests.adding two settlement contracts nets them,OK,1
-2694,net.corda.finance.contracts.asset.ObligationTests.netting difference balances due between parties,OK,1
-2695,net.corda.finance.contracts.asset.ObligationTests.payment netting,OK,179
-2696,net.corda.finance.contracts.asset.ObligationTests.cash settlement,OK,6367
-2697,net.corda.finance.contracts.asset.ObligationTests.issue debt,OK,2474
-2698,net.corda.finance.contracts.asset.ObligationTests.nettability of settlement contracts,OK,1
-2699,net.corda.finance.contracts.asset.ObligationTests.generate close-out net transaction with remainder,OK,4
-2700,net.corda.finance.contracts.asset.ObligationTests.generate payment net transaction with remainder,OK,5
-2701,net.corda.finance.contracts.asset.ObligationTests.states cannot be netted if not in the normal state,OK,0
-2702,net.corda.finance.contracts.asset.ObligationTests.extraction of issuance defintion,OK,0
-2703,net.corda.finance.contracts.asset.CashTests.generateOwnerWithNoStatesExit,OK,723
-2704,net.corda.finance.contracts.asset.CashTests.multiCurrency,OK,1355
-2705,net.corda.finance.contracts.asset.CashTests.generateAbsentExit,OK,643
-2706,net.corda.finance.contracts.asset.CashTests.generateIssueRaw,OK,600
-2707,net.corda.finance.contracts.asset.CashTests.exit cash not held by its issuer,OK,1564
-2708,net.corda.finance.contracts.asset.CashTests.testMergeSplit,OK,1422
-2709,net.corda.finance.contracts.asset.CashTests.generateSimpleSpendWithParties,OK,588
-2710,net.corda.finance.contracts.asset.CashTests.generateSimpleExit,OK,613
-2711,net.corda.finance.contracts.asset.CashTests.summing a single currency,OK,527
-2712,net.corda.finance.contracts.asset.CashTests.generateIssueFromAmount,OK,534
-2713,net.corda.finance.contracts.asset.CashTests.trivialMismatches,OK,1582
-2714,net.corda.finance.contracts.asset.CashTests.exit ledger with multiple issuers,OK,1620
-2715,net.corda.finance.contracts.asset.CashTests.trivial,OK,576
-2716,net.corda.finance.contracts.asset.CashTests.summing multiple currencies,OK,496
-2717,net.corda.finance.contracts.asset.CashTests.reject issuance with inputs,OK,531
-2718,net.corda.finance.contracts.asset.CashTests.zeroSizedValues,OK,1887
-2719,net.corda.finance.contracts.asset.CashTests.multiIssuer,OK,634
-2720,net.corda.finance.contracts.asset.CashTests.generateSpendTwiceWithinATransaction,OK,482
-2721,net.corda.finance.contracts.asset.CashTests.summing by owner throws,OK,435
-2722,net.corda.finance.contracts.asset.CashTests.generateInsufficientExit,OK,453
-2723,net.corda.finance.contracts.asset.CashTests.exitLedger,OK,1439
-2724,net.corda.finance.contracts.asset.CashTests.issue,OK,1163
-2725,net.corda.finance.contracts.asset.CashTests.generateExitWithEmptyVault,OK,485
-2726,net.corda.finance.contracts.asset.CashTests.summing by owner,OK,441
-2727,net.corda.finance.contracts.asset.CashTests.generateSimpleDirectSpend,OK,461
-2728,net.corda.finance.contracts.asset.CashTests.chainCashDoubleSpendFailsWith,OK,1154
-2729,net.corda.finance.contracts.asset.CashTests.generateSimpleSpendWithChange,OK,429
-2730,net.corda.finance.contracts.asset.CashTests.generateInvalidReferenceExit,OK,430
-2731,net.corda.finance.contracts.asset.CashTests.aggregation,OK,449
-2732,net.corda.finance.contracts.asset.CashTests.generatePartialExit,OK,422
-2733,net.corda.finance.contracts.asset.CashTests.generateSpendInsufficientBalance,OK,16180
-2734,net.corda.finance.contracts.asset.CashTests.multiSpend,OK,416
-2735,net.corda.finance.contracts.asset.CashTests.summing no currencies throws,OK,410
-2736,net.corda.finance.contracts.asset.CashTests.generateSpendMixedDeposits,OK,475
-2737,net.corda.finance.contracts.asset.CashTests.issue by move,OK,1466
-2738,net.corda.finance.contracts.asset.CashTests.summing no currencies,OK,430
-2739,net.corda.finance.contracts.asset.CashTests.generateSpendWithTwoInputs,OK,542
-2740,net.corda.finance.contracts.asset.CashTests.extended issue examples,OK,1389
-2741,net.corda.finance.contracts.asset.CashTests.twoMoves,OK,511
-2742,net.corda.finance.workflows.asset.selection.CashSelectionH2ImplTest.select pennies amount from cash states with more than two different issuers and expect change,OK,3598
-2743,net.corda.finance.workflows.asset.selection.CashSelectionH2ImplTest.check does not hold connection over retries,OK,9126
-2744,"net.corda.finance.workflows.asset.selection.CashSelectionH2ImplTest.selecting pennies amount larger than max int, which is split across multiple cash states",OK,1985
-2745,net.corda.finance.workflows.asset.selection.CashSelectionH2ImplTest.multiple issuers in issuerConstraint condition,OK,1566
-2746,net.corda.finance.CurrenciesTests.basic currency,OK,0
-2747,net.corda.finance.CurrenciesTests.parseCurrency,OK,1
-2748,net.corda.finance.CurrenciesTests.rendering,OK,0
-2749,net.corda.finance.flows.CompatibilityTest.issueCashTansactionReadTest,OK,33
-2750,net.corda.finance.flows.CashPaymentFlowTests.pay more than we have,OK,11086
-2751,net.corda.finance.flows.CashPaymentFlowTests.pay some cash,OK,3708
-2752,net.corda.finance.flows.CashPaymentFlowTests.pay zero cash,OK,10355
-2753,net.corda.finance.flows.CashIssueFlowTests.issue some cash,OK,1769
-2754,net.corda.finance.flows.CashIssueFlowTests.issue zero cash,OK,1083
-2755,net.corda.finance.flows.CashExitFlowTests.exit some cash,OK,2175
-2756,net.corda.finance.flows.CashExitFlowTests.exit zero cash,OK,9281
-2757,net.corda.finance.flows.CashSelectionTest.don't return extra coins if the selected amount has been reached,OK,1224
-2758,net.corda.finance.flows.CashSelectionTest.select cash states issued by single transaction and give change,OK,1565
-2759,net.corda.finance.flows.CashSelectionTest.unconsumed cash states,OK,1204
-2760,net.corda.finance.flows.CashSelectionTest.cash selection sees states added in the same transaction,OK,1220
-2761,net.corda.finance.internal.CashConfigDataFlowTest.issuable currencies read in from cordapp config,OK,382
-2762,CordaCapletBaseDirectoryParsingFailureTest.testThatBaseDirectoryFallsBackToCurrentWhenBaseDirectoryIsNotSupplied[0],OK,46
-2763,CordaCapletBaseDirectoryParsingFailureTest.testThatBaseDirectoryFallsBackToCurrentWhenBaseDirectoryIsNotSupplied[1],OK,1
-2764,CordaCapletBaseDirectoryParsingFailureTest.testThatBaseDirectoryFallsBackToCurrentWhenBaseDirectoryIsNotSupplied[2],OK,1
-2765,CordaCapletBaseDirectoryParsingFailureTest.testThatBaseDirectoryFallsBackToCurrentWhenBaseDirectoryIsNotSupplied[3],OK,1
-2766,CordaCapletBaseDirectoryParsingTest.testThatBaseDirectoryParameterIsRecognised[0],OK,0
-2767,CordaCapletBaseDirectoryParsingTest.testThatBaseDirectoryParameterIsRecognised[1],OK,0
-2768,CordaCapletBaseDirectoryParsingTest.testThatBaseDirectoryParameterIsRecognised[2],OK,1
-2769,CordaCapletBaseDirectoryParsingTest.testThatBaseDirectoryParameterIsRecognised[3],OK,1
-2770,CordaCapletConfigFileParsingFailureTest.testThatBaseDirectoryFallsBackToDefaultWhenConfigFileIsNotSupplied[0],OK,1
-2771,CordaCapletConfigFileParsingFailureTest.testThatBaseDirectoryFallsBackToDefaultWhenConfigFileIsNotSupplied[1],OK,0
-2772,CordaCapletConfigFileParsingFailureTest.testThatBaseDirectoryFallsBackToDefaultWhenConfigFileIsNotSupplied[2],OK,0
-2773,CordaCapletConfigFileParsingFailureTest.testThatBaseDirectoryFallsBackToDefaultWhenConfigFileIsNotSupplied[3],OK,1
-2774,CordaCapletConfigFileParsingTest.testThatConfigFileParameterIsRecognised[0],OK,1
-2775,CordaCapletConfigFileParsingTest.testThatConfigFileParameterIsRecognised[1],OK,1
-2776,CordaCapletConfigFileParsingTest.testThatConfigFileParameterIsRecognised[2],OK,0
-2777,CordaCapletConfigFileParsingTest.testThatConfigFileParameterIsRecognised[3],OK,1
-2778,net.corda.blobinspector.BlobInspectorTest.network-parameters file,OK,2500
-2779,net.corda.blobinspector.BlobInspectorTest.WireTransaction with Cash state,OK,611
-2780,net.corda.blobinspector.BlobInspectorTest.SignedTransaction with Cash state taken from node db,OK,189
-2781,net.corda.blobinspector.BlobInspectorTest.node-info file,OK,41
-2782,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when a package is specified in the network parameters file it is passed through to the bootstrapper,OK,1141
-2783,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when a package is specified in the network parameters file it is passed through to the bootstrapper DSA,OK,3
-2784,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when min platform version is invalid it fails to run with a sensible error message,OK,1
-2785,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when no copy flag is specified it is passed through to the bootstrapper,OK,3
-2786,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when max message size is invalid it fails to run with a sensible error message,OK,1
-2787,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when a network parameters is specified the values are passed through to the bootstrapper,OK,3
-2788,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when max transaction size is invalid it fails to run with a sensible error message,OK,0
-2789,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when packages overlap that the bootstrapper fails with a sensible message,OK,6
-2790,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when copy cordapps is specified it is passed through to the bootstrapper,OK,1
-2791,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when max message size is specified it is passed through to the bootstrapper,OK,2
-2792,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when event horizon is invalid it fails to run with a sensible error message,OK,0
-2793,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when a package is specified in the network parameters file it is passed through to the bootstrapper EC,OK,2
-2794,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when keyfile does not exist then bootstrapper fails with a sensible message,OK,0
-2795,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when min platform version is specified it is passed through to the bootstrapper,OK,1
-2796,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when defaults are run bootstrapper is called correctly,OK,1
-2797,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when base directory is specified it is passed through to the bootstrapper,OK,6
-2798,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when max transaction size is specified it is passed through to the bootstrapper,OK,1
-2799,net.corda.bootstrapper.NetworkBootstrapperRunnerTests.test when event horizon is specified it is passed through to the bootstrapper,OK,1
-2800,net.corda.bootstrapper.NetworkBootstrapperBackwardsCompatibilityTest.should always be backwards compatible,OK,712
-2801,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.test rpc port is max,OK,269
-2802,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.test matching name after validate,OK,59
-2803,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.test web port is max,OK,2
-2804,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.test unique nodes after validate,OK,2
-2805,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.test matching name after register,OK,1
-2806,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.register notary,OK,0
-2807,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.test H2 port is max,OK,0
-2808,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.test unique key after validate,OK,0
-2809,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.test register unique nodes,OK,0
-2810,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.dispose node,OK,0
-2811,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.test unique key after register,OK,0
-2812,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.register non notary,OK,0
-2813,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.test P2P port is max,OK,0
-2814,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.NodeControllerTest.test valid ports,OK,0
-2815,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.JVMConfigTest.test command for Jar,OK,0
-2816,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.JVMConfigTest.test application directory,OK,46
-2817,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.JVMConfigTest.test user home,OK,0
-2818,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.JVMConfigTest.test Java path,OK,1
-2819,net.corda.demobench.LoggingTestSuite: net.corda.demobench.model.JVMConfigTest.test process for Jar,OK,0
-2820,net.corda.demobench.model.NodeConfigTest.reading node configuration,OK,473
-2821,net.corda.demobench.model.NodeConfigTest.reading node configuration allows systemProperties and custom,OK,9
-2822,net.corda.demobench.model.NodeConfigTest.reading node configuration with currencies,OK,1
-2823,net.corda.demobench.model.NodeConfigTest.reading webserver configuration,OK,341
-2824,net.corda.demobench.model.JVMConfigTest.test command for Jar,OK,0
-2825,net.corda.demobench.model.JVMConfigTest.test application directory,OK,1
-2826,net.corda.demobench.model.JVMConfigTest.test user home,OK,0
-2827,net.corda.demobench.model.JVMConfigTest.test Java path,OK,0
-2828,net.corda.demobench.model.JVMConfigTest.test process for Jar,OK,0
-2829,net.corda.demobench.model.NodeControllerTest.test rpc port is max,OK,0
-2830,net.corda.demobench.model.NodeControllerTest.test matching name after validate,OK,1
-2831,net.corda.demobench.model.NodeControllerTest.test web port is max,OK,1
-2832,net.corda.demobench.model.NodeControllerTest.test unique nodes after validate,OK,1
-2833,net.corda.demobench.model.NodeControllerTest.test matching name after register,OK,1
-2834,net.corda.demobench.model.NodeControllerTest.register notary,OK,1
-2835,net.corda.demobench.model.NodeControllerTest.test H2 port is max,OK,1
-2836,net.corda.demobench.model.NodeControllerTest.test unique key after validate,OK,1
-2837,net.corda.demobench.model.NodeControllerTest.test register unique nodes,OK,1
-2838,net.corda.demobench.model.NodeControllerTest.dispose node,OK,1
-2839,net.corda.demobench.model.NodeControllerTest.test unique key after register,OK,0
-2840,net.corda.demobench.model.NodeControllerTest.register non notary,OK,2
-2841,net.corda.demobench.model.NodeControllerTest.test P2P port is max,OK,1
-2842,net.corda.demobench.model.NodeControllerTest.test valid ports,OK,0
-2843,net.corda.demobench.pty.ZeroFilterTest.zero is removed from array,OK,1026
-2844,net.corda.demobench.pty.ZeroFilterTest.zero is removed starting from offset,OK,0
-2845,net.corda.demobench.pty.ZeroFilterTest.zero is removed,OK,1
-2846,net.corda.demobench.pty.ZeroFilterTest.non-zero is OK,OK,1
-2847,net.corda.explorer.model.SettingsModelTest.test save config and rollback,OK,622
-2848,net.corda.explorer.views.GuiUtilitiesKtTest.test to string with suffix,OK,4
-2849,net.corda.tools.shell.InteractiveShellJavaTest.flowStartNoArgs,OK,920
-2850,net.corda.tools.shell.InteractiveShellJavaTest.party,OK,90
-2851,net.corda.tools.shell.InteractiveShellJavaTest.flowStartSimple,OK,23
-2852,net.corda.tools.shell.InteractiveShellJavaTest.unwrapLambda,OK,12
-2853,net.corda.tools.shell.InteractiveShellJavaTest.flowStartWithArrayType,OK,6
-2854,net.corda.tools.shell.InteractiveShellJavaTest.flowStartWithNestedTypes,OK,188
-2855,net.corda.tools.shell.InteractiveShellJavaTest.flowStartWithUserAmount,OK,9
-2856,net.corda.tools.shell.InteractiveShellJavaTest.flowStartWithUnknownParty,OK,7
-2857,net.corda.tools.shell.InteractiveShellJavaTest.flowTooManyParams,OK,4
-2858,net.corda.tools.shell.InteractiveShellJavaTest.flowStartWithArrayOfNestedType,OK,12
-2859,net.corda.tools.shell.InteractiveShellJavaTest.niceErrors,OK,5
-2860,net.corda.tools.shell.InteractiveShellJavaTest.flowMissingParam,OK,2
-2861,net.corda.tools.shell.InteractiveShellJavaTest.flowStartWithComplexTypes,OK,6
-2862,net.corda.tools.shell.OutputFormatCommandTest.testValidUpdateToJson,OK,352
-2863,net.corda.tools.shell.OutputFormatCommandTest.testValidUpdateToYaml,OK,0
-2864,net.corda.tools.shell.OutputFormatCommandTest.testInvalidUpdate,OK,85
-2865,net.corda.tools.shell.CustomTypeJsonParsingTests.Deserializing by parsing string contain invalid uuid with underscore,OK,19
-2866,net.corda.tools.shell.CustomTypeJsonParsingTests.Deserializing UniqueIdentifier by parsing string with underscore,OK,7
-2867,net.corda.tools.shell.CustomTypeJsonParsingTests.Deserializing UUID by parsing invalid uuid string,OK,13
-2868,net.corda.tools.shell.CustomTypeJsonParsingTests.Deserializing UUID by parsing string,OK,1
-2869,net.corda.tools.shell.CustomTypeJsonParsingTests.Deserializing UniqueIdentifier by parsing string,OK,2
-2870,net.corda.tools.shell.InteractiveShellTest.killFlowFailure,OK,271
-2871,net.corda.tools.shell.InteractiveShellTest.killFlowWithNonsenseID,OK,3
-2872,net.corda.tools.shell.InteractiveShellTest.niceTypeNamesInErrors,OK,39
-2873,net.corda.tools.shell.InteractiveShellTest.runRpcFromStringWithCustomTypeResult,OK,516
-2874,net.corda.tools.shell.InteractiveShellTest.runRpcFromStringWithCollectionsResult,OK,14
-2875,net.corda.tools.shell.InteractiveShellTest.flowStartWithArrayOfNestedTypes,OK,14
-2876,net.corda.tools.shell.InteractiveShellTest.flowStartNoArgs,OK,2
-2877,net.corda.tools.shell.InteractiveShellTest.party,OK,2
-2878,net.corda.tools.shell.InteractiveShellTest.flowStartSimple,OK,5
-2879,net.corda.tools.shell.InteractiveShellTest.flowStartWithArrayType,OK,2
-2880,net.corda.tools.shell.InteractiveShellTest.flowStartWithNestedTypes,OK,7
-2881,net.corda.tools.shell.InteractiveShellTest.flowStartWithUserAmount,OK,5
-2882,net.corda.tools.shell.InteractiveShellTest.flowTooManyParams,OK,2
-2883,net.corda.tools.shell.InteractiveShellTest.flowMissingParam,OK,2
-2884,net.corda.tools.shell.InteractiveShellTest.killFlowSuccess,OK,1
-2885,net.corda.tools.shell.InteractiveShellTest.flowStartWithComplexTypes,OK,4
-2886,net.corda.tools.shell.utilities.ANSIProgressRendererTest.test that steps are rendered appropriately depending on their status,OK,96
-2887,net.corda.tools.shell.utilities.ANSIProgressRendererTest.changing tree causes correct steps to be marked as done,OK,4
-2888,net.corda.tools.shell.utilities.ANSIProgressRendererTest.duplicate steps in different children handled correctly,OK,4
-2889,net.corda.tools.shell.StandaloneShellCompatibilityTest.should always be backwards compatible,OK,976
-2890,net.corda.tools.shell.StandaloneShellArgsParserTest.cmd_options_to_config_from_file,OK,923
-2891,net.corda.tools.shell.StandaloneShellArgsParserTest.empty_args_to_cmd_options,OK,0
-2892,net.corda.tools.shell.StandaloneShellArgsParserTest.cmd_options_override_config_from_file,OK,11
-2893,net.corda.tools.shell.StandaloneShellArgsParserTest.args_to_config,OK,8
-2894,net.corda.worldmap.CityDatabaseTest.lookups,OK,80
-2895,net.corda.irs.web.IrsDemoWebApplicationTests.contextLoads,OK,7
-2896,net.corda.configsample.TestCommsFlowInitiatorTest.should allow all node infos through if no x500 is passed,OK,1024
-2897,net.corda.configsample.TestCommsFlowInitiatorTest.should allow only specified x500 if no x500 is passed,OK,0
-2898,net.corda.traderdemo.flow.TransactionGraphSearchTests.return empty from no match,OK,2765
-2899,net.corda.traderdemo.flow.TransactionGraphSearchTests.return origin on match,OK,137
-2900,net.corda.traderdemo.flow.TransactionGraphSearchTests.return empty from empty,OK,79
-2901,net.corda.irs.contract.IRSTests.ensure notionals are non zero,OK,2579
-2902,net.corda.irs.contract.IRSTests.ensure failure occurs when no events in floating schedule,OK,1547
-2903,net.corda.irs.contract.IRSTests.pprintIRS,OK,710
-2904,net.corda.irs.contract.IRSTests.ok with groups,OK,1819
-2905,net.corda.irs.contract.IRSTests.ensure notional amounts are equal,OK,1564
-2906,net.corda.irs.contract.IRSTests.expression calculation testing,OK,772
-2907,net.corda.irs.contract.IRSTests.ensure trade date and termination date checks are done pt1,OK,1487
-2908,net.corda.irs.contract.IRSTests.ensure trade date and termination date checks are done pt2,OK,1271
-2909,net.corda.irs.contract.IRSTests.ensure positive rate on fixed leg,OK,1430
-2910,net.corda.irs.contract.IRSTests.ensure failure occurs when there are inbound states for an agreement command,OK,1266
-2911,net.corda.irs.contract.IRSTests.ensure same currency notionals,OK,1387
-2912,net.corda.irs.contract.IRSTests.ok,OK,1370
-2913,net.corda.irs.contract.IRSTests.ensure failure occurs when no events in fix schedule,OK,1417
-2914,net.corda.irs.contract.IRSTests.various fixing tests,OK,1412
-2915,net.corda.irs.contract.IRSTests.IRS Export test,OK,815
-2916,net.corda.irs.contract.IRSTests.generateIRS,OK,632
-2917,net.corda.irs.contract.IRSTests.next fixing date,OK,659
-2918,net.corda.irs.contract.IRSTests.generateIRSandFixSome,OK,1202
-2919,net.corda.irs.contract.IRSTests.test some rate objects 100 * FixedRate(5%),OK,3
-2920,net.corda.irs.math.InterpolatorsTest.cubic interpolator throws when data set is less than 3 points,OK,78
-2921,net.corda.irs.math.InterpolatorsTest.cubic interpolator throws when key to interpolate is outside the data set,OK,45
-2922,net.corda.irs.math.InterpolatorsTest.cubic interpolator interpolates missing values correctly,OK,17
-2923,net.corda.irs.math.InterpolatorsTest.cubic interpolator returns existing value when key is in data set,OK,4
-2924,net.corda.irs.math.InterpolatorsTest.linear interpolator throws when data set is less than 2 points,OK,4
-2925,net.corda.irs.math.InterpolatorsTest.linear interpolator throws when key to interpolate is outside the data set,OK,2
-2926,net.corda.irs.math.InterpolatorsTest.linear interpolator interpolates missing values correctly,OK,0
-2927,net.corda.irs.math.InterpolatorsTest.linear interpolator returns existing value when key is in data set,OK,0
-2928,net.corda.irs.api.OracleNodeTearOffTests.verify that the oracle signs the transaction if the interest rate within allowed limit,OK,17692
-2929,net.corda.irs.api.OracleNodeTearOffTests.verify that the oracle rejects the transaction if there is a privacy leak,OK,2582
-2930,net.corda.irs.api.OracleNodeTearOffTests.verify that the oracle rejects the transaction if the interest rate is outside the allowed limit,OK,2101
-2931,net.corda.irs.api.NodeInterestRatesTest.empty partial transaction to sign,OK,436
-2932,net.corda.irs.api.NodeInterestRatesTest.query successfully with interpolated rate,OK,350
-2933,net.corda.irs.api.NodeInterestRatesTest.sign successfully,OK,378
-2934,net.corda.irs.api.NodeInterestRatesTest.rate missing and unable to interpolate,OK,353
-2935,net.corda.irs.api.NodeInterestRatesTest.refuse to sign with no relevant commands,OK,361
-2936,net.corda.irs.api.NodeInterestRatesTest.do not sign with unknown fix,OK,374
-2937,net.corda.irs.api.NodeInterestRatesTest.empty query,OK,348
-2938,net.corda.irs.api.NodeInterestRatesTest.query successfully,OK,316
-2939,net.corda.irs.api.NodeInterestRatesTest.do not sign too many leaves,OK,335
-2940,net.corda.irs.api.NodeInterestRatesTest.query with one success and one missing,OK,309
-2941,net.corda.docs.java.tutorial.test.TutorialFlowAsyncOperationTest.summingWorks,OK,26323
-2942,net.corda.docs.java.tutorial.test.JavaIntegrationTestingTutorial.aliceBobCashExchangeExample,OK,23951
-2943,net.corda.docs.kotlin.tutorial.test.TutorialFlowAsyncOperationTest.summingWorks,OK,7381
-2944,net.corda.docs.kotlin.tutorial.test.KotlinIntegrationTestingTutorial.alice bob cash exchange example,OK,12411
-2945,net.corda.serialization.reproduction.GenericReturnFailureReproductionIntegrationTest.flowShouldReturnGenericList,OK,26058
-2946,net.corda.services.messaging.MQSecurityAsRPCTest.send message on logged in user's RPC address,OK,3973
-2947,net.corda.services.messaging.MQSecurityAsRPCTest.consume message from P2P queue,OK,3424
-2948,net.corda.services.messaging.MQSecurityAsRPCTest.create queue for peer which has not been communicated with,OK,4340
-2949,net.corda.services.messaging.MQSecurityAsRPCTest.create queue for unknown peer,OK,3324
-2950,net.corda.services.messaging.MQSecurityAsRPCTest.consume message from peer queue,OK,4594
-2951,net.corda.services.messaging.MQSecurityAsRPCTest.consume message from RPC requests queue,OK,3277
-2952,net.corda.services.messaging.MQSecurityAsRPCTest.consume message from logged in user's RPC queue,OK,3107
-2953,net.corda.services.messaging.MQSecurityAsRPCTest.send message to address of peer which has been communicated with,OK,4117
-2954,net.corda.services.messaging.MQSecurityAsRPCTest.create random queue,OK,3127
-2955,net.corda.services.messaging.MQSecurityAsRPCTest.send message to notifications address,OK,3118
-2956,net.corda.services.messaging.MQSecurityAsRPCTest.create queue for invalid RPC user,OK,3113
-2957,net.corda.services.messaging.MQSecurityAsRPCTest.create queue for valid RPC user,OK,3201
-2958,net.corda.services.messaging.MQSecurityAsRPCTest.create random internal queue,OK,2996
-2959,net.corda.services.messaging.P2PMessagingTest.communicating with a distributed service which we're part of,OK,6838
-2960,net.corda.services.messaging.AdditionP2PAddressModeTest.runs nodes with one configured to use additionalP2PAddresses,OK,15039
-2961,net.corda.services.messaging.MQSecurityAsNodeTest.login to a non ssl port as a peer user,OK,3093
-2962,net.corda.services.messaging.MQSecurityAsNodeTest.login without a username and password,OK,3017
-2963,net.corda.services.messaging.MQSecurityAsNodeTest.only the node running the broker can login using the special P2P node user,OK,3027
-2964,net.corda.services.messaging.MQSecurityAsNodeTest.login with invalid certificate chain,OK,3045
-2965,net.corda.services.messaging.MQSecurityAsNodeTest.login as the default cluster user,OK,3067
-2966,net.corda.services.messaging.MQSecurityAsNodeTest.login to a non ssl port as a node user,OK,3020
-2967,net.corda.services.messaging.MQSecurityAsNodeTest.send message to RPC requests address,OK,2968
-2968,net.corda.services.messaging.MQSecurityAsNodeTest.consume message from P2P queue,OK,2959
-2969,net.corda.services.messaging.MQSecurityAsNodeTest.create queue for peer which has not been communicated with,OK,3580
-2970,net.corda.services.messaging.MQSecurityAsNodeTest.create queue for unknown peer,OK,2952
-2971,net.corda.services.messaging.MQSecurityAsNodeTest.consume message from peer queue,OK,3707
-2972,net.corda.services.messaging.MQSecurityAsNodeTest.consume message from RPC requests queue,OK,3086
-2973,net.corda.services.messaging.MQSecurityAsNodeTest.consume message from logged in user's RPC queue,OK,2997
-2974,net.corda.services.messaging.MQSecurityAsNodeTest.send message to address of peer which has been communicated with,OK,3588
-2975,net.corda.services.messaging.MQSecurityAsNodeTest.create random queue,OK,2919
-2976,net.corda.services.messaging.MQSecurityAsNodeTest.send message to notifications address,OK,2879
-2977,net.corda.services.messaging.MQSecurityAsNodeTest.create queue for invalid RPC user,OK,2910
-2978,net.corda.services.messaging.MQSecurityAsNodeTest.create queue for valid RPC user,OK,2820
-2979,net.corda.services.messaging.MQSecurityAsNodeTest.create random internal queue,OK,2879
-2980,net.corda.contracts.SignatureConstraintMigrationFromHashConstraintsTests.HashConstraint cannot be migrated to SignatureConstraint if platform version is not 4 or greater,OK,39095
-2981,net.corda.contracts.SignatureConstraintMigrationFromHashConstraintsTests.HashConstraint cannot be migrated to SignatureConstraint if a HashConstraint is specified for one state and another uses an AutomaticPlaceholderConstraint,OK,38888
-2982,net.corda.contracts.SignatureConstraintMigrationFromHashConstraintsTests.auto migration from HashConstraint to SignatureConstraint,OK,37801
-2983,net.corda.contracts.SignatureConstraintMigrationFromHashConstraintsTests.can evolve from lower contract class version to higher one,OK,72355
-2984,net.corda.contracts.SignatureConstraintMigrationFromHashConstraintsTests.HashConstraint cannot be migrated to SignatureConstraint if new jar is not signed,OK,37730
-2985,net.corda.contracts.SignatureConstraintMigrationFromHashConstraintsTests.HashConstraint cannot be migrated if 'disableHashConstraints' system property is not set to true,OK,37798
-2986,net.corda.contracts.SignatureConstraintMigrationFromWhitelistConstraintTests.WhitelistConstraint cannot be migrated to SignatureConstraint if signed JAR is not whitelisted,OK,6676
-2987,net.corda.contracts.SignatureConstraintMigrationFromWhitelistConstraintTests.auto migration from WhitelistConstraint to SignatureConstraint will only transition states that do not have a constraint specified,OK,71465
-2988,net.corda.contracts.SignatureConstraintMigrationFromWhitelistConstraintTests.WhitelistConstraint cannot be migrated to SignatureConstraint if platform version is not 4 or greater,OK,37426
-2989,net.corda.contracts.SignatureConstraintMigrationFromWhitelistConstraintTests.can evolve from lower contract class version to higher one,OK,41348
-2990,net.corda.contracts.SignatureConstraintMigrationFromWhitelistConstraintTests.auto migration from WhitelistConstraint to SignatureConstraint,OK,37735
-2991,net.corda.node.services.events.ScheduledFlowIntegrationTests.test that when states are being spent at the same time that schedules trigger everything is processed,OK,35856
-2992,net.corda.node.services.rpc.RpcExceptionHandlingTest.FlowException is received by the RPC client,OK,7719
-2993,net.corda.node.services.rpc.RpcExceptionHandlingTest.rpc client receives relevant exceptions,OK,2904
-2994,net.corda.node.services.rpc.RpcExceptionHandlingTest.rpc client handles exceptions thrown on counter-party side,OK,14177
-2995,net.corda.node.services.rpc.RpcExceptionHandlingTest.rpc client receives client-relevant message,OK,7062
-2996,net.corda.node.services.rpc.RpcSslTest.RPC client using ssl is able to run a command,OK,2995
-2997,net.corda.node.services.rpc.RpcSslTest.RPC client using ssl will fail if connecting to a node that cannot present a matching certificate,OK,3002
-2998,net.corda.node.services.rpc.RpcSslTest.The system RPC user can not connect to the rpc broker without the node's key,OK,2913
-2999,net.corda.node.services.rpc.RpcSslTest.RPC client not using ssl can run commands,OK,2893
-3000,net.corda.node.services.rpc.NodeHandleTests.object_defined_functions_are_static_for_node_rpc_ops,OK,19088
-3001,net.corda.node.services.rpc.ArtemisRpcTests.rpc_with_no_ssl_on_client_side_and_ssl_on_server_side,OK,30242
-3002,net.corda.node.services.rpc.ArtemisRpcTests.rpc_with_ssl_disabled,OK,357
-3003,net.corda.node.services.rpc.ArtemisRpcTests.rpc_with_ssl_enabled,OK,162
-3004,net.corda.node.services.rpc.ArtemisRpcTests.rpc_client_certificate_untrusted_to_server,OK,95
-3005,net.corda.node.services.CordaServiceFlowTests.corda service can start a flow and wait for it,OK,9802
-3006,net.corda.node.services.AttachmentLoadingTests.contract is executed if installed locally,OK,38236
-3007,net.corda.node.services.AttachmentLoadingTests.contracts downloaded from the network are not executed without the DJVM,OK,35237
-3008,net.corda.node.services.messaging.ArtemisMessagingTest.client should fail if message exceed maxMessageSize limit,OK,3603
-3009,net.corda.node.services.messaging.ArtemisMessagingTest.client should throw if remote server not found,OK,660
-3010,net.corda.node.services.messaging.ArtemisMessagingTest.client should connect to local server,OK,905
-3011,net.corda.node.services.messaging.ArtemisMessagingTest.client should connect to remote server,OK,884
-3012,net.corda.node.services.messaging.ArtemisMessagingTest.client should be able to send message to itself,OK,918
-3013,net.corda.node.services.messaging.ArtemisMessagingTest.server should not process if incoming message exceed maxMessageSize limit,OK,31097
-3014,net.corda.node.services.messaging.ArtemisMessagingTest.platform version is included in the message,OK,690
-3015,net.corda.node.services.messaging.ArtemisMessagingTest.server starting with the port already bound should throw,OK,522
-3016,"net.corda.node.services.network.NetworkMapTest.nodes process additions and removals from the network map correctly(and also download the network parameters)[(java.net.URL, net.corda.testing.node.internal.network.NetworkMapServer) -> net.corda.testing.node.internal.SharedCompatibilityZoneParams]",OK,29061
-3017,"net.corda.node.services.network.NetworkMapTest.test node heartbeat[(java.net.URL, net.corda.testing.node.internal.network.NetworkMapServer) -> net.corda.testing.node.internal.SharedCompatibilityZoneParams]",OK,13867
-3018,"net.corda.node.services.network.NetworkMapTest.parameters update test[(java.net.URL, net.corda.testing.node.internal.network.NetworkMapServer) -> net.corda.testing.node.internal.SharedCompatibilityZoneParams]",OK,14226
-3019,"net.corda.node.services.network.NetworkMapTest.nodes process additions and removals from the network map correctly(and also download the network parameters)[(java.net.URL, net.corda.testing.node.internal.network.NetworkMapServer) -> net.corda.testing.node.internal.SplitCompatibilityZoneParams]",OK,27206
-3020,"net.corda.node.services.network.NetworkMapTest.test node heartbeat[(java.net.URL, net.corda.testing.node.internal.network.NetworkMapServer) -> net.corda.testing.node.internal.SplitCompatibilityZoneParams]",OK,13978
-3021,"net.corda.node.services.network.NetworkMapTest.parameters update test[(java.net.URL, net.corda.testing.node.internal.network.NetworkMapServer) -> net.corda.testing.node.internal.SplitCompatibilityZoneParams]",OK,14567
-3022,net.corda.node.services.network.PersistentNetworkMapCacheTest.addNode,OK,88
-3023,net.corda.node.services.network.PersistentNetworkMapCacheTest.get nodes by owning key and by name,OK,102
-3024,net.corda.node.services.network.PersistentNetworkMapCacheTest.get nodes by address,OK,71
-3025,net.corda.node.services.network.PersistentNetworkMapCacheTest.unknown legal name,OK,95
-3026,net.corda.node.services.network.PersistentNetworkMapCacheTest.insert two node infos with the same host and port,OK,95
-3027,net.corda.node.services.network.PersistentNetworkMapCacheTest.nodes in distributed service,OK,112
-3028,net.corda.node.services.statemachine.FlowVersioningTest.getFlowContext returns the platform version for core flows,OK,4944
-3029,net.corda.node.services.statemachine.HardRestartTest.restartShortPingPongFlowRandomly,OK,30249
-3030,net.corda.node.services.statemachine.HardRestartTest.restartLongPingPongFlowRandomly,OK,31751
-3031,net.corda.node.services.statemachine.HardRestartTest.restartRecursiveFlowRandomly,OK,36669
-3032,net.corda.node.services.statemachine.HardRestartTest.softRestartLongPingPongFlowRandomly,OK,35796
-3033,net.corda.node.services.statemachine.LargeTransactionsTest.checkCanSendLargeTransactions,OK,15503
-3034,net.corda.node.CordappScanningDriverTest.sub-classed initiated flow pointing to the same initiating flow as its super-class,OK,28704
-3035,net.corda.node.AddressBindingFailureTests.rpc admin address,OK,5620
-3036,net.corda.node.AddressBindingFailureTests.rpc address,OK,1006
-3037,net.corda.node.AddressBindingFailureTests.notary P2P address,OK,7090
-3038,net.corda.node.AddressBindingFailureTests.H2 address,OK,198
-3039,net.corda.node.AddressBindingFailureTests.p2p address,OK,889
-3040,net.corda.node.logging.ErrorCodeLoggingTests.log entries with a throwable and ERROR or WARN get an error code appended,OK,12212
-3041,"net.corda.node.logging.ErrorCodeLoggingTests.When logging is set to error level, there are no other levels logged after node startup",OK,11819
-3042,net.corda.node.AuthDBTests.login with correct credentials[password encryption format = NONE],OK,5928
-3043,net.corda.node.AuthDBTests.check permissions on RPC calls are respected[password encryption format = NONE],OK,4080
-3044,net.corda.node.AuthDBTests.login with wrong credentials[password encryption format = NONE],OK,3930
-3045,net.corda.node.AuthDBTests.check flow permissions are respected[password encryption format = NONE],OK,4182
-3046,net.corda.node.AuthDBTests.Add new users dynamically[password encryption format = NONE],OK,3696
-3047,net.corda.node.AuthDBTests.Revoke user permissions during RPC session[password encryption format = NONE],OK,5248
-3048,net.corda.node.AuthDBTests.Modify user permissions during RPC session[password encryption format = NONE],OK,5263
-3049,net.corda.node.AuthDBTests.login with correct credentials[password encryption format = SHIRO_1_CRYPT],OK,4783
-3050,net.corda.node.AuthDBTests.check permissions on RPC calls are respected[password encryption format = SHIRO_1_CRYPT],OK,4797
-3051,net.corda.node.AuthDBTests.login with wrong credentials[password encryption format = SHIRO_1_CRYPT],OK,4937
-3052,net.corda.node.AuthDBTests.check flow permissions are respected[password encryption format = SHIRO_1_CRYPT],OK,4752
-3053,net.corda.node.AuthDBTests.Add new users dynamically[password encryption format = SHIRO_1_CRYPT],OK,4858
-3054,net.corda.node.AuthDBTests.Revoke user permissions during RPC session[password encryption format = SHIRO_1_CRYPT],OK,6239
-3055,net.corda.node.AuthDBTests.Modify user permissions during RPC session[password encryption format = SHIRO_1_CRYPT],OK,6218
-3056,net.corda.node.modes.draining.P2PFlowsDrainingModeTest.disabling draining mode cancels draining shutdown,OK,29899
-3057,net.corda.node.modes.draining.P2PFlowsDrainingModeTest.terminate resets persistent draining mode property when waiting for pending flows,OK,21009
-3058,net.corda.node.modes.draining.P2PFlowsDrainingModeTest.terminate node waiting for pending flows,OK,22456
-3059,net.corda.node.modes.draining.P2PFlowsDrainingModeTest.flows draining mode suspends consumption of initial session messages,OK,29262
-3060,net.corda.node.modes.draining.RpcFlowsDrainingModeTest.flows draining mode rejects start flows commands through rpc,OK,11724
-3061,net.corda.node.modes.draining.FlowsDrainingModeContentionTest.draining mode does not deadlock with acks between 2 nodes,OK,13575
-3062,net.corda.node.BootTests.double node start doesn't write into log file,OK,12972
-3063,net.corda.node.BootTests.node fails to start if legal identity is lost,OK,50734
-3064,net.corda.node.BootTests.java deserialization is disabled,OK,38914
-3065,net.corda.node.amqp.ProtonWrapperTests.Send a message from AMQP to Artemis inbox,OK,6152
-3066,net.corda.node.amqp.ProtonWrapperTests.Message sent from AMQP to non-existent Artemis inbox is rejected and client disconnects,OK,5433
-3067,net.corda.node.amqp.ProtonWrapperTests.Client Failover for multiple IP,OK,9816
-3068,net.corda.node.amqp.ProtonWrapperTests.shared AMQPClient threadpool tests,OK,4618
-3069,net.corda.node.amqp.ProtonWrapperTests.AMPQ Client fails to connect when crl soft fail check is disabled,OK,4492
-3070,net.corda.node.amqp.ProtonWrapperTests.Test AMQP Client with invalid root certificate,OK,2296
-3071,net.corda.node.amqp.ProtonWrapperTests.Send a message larger then maxMessageSize from AMQP to Artemis inbox,OK,5470
-3072,net.corda.node.amqp.ProtonWrapperTests.Simple AMPQ Client to Server,OK,4477
-3073,net.corda.node.amqp.ProtonWrapperTests.AMPQ Client refuses to connect to unexpected server,OK,4504
-3074,net.corda.node.amqp.AMQPBridgeTest.test acked and nacked messages,OK,5871
-3075,net.corda.node.amqp.AMQPBridgeTest.bridge with strict CRL checking does not connect to server with invalid certificates,OK,5605
-3076,net.corda.node.amqp.CertificateRevocationListNodeTests.AMPQ Client to Server connection succeeds when CRL retrieval is forbidden and soft fail is enabled,OK,10202
-3077,net.corda.node.amqp.CertificateRevocationListNodeTests.AMPQ Client to Server connection fails when client's certificate is revoked and soft fail is disabled,OK,4662
-3078,net.corda.node.amqp.CertificateRevocationListNodeTests.Revocation status chceck fails when the CRL distribution point is not set and soft fail is disabled,OK,4587
-3079,net.corda.node.amqp.CertificateRevocationListNodeTests.AMPQ Client to Server connection fails when servers's certificate is revoked,OK,4648
-3080,net.corda.node.amqp.CertificateRevocationListNodeTests.AMPQ Client to Server connection succeeds when CRL cannot be obtained and soft fail is enabled,OK,4591
-3081,net.corda.node.amqp.CertificateRevocationListNodeTests.Revocation status chceck succeds when the CRL distribution point is not set and soft fail is enabled,OK,4538
-3082,net.corda.node.amqp.CertificateRevocationListNodeTests.AMPQ Client to Server connection fails when servers's certificate is revoked and soft fail is enabled,OK,4542
-3083,net.corda.node.amqp.CertificateRevocationListNodeTests.Simple AMPQ Client to Server connection works and soft fail is disabled,OK,4624
-3084,net.corda.node.amqp.CertificateRevocationListNodeTests.Simple AMPQ Client to Server connection works and soft fail is enabled,OK,4578
-3085,net.corda.node.amqp.CertificateRevocationListNodeTests.AMPQ Client to Server connection fails when client's certificate is revoked and soft fail is enabled,OK,4545
-3086,net.corda.node.amqp.CertificateRevocationListNodeTests.verify CRL algorithms,OK,102
-3087,net.corda.node.CordappConstraintsTests.issue cash using hash and signature constraints,OK,40301
-3088,net.corda.node.CordappConstraintsTests.issue cash using signature constraints,OK,26019
-3089,net.corda.node.CordappConstraintsTests.issue and consume cash using hash constraints,OK,39813
-3090,net.corda.node.CordappConstraintsTests.issue and consume cash using signature constraints,OK,39578
-3091,net.corda.node.CordappConstraintsTests.issue cash and transfer using hash to signature constraints migration,Ignored,0
-3092,net.corda.node.persistence.DbSchemaInitialisationTest.database is not initialised,OK,9445
-3093,net.corda.node.persistence.DbSchemaInitialisationTest.database is initialised,OK,8586
-3094,net.corda.node.persistence.H2SecurityTests.h2 server on the external host IP requires non-default database password,OK,90
-3095,net.corda.node.persistence.H2SecurityTests.malicious flow tries to enable remote code execution via h2 server,OK,12115
-3096,net.corda.node.persistence.H2SecurityTests.h2 server starts when h2Settings are set,OK,3570
-3097,net.corda.node.persistence.H2SecurityTests.h2 server on host name requires non-blank database password,OK,79
-3098,net.corda.node.persistence.H2SecurityTests.remote code execution via h2 server is disabled,OK,11935
-3099,net.corda.node.persistence.H2SecurityTests.h2 server on external host IP requires non-blank database password,OK,99
-3100,net.corda.node.persistence.H2SecurityTests.h2 server on the host name requires non-default database password,OK,72
-3101,net.corda.node.persistence.H2SecurityTests.h2 server to loopback IP runs with the default database password,OK,3401
-3102,net.corda.node.persistence.H2SecurityTests.h2 server on localhost runs with the default database password,OK,11674
-3103,net.corda.node.NodeRPCTests.run nodeDiagnosticInfo,Ignored,0
-3104,net.corda.node.flows.FlowOverrideTests.should use the overriden implementation of a responding flow,OK,12144
-3105,net.corda.node.flows.FlowOverrideTests.should use the most specific implementation of a responding flow,OK,11863
-3106,net.corda.node.flows.FlowRetryTest.flow that throws in constructor throw for the RPC client that attempted to start them,OK,3309
-3107,net.corda.node.flows.FlowRetryTest.flows continue despite errors,OK,16499
-3108,net.corda.node.flows.FlowRetryTest.async operation deduplication id is stable accross retries,OK,3224
-3109,net.corda.node.flows.FlowRetryTest.SQLTransientConnectionExceptions thrown by hikari are retried 3 times and then kept in the checkpoints table,OK,20500
-3110,net.corda.node.flows.FlowRetryTest.General external exceptions are not retried and propagate,OK,10622
-3111,"net.corda.node.flows.FlowRetryTest.flow gives up after number of exceptions, even if this is the first line of the flow",OK,3122
-3112,net.corda.node.flows.FlowRetryTest.Specific exception still detected even if it is nested inside another exception,OK,20608
-3113,net.corda.node.NodeStartupPerformanceTests.single node startup time,Ignored,0
-3114,net.corda.node.NodeKeystoreCheckTest.node should throw exception if cert path does not chain to the trust root,OK,5115
-3115,net.corda.node.NodeKeystoreCheckTest.starting node in non-dev mode with no key store,OK,284
-3116,net.corda.node.NodePerformanceTests.empty flow per second,Ignored,0
-3117,net.corda.node.NodePerformanceTests.empty flow rate,Ignored,0
-3118,net.corda.node.NodePerformanceTests.self pay rate,Ignored,0
-3119,net.corda.testing.driver.DriverTests.simple node startup and shutdown,OK,16781
-3120,net.corda.testing.driver.DriverTests.debug mode enables debug logging level,OK,13401
-3121,net.corda.testing.driver.DriverTests.monitoring mode enables jolokia exporting of JMX metrics via HTTP JSON,OK,12647
-3122,net.corda.testing.driver.DriverTests.driver allows reusing names of nodes that have been stopped,OK,44177
-3123,"net.corda.testing.driver.DriverTests.started node, which is not waited for in the driver, is shutdown when the driver exits",OK,11358
-3124,net.corda.testing.driver.DriverTests.default notary is visible when the startNode future completes,OK,22180
-3125,net.corda.testing.driver.DriverTests.driver waits for in-process nodes to finish,OK,64924
-3126,net.corda.testing.driver.DriverTests.driver rejects multiple nodes with the same organisation name,OK,3071
-3127,net.corda.testing.driver.DriverTests.starting with default notary,OK,11403
-3128,net.corda.testing.driver.DriverTests.driver rejects multiple nodes with the same name parallel,OK,6539
-3129,net.corda.testing.node.FlowStackSnapshotTest.persistFlowStackSnapshot stack traces are aligned with stack objects,Ignored,0
-3130,net.corda.testing.node.FlowStackSnapshotTest.flowStackSnapshot object is serializable,Ignored,0
-3131,net.corda.testing.node.FlowStackSnapshotTest.persistFlowStackSnapshot persists empty frames to a file when methods with no side effects are called,Ignored,1
-3132,net.corda.testing.node.FlowStackSnapshotTest.flowStackSnapshot contains full frames when methods with side effects are called,Ignored,0
-3133,net.corda.testing.node.FlowStackSnapshotTest.persistFlowStackSnapshot persists multiple snapshots in different files,Ignored,0
-3134,net.corda.testing.node.FlowStackSnapshotTest.flowStackSnapshot contains empty frames when methods with no side effects are called,Ignored,0
-3135,net.corda.testing.node.MockNetworkIntegrationTests.does not leak non-daemon threads,OK,14957
-3136,net.corda.testing.node.internal.InternalMockNetworkIntegrationTests.does not leak non-daemon threads,OK,15378
-3137,net.corda.testing.node.internal.ProcessUtilitiesTests.test dummy process can be started,OK,218
-3138,net.corda.client.rpc.CordaRPCJavaClientTest.testLogin,OK,17894
-3139,net.corda.client.rpc.CordaRPCJavaClientTest.testCashBalances,OK,6805
-3140,net.corda.client.rpc.RPCStabilityTests.deduplication in the client,OK,204
-3141,net.corda.client.rpc.RPCStabilityTests.client doesnt leak threads when it fails to start,OK,5858
-3142,"net.corda.client.rpc.RPCStabilityTests.connection failover fails, rpc calls throw",OK,30189
-3143,net.corda.client.rpc.RPCStabilityTests.rpc server close doesnt leak broker resources,OK,937
-3144,net.corda.client.rpc.RPCStabilityTests.observables error when connection breaks,OK,30252
-3145,net.corda.client.rpc.RPCStabilityTests.deduplication in the server,OK,763
-3146,net.corda.client.rpc.RPCStabilityTests.3 server failover,OK,10358
-3147,net.corda.client.rpc.RPCStabilityTests.client cleans up leaked observables,OK,1610
-3148,net.corda.client.rpc.RPCStabilityTests.rpc client close is idempotent,OK,30237
-3149,net.corda.client.rpc.RPCStabilityTests.slow consumers are kicked,Ignored,0
-3150,net.corda.client.rpc.RPCStabilityTests.client reconnects to rebooted server,OK,1434
-3151,net.corda.client.rpc.RPCStabilityTests.rpc client close doesnt leak broker resources,OK,3743
-3152,net.corda.client.rpc.RPCStabilityTests.client connects to first available server,OK,120
-3153,net.corda.client.rpc.RPCStabilityTests.client throws RPCException after initial connection attempt fails,OK,2
-3154,net.corda.client.rpc.RPCStabilityTests.server cleans up queues after disconnected clients,OK,8131
-3155,net.corda.client.rpc.RPCStabilityTests.rpc server close is idempotent,OK,152
-3156,net.corda.client.rpc.RPCStabilityTests.client and server dont leak threads,OK,6023
-3157,net.corda.client.rpc.RPCMultipleInterfacesTests.can talk multiple interfaces,OK,610
-3158,net.corda.client.rpc.BlacklistKotlinClosureTest.closure sent via RPC,OK,3217
-3159,net.corda.client.rpc.FlowsExecutionModeTests.flows draining mode can be disabled and queried,OK,3228
-3160,net.corda.client.rpc.FlowsExecutionModeTests.node starts with flows draining mode disabled,OK,3144
-3161,net.corda.client.rpc.FlowsExecutionModeTests.flows draining mode can be enabled and queried,OK,3154
-3162,net.corda.client.rpc.CordaRPCClientTest.shutdown command stops the node,OK,6814
-3163,net.corda.client.rpc.CordaRPCClientTest.check basic flow has no progress,OK,4140
-3164,net.corda.client.rpc.CordaRPCClientTest.log in with valid username and password,OK,4236
-3165,net.corda.client.rpc.CordaRPCClientTest.close-send deadlock and premature shutdown on empty observable,OK,5006
-3166,net.corda.client.rpc.CordaRPCClientTest.get cash balances,OK,4795
-3167,net.corda.client.rpc.CordaRPCClientTest.log in with incorrect password,OK,3920
-3168,net.corda.client.rpc.CordaRPCClientTest.flow initiator via RPC,OK,4922
-3169,net.corda.client.rpc.CordaRPCClientTest.log in with unknown user,OK,3846
-3170,net.corda.client.rpc.CordaRPCClientTest.additional class loader used by WireTransaction when it deserialises its components,OK,8277
-3171,net.corda.client.rpcreconnect.CordaRPCClientReconnectionTest.rpc client calls and returned observables continue working when the server crashes and restarts,OK,59908
-3172,net.corda.client.rpcreconnect.CordaRPCClientReconnectionTest.a client can successfully unsubscribe a reconnecting observable,OK,64152
-3173,net.corda.client.rpcreconnect.CordaRPCClientReconnectionTest.rpc client calls and returned observables continue working when there is failover between servers,OK,61048
-3174,net.corda.finance.workflows.CashExceptionSerialisationTest.cash exception with a cause can be serialised with AMQP,OK,18233
-3175,net.corda.attachmentdemo.AttachmentDemoTest.attachment demo using a 10MB zip file,OK,36394
-3176,net.corda.vega.SimmValuationTest.runs SIMM valuation demo,OK,78548
-3177,net.corda.traderdemo.TraderDemoTest.Test restart node during flow works properly,OK,84704
-3178,net.corda.traderdemo.TraderDemoTest.runs trader demo,OK,28993
-3179,net.corda.webserver.WebserverDriverTests.starting a node and independent web server works,OK,19929
-3180,net.corda.tools.shell.HashLookupCommandTest.hash lookup command returns correct response,Ignored,0
-3181,net.corda.tools.shell.InteractiveShellIntegrationTest.shell should not log in with invalid credentials,OK,18665
-3182,net.corda.tools.shell.InteractiveShellIntegrationTest.shell should start flow with fully qualified class name,OK,5736
-3183,net.corda.tools.shell.InteractiveShellIntegrationTest.internal shell user should not be able to connect if node started with devMode=false,OK,3896
-3184,net.corda.tools.shell.InteractiveShellIntegrationTest.dumpCheckpoints creates zip with json file for suspended flow,OK,47745
-3185,net.corda.tools.shell.InteractiveShellIntegrationTest.shell should log in with valid credentials,OK,3256
-3186,net.corda.tools.shell.InteractiveShellIntegrationTest.ssh run flows via standalone shell over ssl to node,Ignored,1
-3187,net.corda.tools.shell.InteractiveShellIntegrationTest.shell should fail to start flow with ambiguous class name,OK,3180
-3188,net.corda.tools.shell.InteractiveShellIntegrationTest.shell should start flow with unique un-qualified class name,OK,3349
-3189,net.corda.tools.shell.InteractiveShellIntegrationTest.shell should start flow with partially matching class name,OK,3287
-3190,net.corda.tools.shell.InteractiveShellIntegrationTest.ssh runs flows via standalone shell,Ignored,0
-3191,net.corda.tools.shell.InteractiveShellIntegrationTest.shell shoud not log in with invalid truststore,OK,3335
-3192,net.corda.tools.shell.InteractiveShellIntegrationTest.shell should log in with ssl,OK,3257
-3193,net.corda.tools.shell.SSHServerTest.ssh runs flows,Ignored,0
-3194,net.corda.tools.shell.SSHServerTest.ssh server starts when configured,OK,12424
-3195,net.corda.tools.shell.SSHServerTest.ssh server does not start be default,OK,11709
-3196,net.corda.tools.shell.SSHServerTest.ssh respects permissions,OK,13324
-3197,net.corda.tools.shell.SSHServerTest.ssh server verify credentials,OK,12521
-3198,net.corda.services.vault.VaultRestartTest.restart and query vault after adding some cash states,OK,47606
-3199,net.corda.client.rpc.FlowsExecutionModeRpcTest.persistent state survives node restart,OK,72247
-3200,"net.corda.node.services.rpc.RpcReconnectTests.test that the RPC client is able to reconnect and proceed after node failure, restart, or connection reset",OK,419227
-3201,net.corda.node.services.distributed.DistributedServiceTests.requests are distributed evenly amongst the nodes with a composite public key,OK,65184
-3202,net.corda.node.services.distributed.DistributedServiceTests.cluster survives if a notary is killed,OK,62793
-3203,net.corda.node.services.distributed.DistributedServiceTests.requests are distributed evenly amongst the nodes,OK,66768
-3204,net.corda.node.logging.IssueCashLoggingTests.issuing and sending cash as payment do not result in duplicate insertion warnings,OK,43680
-3205,net.corda.node.persistence.NodeStatePersistenceTests.persistent state survives node restart without reinitialising database schema,OK,72965
-3206,net.corda.node.persistence.NodeStatePersistenceTests.persistent state survives node restart,OK,41547
-3207,net.corda.node.utilities.registration.NodeRegistrationTest.node registration correct root cert,OK,47395
-3208,net.corda.node.flows.FlowCheckpointVersionNodeStartupCheckTest.restart node with mismatch between suspended flow and installed CorDapps,OK,67627
-3209,net.corda.irs.IRSDemoTest.runs IRS demo,OK,158716
-3210,net.corda.coretests.NodeVersioningTest.platform version in manifest file,OK,17909
-3211,net.corda.coretests.NodeVersioningTest.platform version from RPC,OK,28355
-3212,net.corda.coretests.cordapp.CordappSmokeTest.empty cordapps directory,OK,27865
-3213,net.corda.coretests.cordapp.CordappSmokeTest.FlowContent appName returns the filename of the CorDapp jar,OK,28398
-3214,net.corda.java.rpc.StandaloneCordaRPCJavaClientTest.testCashBalances,OK,21800
-3215,net.corda.kotlin.rpc.StandaloneCordaRPClientTest.test cash balances,OK,16505
-3216,net.corda.kotlin.rpc.StandaloneCordaRPClientTest.test network map,OK,44457
-3217,net.corda.kotlin.rpc.StandaloneCordaRPClientTest.test starting tracked flow,OK,45925
-3218,net.corda.kotlin.rpc.StandaloneCordaRPClientTest.test vault track by,OK,46727
-3219,net.corda.kotlin.rpc.StandaloneCordaRPClientTest.test kill flow without killFlow permission,OK,45754
-3220,net.corda.kotlin.rpc.StandaloneCordaRPClientTest.test attachments,OK,14307
-3221,net.corda.kotlin.rpc.StandaloneCordaRPClientTest.test vault query by,OK,16407
-3222,net.corda.kotlin.rpc.StandaloneCordaRPClientTest.test state machines,OK,16141
-3223,net.corda.kotlin.rpc.StandaloneCordaRPClientTest.test starting flow,OK,15927
-3224,net.corda.kotlin.rpc.StandaloneCordaRPClientTest.test wrapped attachments,Ignored,0
-3225,net.corda.kotlin.rpc.StandaloneCordaRPClientTest.test kill flow with killFlow permission,OK,44861