Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
a2177f5
tests(regression): consolidate config folders to pure system folder s…
harryswift01 Mar 27, 2026
50dfaae
tests(regression): replace hardcoded system list with auto-discovered…
harryswift01 Mar 27, 2026
a6944c0
tests(regression): use correct file path location for config file
harryswift01 Mar 27, 2026
c625c63
tests(regression): remove current baseline configurations to reduce f…
harryswift01 Mar 27, 2026
a6379e3
tests(regression): support baseline generation and missing baseline h…
harryswift01 Mar 27, 2026
ebd2973
tests(regression): add additioanl test cases for regression tests
harryswift01 Mar 27, 2026
2a4383f
tests(regression): include all config files
harryswift01 Mar 27, 2026
9d999b5
tests(regression): ensure all functions have google style docstrings
harryswift01 Mar 27, 2026
50ce325
chore(pre-commit): ensure pre-commit is applied
harryswift01 Mar 27, 2026
a82e254
tests(unit): update config paths within unit tests from regression up…
harryswift01 Mar 27, 2026
06853f4
tests(regression): use correct file name for dna examples
harryswift01 Mar 27, 2026
c9c7e05
tests(regression): add dna regression test into the baselines
harryswift01 Mar 27, 2026
9667ae3
tests(regression): update `benzaldehyde/selection_subset.yaml` to inc…
harryswift01 Mar 30, 2026
fd43daa
tests(regression): update `benzene/selection_subset.yaml` to include …
harryswift01 Mar 30, 2026
ca40b4e
tests(regression): update "cyclohexane/selection_subset.yaml` to incl…
harryswift01 Mar 30, 2026
0b25cfb
tests(regression): add additional test configurations for DNA example
harryswift01 Mar 30, 2026
91c393d
tests(regression): update `ethyl-acetate/selection_subset.yaml` to in…
harryswift01 Mar 30, 2026
0c61c98
tests(regression): add temperature perameter in `methane/axes_off.yam…
harryswift01 Mar 30, 2026
e40ea6f
tests(regression): update `methane/selection_subset.yaml` to include …
harryswift01 Mar 30, 2026
4bbae02
tests(regression): update `methanol/selection_subset.yaml` to include…
harryswift01 Mar 30, 2026
365a64f
tests(regression): update `octonol/selection_subset.yaml` to include …
harryswift01 Mar 30, 2026
5e93bb2
tests(regression): update `water/selection_subset.yaml` to include co…
harryswift01 Mar 30, 2026
dd91317
tests(regression): add configuration file for no waterEntropy within …
harryswift01 Mar 30, 2026
a288688
tests(regression): add grouping by each as a confiuration file for ea…
harryswift01 Mar 30, 2026
2cafee0
tests(regression): add `combined_forcetorque` configuration file for …
harryswift01 Mar 30, 2026
9fd07bf
chore(gitignore): update path to regression baseline output files
harryswift01 Mar 30, 2026
87a97b1
tests(regression): add all DNA regression baseline results
harryswift01 Mar 30, 2026
02e49c8
tests(regression): ensure `kcal_force_units` is enabled on all liquids
harryswift01 Mar 30, 2026
be46d82
tests(regression): fix file path for `configs/benzene/rad.yaml`
harryswift01 Mar 30, 2026
2ad971f
tests(regression): update `regression.cases.py` to allow fast and slo…
harryswift01 Mar 31, 2026
01c1f88
tests(regression): update regression testing config files
harryswift01 Mar 31, 2026
4d39e9a
ci(workflows): update `weekly-regression.yaml` workflow to run regres…
harryswift01 Mar 31, 2026
40e8a36
tests(regression): update all regression baseline results
harryswift01 Mar 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 29 additions & 5 deletions .github/workflows/weekly-regression.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,32 @@ concurrency:
cancel-in-progress: true

jobs:
discover:
name: Discover regression systems
runs-on: ubuntu-24.04
outputs:
systems: ${{ steps.set.outputs.systems }}

steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Generate system matrix
id: set
run: |
systems=$(ls tests/regression/configs | jq -R -s -c 'split("\n")[:-1]')
echo "systems=$systems" >> $GITHUB_OUTPUT

regression:
name: Regression tests (including slow)
name: Regression (${{ matrix.system }})
needs: discover
runs-on: ubuntu-24.04

strategy:
fail-fast: false
matrix:
system: ${{ fromJson(needs.discover.outputs.systems) }}

steps:
- name: Checkout repo
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
Expand All @@ -29,19 +52,20 @@ jobs:
path: .testdata
key: codeentropy-testdata-${{ runner.os }}-py314

- name: Install CodeEntropy and its testing dependencies
- name: Install CodeEntropy and dependencies
run: |
pip install --upgrade pip
pip install -e .[testing]

- name: Run regression test suite
run: pytest tests/regression --run-slow
- name: Run regression tests for system
run: |
pytest tests/regression -k "${{ matrix.system }}" --run-slow -vv

- name: Upload regression artifacts on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: regression-failure-artifacts
name: regression-${{ matrix.system }}-artifacts
path: |
.testdata/**
tests/regression/**/.pytest_cache/**
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -129,4 +129,4 @@ job*
.testdata/

!tests/regression/baselines/
!tests/regression/baselines/*.json
!tests/regression/baselines/*/*.json
45 changes: 45 additions & 0 deletions tests/regression/baselines/benzaldehyde/axes_off.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"args": {
"top_traj_file": [
"/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/molecules.top",
"/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/trajectory.crd"
],
"force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/forces.frc",
"file_format": "MDCRD",
"kcal_force_units": true,
"selection_string": "resid 1:10",
"start": 0,
"end": 1,
"step": 1,
"bin_width": 30,
"temperature": 298.0,
"verbose": false,
"output_file": "/tmp/pytest-of-harry-swift/pytest-53/test_regression_matches_baseli0/job001/output_file.json",
"force_partitioning": 0.5,
"water_entropy": true,
"grouping": "molecules",
"combined_forcetorque": true,
"customised_axes": false,
"search_type": "grid"
},
"provenance": {
"python": "3.14.3",
"platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39",
"codeentropy_version": "2.1.0",
"git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590"
},
"groups": {
"0": {
"components": {
"united_atom:Transvibrational": 0.08982962903796131,
"united_atom:Rovibrational": 32.16018134884085,
"residue:FTmat-Transvibrational": 88.7671666695003,
"residue:FTmat-Rovibrational": 61.61036267672132,
"united_atom:Conformational": 0.0,
"residue:Conformational": 0.0,
"residue:Orientational": 7.791711490122748
},
"total": 190.41925181422317
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"args": {
"top_traj_file": [
"/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/molecules.top",
"/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/trajectory.crd"
],
"force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/forces.frc",
"file_format": "MDCRD",
"kcal_force_units": true,
"selection_string": "resid 1:10",
"start": 0,
"end": 1,
"step": 1,
"bin_width": 30,
"temperature": 298.0,
"verbose": false,
"output_file": "/tmp/pytest-of-harry-swift/pytest-53/test_regression_matches_baseli1/job001/output_file.json",
"force_partitioning": 0.5,
"water_entropy": true,
"grouping": "molecules",
"combined_forcetorque": false,
"customised_axes": true,
"search_type": "grid"
},
"provenance": {
"python": "3.14.3",
"platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39",
"codeentropy_version": "2.1.0",
"git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590"
},
"groups": {
"0": {
"components": {
"united_atom:Transvibrational": 0.07119323721997475,
"united_atom:Rovibrational": 49.68669738152346,
"residue:Transvibrational": 69.48692941204929,
"residue:Rovibrational": 68.46147102540942,
"united_atom:Conformational": 0.0,
"residue:Conformational": 0.0,
"residue:Orientational": 7.791711490122748
},
"total": 195.49800254632487
}
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"args": {
"top_traj_file": [
"/home/ogo12949/CodeEntropy/.testdata/benzaldehyde/molecules.top",
"/home/ogo12949/CodeEntropy/.testdata/benzaldehyde/trajectory.crd"
"/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/molecules.top",
"/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/trajectory.crd"
],
"force_file": "/home/ogo12949/CodeEntropy/.testdata/benzaldehyde/forces.frc",
"force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/forces.frc",
"file_format": "MDCRD",
"kcal_force_units": true,
"selection_string": "all",
Expand All @@ -14,7 +14,7 @@
"bin_width": 30,
"temperature": 298.0,
"verbose": false,
"output_file": "/tmp/pytest-of-ogo12949/pytest-5/test_regression_matches_baseli1/job001/output_file.json",
"output_file": "/tmp/pytest-of-harry-swift/pytest-53/test_regression_matches_baseli2/job001/output_file.json",
"force_partitioning": 0.5,
"water_entropy": true,
"grouping": "molecules",
Expand All @@ -23,10 +23,10 @@
"search_type": "grid"
},
"provenance": {
"python": "3.13.5",
"platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39",
"codeentropy_version": "2.0.0",
"git_sha": "697cc5da0af766f2f69b0fa31254f2ce7b2b1141"
"python": "3.14.3",
"platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39",
"codeentropy_version": "2.1.0",
"git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590"
},
"groups": {
"0": {
Expand Down
45 changes: 45 additions & 0 deletions tests/regression/baselines/benzaldehyde/frame_window.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"args": {
"top_traj_file": [
"/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/molecules.top",
"/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/trajectory.crd"
],
"force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/forces.frc",
"file_format": "MDCRD",
"kcal_force_units": true,
"selection_string": "resid 1:10",
"start": 0,
"end": 5,
"step": 2,
"bin_width": 30,
"temperature": 298.0,
"verbose": false,
"output_file": "/tmp/pytest-of-harry-swift/pytest-53/test_regression_matches_baseli3/job001/output_file.json",
"force_partitioning": 0.5,
"water_entropy": true,
"grouping": "molecules",
"combined_forcetorque": true,
"customised_axes": true,
"search_type": "grid"
},
"provenance": {
"python": "3.14.3",
"platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39",
"codeentropy_version": "2.1.0",
"git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590"
},
"groups": {
"0": {
"components": {
"united_atom:Transvibrational": 40.30267601961045,
"united_atom:Rovibrational": 38.21906858443615,
"residue:FTmat-Transvibrational": 73.41098578352612,
"residue:FTmat-Rovibrational": 57.881504393660364,
"united_atom:Conformational": 0.0,
"residue:Conformational": 0.0,
"residue:Orientational": 7.791711490122748
},
"total": 217.60594627135583
}
}
}
153 changes: 153 additions & 0 deletions tests/regression/baselines/benzaldehyde/grouping_each.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
{
"args": {
"top_traj_file": [
"/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/molecules.top",
"/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/trajectory.crd"
],
"force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/forces.frc",
"file_format": "MDCRD",
"kcal_force_units": true,
"selection_string": "resid 1:10",
"start": 0,
"end": 1,
"step": 1,
"bin_width": 30,
"temperature": 298.0,
"verbose": false,
"output_file": "/tmp/pytest-of-harry-swift/pytest-53/test_regression_matches_baseli4/job001/output_file.json",
"force_partitioning": 0.5,
"water_entropy": true,
"grouping": "each",
"combined_forcetorque": true,
"customised_axes": true,
"search_type": "grid"
},
"provenance": {
"python": "3.14.3",
"platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39",
"codeentropy_version": "2.1.0",
"git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590"
},
"groups": {
"0": {
"components": {
"united_atom:Transvibrational": 0.0,
"united_atom:Rovibrational": 0.062499436482478445,
"residue:FTmat-Transvibrational": 16.83857036769833,
"residue:FTmat-Rovibrational": 0.0,
"united_atom:Conformational": 0.0,
"residue:Conformational": 0.0,
"residue:Orientational": 9.587915463990273
},
"total": 26.488985268171085
},
"1": {
"components": {
"united_atom:Transvibrational": 0.0,
"united_atom:Rovibrational": 0.04214874235319735,
"residue:FTmat-Transvibrational": 9.439228173427328,
"residue:FTmat-Rovibrational": 0.0,
"united_atom:Conformational": 0.0,
"residue:Conformational": 0.0,
"residue:Orientational": 0.0
},
"total": 9.481376915780524
},
"2": {
"components": {
"united_atom:Transvibrational": 0.0,
"united_atom:Rovibrational": 0.0022147884278620462,
"residue:FTmat-Transvibrational": 17.449372254125862,
"residue:FTmat-Rovibrational": 0.0,
"united_atom:Conformational": 0.0,
"residue:Conformational": 0.0,
"residue:Orientational": 13.250255095331166
},
"total": 30.70184213788489
},
"3": {
"components": {
"united_atom:Transvibrational": 0.0,
"united_atom:Rovibrational": 138.65701144028458,
"residue:FTmat-Transvibrational": 15.803976930845373,
"residue:FTmat-Rovibrational": 0.0,
"united_atom:Conformational": 0.0,
"residue:Conformational": 0.0,
"residue:Orientational": 0.0
},
"total": 154.46098837112996
},
"4": {
"components": {
"united_atom:Transvibrational": 0.0,
"united_atom:Rovibrational": 0.003874883925216773,
"residue:FTmat-Transvibrational": 23.899916844406114,
"residue:FTmat-Rovibrational": 0.0,
"united_atom:Conformational": 0.0,
"residue:Conformational": 0.0,
"residue:Orientational": 0.0
},
"total": 23.90379172833133
},
"5": {
"components": {
"united_atom:Transvibrational": 0.0,
"united_atom:Rovibrational": 0.010824819910336835,
"residue:FTmat-Transvibrational": 11.05479779559611,
"residue:FTmat-Rovibrational": 0.0,
"united_atom:Conformational": 0.0,
"residue:Conformational": 0.0,
"residue:Orientational": 23.16437388578126
},
"total": 34.22999650128771
},
"6": {
"components": {
"united_atom:Transvibrational": 0.0,
"united_atom:Rovibrational": 0.00018982532508837594,
"residue:FTmat-Transvibrational": 19.723925127490933,
"residue:FTmat-Rovibrational": 0.0,
"united_atom:Conformational": 0.0,
"residue:Conformational": 0.0,
"residue:Orientational": 18.044518549147842
},
"total": 37.76863350196386
},
"7": {
"components": {
"united_atom:Transvibrational": 0.0,
"united_atom:Rovibrational": 0.004033941970593011,
"residue:FTmat-Transvibrational": 18.90676882142135,
"residue:FTmat-Rovibrational": 0.0,
"united_atom:Conformational": 0.0,
"residue:Conformational": 0.0,
"residue:Orientational": 0.0
},
"total": 18.910802763391942
},
"8": {
"components": {
"united_atom:Transvibrational": 0.0,
"united_atom:Rovibrational": 0.020362757918507005,
"residue:FTmat-Transvibrational": 16.13204209116967,
"residue:FTmat-Rovibrational": 0.0,
"united_atom:Conformational": 0.0,
"residue:Conformational": 0.0,
"residue:Orientational": 10.453350878685521
},
"total": 26.605755727773698
},
"9": {
"components": {
"united_atom:Transvibrational": 0.0,
"united_atom:Rovibrational": 138.65525900218074,
"residue:FTmat-Transvibrational": 21.42548529236268,
"residue:FTmat-Rovibrational": 0.0,
"united_atom:Conformational": 0.0,
"residue:Conformational": 0.0,
"residue:Orientational": 0.0
},
"total": 160.08074429454342
}
}
}
Loading
Loading