77 lines
2.5 KiB
Plaintext
77 lines
2.5 KiB
Plaintext
String[] getFileLines(File file) {
|
|
BufferedReader reader = new BufferedReader(new FileReader(file));
|
|
List result = new ArrayList();
|
|
String line;
|
|
while ((line = reader.readLine()) != null){
|
|
line=line.replaceAll("\\u001b[^m]*m","");
|
|
result.add(line);
|
|
}
|
|
reader.close();
|
|
return result.toArray(new String[0]);
|
|
}
|
|
|
|
String[] getBuildLogLines() {
|
|
return getFileLines(new File(basedir, "build.log"));
|
|
}
|
|
|
|
String[] buildLog = getBuildLogLines();
|
|
|
|
void assertFileContains(String relativePath, String content) {
|
|
File file = new File(basedir, relativePath);
|
|
if (!file.exists()) {
|
|
throw new Exception("File was not found: " + relativePath);
|
|
}
|
|
|
|
String[] lines = getFileLines(file);
|
|
int lineNumber = findLineThatContains(lines, content);
|
|
if (lineNumber < 0) {
|
|
throw new Exception("Expected file " + relativePath + " to contain: \"" + content + "\"");
|
|
}
|
|
}
|
|
|
|
void assertBuildLogHasLine(String expectedLine) {
|
|
for (int i = 0; i < buildLog.length; i++) {
|
|
String line = buildLog[i];
|
|
if (line.equals(expectedLine)) {
|
|
print("Expected line was found at line " + i + " of build log: " + "\"" + expectedLine + "\"");
|
|
return;
|
|
}
|
|
}
|
|
throw new Exception("Expected build log to contain line: \"" + expectedLine + "\"");
|
|
}
|
|
|
|
void assertBuildLogHasLineThatContains(String content) {
|
|
int line = findBuildLogLineThatContains(content);
|
|
if (line >= 0)
|
|
print("Expected content " + "\"" + content + "\"" + " was found at line " + (line+1) + " of build log: " + "\"" + buildLog[line] + "\"");
|
|
else
|
|
throw new Exception("Expected build log to contain: \"" + content + "\"");
|
|
}
|
|
|
|
void assertBuildLogHasNoLineThatContains(String content) {
|
|
int line = findBuildLogLineThatContains(content);
|
|
if (line >= 0)
|
|
throw new Exception("Expected build log not to contain content " + "\"" + content + "\"" + ", but was found at line " + (line+1) + ": " + "\"" + buildLog[line] + "\"");
|
|
}
|
|
|
|
int findBuildLogLineThatContains(String content) {
|
|
return findLineThatContains(buildLog, content);
|
|
}
|
|
|
|
int findLineThatContains(String[] lines, String content) {
|
|
for (int i = 0; i < lines.length; i++) {
|
|
String line = lines[i];
|
|
if (line.contains(content)) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
void assertFileExists(String relativePath) {
|
|
File file = new File(basedir, relativePath);
|
|
if (!file.exists() || !file.isFile()) {
|
|
throw new Exception("Expected file not found: " + relativePath);
|
|
}
|
|
}
|