@Test
    @Timeout(30000)
    public void allHeavyHangsTestWithStarvedCrawler() throws Exception {
        //this tests that if all consumers are hung and the crawler is
        //waiting to add to the queue, there isn't deadlock.  The batchrunner should
        //shutdown and ask to be restarted.
        Path outputDir = getNewOutputDir("allHeavyHangsStarvedCrawler-");
        Map<String, String> args = getDefaultArgs("heavy_heavy_hangs", outputDir);
        args.put("numConsumers", "2");
        args.put("maxQueueSize", "2");
        args.put("timeoutThresholdMillis", "100000000");//make sure that the batch process doesn't time out
        BatchProcessTestExecutor ex = new BatchProcessTestExecutor(args);
        StreamStrings streamStrings = ex.execute();
        assertEquals(2, countChildren(outputDir));

        for (int i = 0; i < 2; i++) {
            Path hvyHang = outputDir.resolve("test" + i + "_heavy_hang.xml.xml");
            assertTrue(Files.exists(hvyHang));
            assertEquals(0, Files.size(hvyHang));
        }
        assertContains(BatchProcess.BATCH_CONSTANTS.BATCH_PROCESS_FATAL_MUST_RESTART.toString(), streamStrings.getErrString());
        assertContains("Crawler timed out", streamStrings.getErrString());
    }
This runs a single process.  This was useful during development,
but we don't need it because it is duplicative of {@link BatchDriverTest}
tika-batch/src/test/java/org/apache/tika/batch/fs/BatchProcessTest.java