import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.OutputStreamWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; import java.util.List; import org.junit.jupiter.api.Test; import be.jeffcheasey88.peeratcode.parser.TokenValidator; import be.jeffcheasey88.peeratcode.parser.java.JavaFile; import be.jeffcheasey88.peeratcode.parser.java.JavaParser; class GlobalCover { @Test void workspace() throws Exception{ JavaParser parser = new JavaParser(); List files = files(new File("C:\\Users\\jeffc\\eclipse-workspace")); int validated = 0; double tokens = 0; int count = 0; long time = System.currentTimeMillis(); for(File file : files){ if(file.getName().endsWith(".java")){ parser.parse(new BufferedReader(new FileReader(file)), new JavaFile()); validated += TokenValidator.MAX_VALIDATE; tokens += TokenValidator.TOKENS; TokenValidator.MAX_VALIDATE = 0; TokenValidator.TOKENS = 0; count++; } } time = ((System.currentTimeMillis()-time)/1000); String data = "{\"hash\": "+System.currentTimeMillis()+",\"time\": "+time+",\"percentage\": "+String.format("%.3f", ((validated/tokens)*100.0)).replace(",", ".")+",\"validated\": "+validated+",\"files\": "+count+"}"; File file = new File("/home/tmp_.txt"); BufferedWriter writer = new BufferedWriter(new FileWriter(file)); writer.write(data+"\n"); writer.flush(); writer.close(); } private List files(File dir){ List result = new ArrayList<>(); if(dir.isDirectory()){ for(File file : dir.listFiles()) result.addAll(files(file)); }else result.add(dir); return result; } }