checker.destroy();
@Override protected void verify(Checker checker, File[] processedFiles, String messageFileName, String... expected) throws Exception { getStream().flush(); final List<File> theFiles = new ArrayList<>(); Collections.addAll(theFiles, processedFiles); final int errs = checker.process(theFiles); // process each of the lines try (ByteArrayInputStream localStream = new ByteArrayInputStream(getStream().toByteArray()); LineNumberReader lnr = new LineNumberReader( new InputStreamReader(localStream, StandardCharsets.UTF_8))) { for (int i = 0; i < expected.length; i++) { final String expectedResult = messageFileName + ":" + expected[i]; final String actual = lnr.readLine(); assertEquals("error message " + i, expectedResult, actual); } assertTrue("unexpected output: " + lnr.readLine(), expected.length >= errs); } checker.destroy(); }
checker.destroy();
&& differingViolations.isEmpty()); checker.destroy();
@Test public void testWithCacheWithNoViolation() throws Exception { final Checker checker = new Checker(); final PackageObjectFactory factory = new PackageObjectFactory( new HashSet<>(), Thread.currentThread().getContextClassLoader()); checker.setModuleFactory(factory); checker.configure(createModuleConfig(TranslationCheck.class)); final File cacheFile = temporaryFolder.newFile(); checker.setCacheFile(cacheFile.getPath()); checker.setupChild(createModuleConfig(TranslationCheck.class)); final File tmpFile = temporaryFolder.newFile("file.java"); final List<File> files = new ArrayList<>(1); files.add(tmpFile); checker.process(files); // invoke destroy to persist cache checker.destroy(); final Properties cache = new Properties(); cache.load(Files.newBufferedReader(cacheFile.toPath())); // There should 2 objects in cache: processed file (file.java) and checker configuration. final int expectedNumberOfObjectsInCache = 2; assertEquals("Cache has unexpected size", expectedNumberOfObjectsInCache, cache.size()); final String expectedConfigHash = "B8535A811CA90BE8B7A14D40BCA62B4FC2447B46"; assertEquals("Cache has unexpected hash", expectedConfigHash, cache.getProperty(PropertyCacheFile.CONFIG_HASH_KEY)); assertNotNull("Cache file has null path", cache.getProperty(tmpFile.getPath())); }
checker.destroy();
@Test public void testDestroyCheckerWithWrongCacheFileNameLength() throws Exception { final Checker checker = new Checker(); final PackageObjectFactory factory = new PackageObjectFactory( new HashSet<>(), Thread.currentThread().getContextClassLoader()); checker.setModuleFactory(factory); checker.configure(new DefaultConfiguration("default config")); // We set wrong file name length in order to reproduce IOException on OS Linux, OS Windows. // The maximum file name length which is allowed in most UNIX, Windows file systems is 255. // See https://en.wikipedia.org/wiki/Filename; checker.setCacheFile(String.format(Locale.ENGLISH, "%0300d", 0)); try { checker.destroy(); fail("Exception did not happen"); } catch (IllegalStateException ex) { assertTrue("Cause of exception differs from IOException", ex.getCause() instanceof IOException); } }
checker.destroy();
@Test public void testDestroy() throws Exception { final Checker checker = new Checker(); final DebugAuditAdapter auditAdapter = new DebugAuditAdapter(); checker.addListener(auditAdapter); final TestFileSetCheck fileSet = new TestFileSetCheck(); checker.addFileSetCheck(fileSet); final DebugFilter filter = new DebugFilter(); checker.addFilter(filter); final TestBeforeExecutionFileFilter fileFilter = new TestBeforeExecutionFileFilter(); checker.addBeforeExecutionFileFilter(fileFilter); // should remove all listeners, file sets, and filters checker.destroy(); checker.process(Collections.singletonList(temporaryFolder.newFile())); final SortedSet<LocalizedMessage> messages = new TreeSet<>(); messages.add(new LocalizedMessage(1, 0, "a Bundle", "message.key", new Object[] {"arg"}, null, getClass(), null)); checker.fireErrors("Some File Name", messages); assertFalse("Checker.destroy() doesn't remove listeners.", auditAdapter.wasCalled()); assertFalse("Checker.destroy() doesn't remove file sets.", fileSet.wasCalled()); assertFalse("Checker.destroy() doesn't remove filters.", filter.wasCalled()); assertFalse("Checker.destroy() doesn't remove file filters.", fileFilter.wasCalled()); }
checker.destroy(); if (Objects.nonNull(xmlOutput)) { close(xmlOutput);
public CheckstyleResult analyze() { final Checker checker = new Checker(); try { final LoggingAuditListener listener = new LoggingAuditListener(); checker.addListener(listener); checker.setModuleClassLoader(Thread.currentThread().getContextClassLoader()); checker.configure(ConfigurationLoader.loadConfiguration(checks.location, createPropertyResolver())); checker.process(config.getSources()); return createResult(listener.events); } catch (CheckstyleException e) { throw new AnalyzerException("Problem executing Checkstyle.", e); } finally { checker.destroy(); } }
public CheckstyleResult analyze() { final Checker checker = new Checker(); try { final LoggingAuditListener listener = new LoggingAuditListener(); checker.addListener(listener); checker.setModuleClassLoader(Thread.currentThread().getContextClassLoader()); checker.configure(ConfigurationLoader.loadConfiguration(checks.location, createPropertyResolver())); checker.process(config.getSources()); return createResult(listener.events); } catch (CheckstyleException e) { throw new AnalyzerException("Problem executing Checkstyle.", e); } finally { checker.destroy(); } }