Skip to content

Commit

Permalink
Haskell Tests - allow displaying of compilation errors (MarkUsProject…
Browse files Browse the repository at this point in the history
  • Loading branch information
donny-wong authored and pretendWhale committed Oct 1, 2024
1 parent 51745dd commit fe30be6
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
3 changes: 3 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# CHANGELOG
All notable changes to this project will be documented here.

## [unreleased]
- Haskell Tests - allow displaying of compilation errors (#554)

## [v2.5.1]
- Ensure all Haskell test cases still run within same file when there are failed test cases (#543)

Expand Down
18 changes: 8 additions & 10 deletions server/autotest_server/testers/haskell/haskell_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,16 +120,14 @@ def run_haskell_tests(self) -> Dict[str, List[Dict[str, Union[int, str]]]]:
subprocess.run(cmd, stdout=subprocess.DEVNULL, universal_newlines=True, check=True)
with tempfile.NamedTemporaryFile(mode="w+", dir=this_dir) as sf:
cmd = ["stack", "runghc", *STACK_OPTIONS, "--", f"-i={haskell_lib}", f.name, f"--stats={sf.name}"]
try:
subprocess.run(
cmd, stdout=subprocess.DEVNULL, stderr=subprocess.PIPE, universal_newlines=True, check=True
)
except subprocess.CalledProcessError as e:
if e.returncode == 1:
pass
else:
raise Exception(e)
results[test_file] = self._parse_test_results(csv.reader(sf))
out = subprocess.run(
cmd, stdout=subprocess.DEVNULL, stderr=subprocess.PIPE, universal_newlines=True, check=False
)
r = self._parse_test_results(csv.reader(sf))
if r:
results[test_file] = r
else:
raise Exception(out.stderr)
return results

@Tester.run_decorator
Expand Down

0 comments on commit fe30be6

Please sign in to comment.