Skip to content

Commit

Permalink
Ensure all Haskell test cases still run within same file when there a…
Browse files Browse the repository at this point in the history
…re failed test cases (#543)

Co-authored-by: Donny Wong <[email protected]>
  • Loading branch information
donny-wong and Donny Wong authored Aug 27, 2024
1 parent e6be11c commit 50a0ad7
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 3 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]
- Ensure all Haskell test cases still run within same file when there are failed test cases (#543)

## [v2.5.0]
- Ensure R packages are correctly installed (#535)
- Make PyTA version a setting (#536)
Expand Down
12 changes: 9 additions & 3 deletions server/autotest_server/testers/haskell/haskell_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,15 @@ 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}"]
subprocess.run(
cmd, stdout=subprocess.DEVNULL, stderr=subprocess.PIPE, universal_newlines=True, check=True
)
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))
return results

Expand Down

0 comments on commit 50a0ad7

Please sign in to comment.