• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

aiidateam / aiida_core / 4921 / 8
70%
develop: 74%

Build:
Build:
LAST BUILD BRANCH: fix_3032_doc_working_importexport
DEFAULT BRANCH: develop
Ran 17 Jan 2019 03:09PM UTC
Files 397
Run time 55s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Jan 2019 02:48PM UTC coverage: 61.862% (+0.5%) from 61.378%
TEST_AIIDA_BACKEND=sqlalchemy TEST_TYPE="tests"

push

travis-ci

web-flow
 Implement `CalcJob` process class  (#2389)

This commit can be summarized in three steps:

 * Reimplementation of a job calculation as `Process` called `CalcJob`
 * Changing job calculation to be purely informational
 * Remove the old job calculation mechanics and business logic

* Reimplementation of a job calculation as `Process` called `CalcJob`

The old way of creating a job calculation, was to subclass the
`JobCalculation` class and override the `_use_methods` class method to
define the input nodes and the `_prepare_for_submission` to setup the
input files for the calculation. The problem was that these methods were
implemented on the `Node` class, thus mixing the responsabilities of
running and introspecting the results of a completed calculation.

Here we define the `CalcJob` class, a subclass of `Process`. This class
replaces the old `JobCalculation` and allows a user to defined the
inputs and outputs through the `ProcessSpec`, just as they would do for
a `WorkChain`. Except, instead of defining an `outline`, one should
implement the `prepare_for_submission`, which fulfills the exact same
function as before, only it is now a public method of the `CalcJob`
process class.

* Changing job calculation to be purely informational

Finally, the role of the job calculation state, stored as an attribute
with the key `state` on the `CalcJobNode` has changed significantly.
The original job calculations had a calculation state that controlled
the logic during its lifetime. This was already superceded a long time
ago by the process wrapper that now fully governs the progression of the
calculation. Despite the calculation state no longer being authoritative
during the calculation's lifetime, it was still present. Here we finally
fully remove and only leave a stripped down version. The remaining state
is stored as an attribute and is a sub state while the `CalcJob` process
is in an active state and serves as a more granual ... (continued)

21333 of 34485 relevant lines covered (61.86%)

0.62 hits per line

Source Files on job 4921.8 (TEST_AIIDA_BACKEND=sqlalchemy TEST_TYPE="tests")
  • Tree
  • List 0
  • Changed 58
  • Source Changed 52
  • Coverage Changed 40
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 849
  • Travis Job 4921.8
  • 2c961cbb on github
  • Prev Job for TEST_AIIDA_BACKEND=sqlalchemy TEST_TYPE="tests" on provenance_redesign (#4916.7)
  • Next Job for TEST_AIIDA_BACKEND=sqlalchemy TEST_TYPE="tests" on provenance_redesign (#4926.7)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc