Skip to content
This repository was archived by the owner on Jun 3, 2025. It is now read-only.

Commit 861b53f

Browse files
author
mikkomaa
authored
Merge pull request #365 from tmc-cli/validatoin-results-in-submit-juha
Print validation results in submit
2 parents d3f2bd5 + 6546c5b commit 861b53f

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

src/main/java/fi/helsinki/cs/tmc/cli/io/ResultPrinter.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,11 @@ private void printFailedSubmissionResult(SubmissionResult submResult, boolean pr
257257
io.println(valgrind);
258258
totalTests++;
259259
}
260-
// TODO: check validations when it's fixed in tmc-core (hangs atm if validation fails)
260+
261+
if (submResult.validationsFailed()) {
262+
printValidationErrors(submResult.getValidationResult());
263+
totalTests++;
264+
}
261265

262266
io.println("Test results: " + passedTests + "/" + totalTests + " tests passed");
263267
if (printResultBar) {

src/test/java/fi/helsinki/cs/tmc/cli/io/ResultPrinterTest.java

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import fi.helsinki.cs.tmc.core.domain.submission.SubmissionResult.TestResultStatus;
88
import fi.helsinki.cs.tmc.core.domain.submission.ValidationErrorImpl;
99
import fi.helsinki.cs.tmc.core.domain.submission.ValidationResultImpl;
10+
import fi.helsinki.cs.tmc.langs.abstraction.Strategy;
1011
import fi.helsinki.cs.tmc.langs.abstraction.ValidationError;
1112
import fi.helsinki.cs.tmc.langs.domain.RunResult;
1213
import fi.helsinki.cs.tmc.langs.domain.RunResult.Status;
@@ -137,7 +138,7 @@ public void printLocalTestResultIfCompilationFail() {
137138
}
138139

139140
@Test
140-
public void printValidationErrors() {
141+
public void printValidationErrorsInLocalTests() {
141142
testResults = ImmutableList.of(new TestResult("test1", true, "Cool!"));
142143
runResult = new RunResult(Status.PASSED, testResults, logs);
143144

@@ -153,4 +154,26 @@ public void printValidationErrors() {
153154
printer.printLocalTestResult(runResult, valResult, false);
154155
io.assertContains("validation error");
155156
}
157+
158+
@Test
159+
public void printValidationErrorsInSubmit() {
160+
ValidationErrorImpl error = new ValidationErrorImpl();
161+
error.setMessage("Incorrect indentation");
162+
163+
File file = new File("Test.java");
164+
Map valErrors = new HashMap<>();
165+
valErrors.put(file, ImmutableList.of((ValidationError) error));
166+
167+
ValidationResultImpl valResult = new ValidationResultImpl();
168+
valResult.setStrategy(Strategy.FAIL);
169+
valResult.setValidationErrors(valErrors);
170+
171+
SubmissionResult subResult = new SubmissionResult();
172+
subResult.setStatus(SubmissionResult.Status.FAIL);
173+
subResult.setValidationResult(valResult);
174+
175+
printer.printSubmissionResult(subResult, false);
176+
io.assertContains("Validation error:");
177+
io.assertContains("Incorrect indentation");
178+
}
156179
}

0 commit comments

Comments
 (0)