Skip to content
Snippets Groups Projects

Support recursive definitions in scanner

Merged Alexander Schlemmer requested to merge f-recursive-definition into dev
All threads resolved!

Summary

Motivated by #16 (moved) I created two tests. One of them is failing, the second one is a workaround - but not completely identical, because the Experiment record is created on another level.

Bidirectional linking should be supported also on the same level.

There still is the issue (in pylib) that recursive definitions of records cannot be displayed/printed and lead to a RecursionError.

Important: This implementation only works if there aren't any recursively defined identifying properties.

Focus

Have a close look at the tests, whether there might be cases that need special treatment. The actual fix was much easier than expected.

Test Environment

There is a unit test and an integration test.

Check List for the Author

Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines

  • All automated tests pass
  • Reference related issues
  • Up-to-date CHANGELOG.md (or not necessary)
  • Up-to-date JSON schema (or not necessary)
  • Appropriate user and developer documentation (or not necessary)
    • How do I use the software? Assume "stupid" users.
    • How do I develop or debug the software? Assume novice developers.
  • Annotations in code (Gitlab comments)
    • Intent of new code
    • Problems with old code
    • Why this implementation?

Check List for the Reviewer

  • I understand the intent of this MR
  • All automated tests pass
  • Up-to-date CHANGELOG.md (or not necessary)
  • Appropriate user and developer documentation (or not necessary)
  • The test environment setup works and the intended behavior is reproducible in the test environment
  • In-code documentation and comments are up-to-date.
  • Check: Are there specifications? Are they satisfied?

For further good practices have a look at our review guidelines.

Edited by Florian Spreckelsen

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Alexander Schlemmer
  • Alexander Schlemmer
  • Florian Spreckelsen marked the checklist item I understand the intent of this MR as completed

    marked the checklist item I understand the intent of this MR as completed

  • Florian Spreckelsen marked the checklist item All automated tests pass as completed

    marked the checklist item All automated tests pass as completed

  • Florian Spreckelsen
  • Florian Spreckelsen
  • Florian Spreckelsen
  • Florian Spreckelsen marked the checklist item Up-to-date CHANGELOG.md (or not necessary) as completed

    marked the checklist item Up-to-date CHANGELOG.md (or not necessary) as completed

  • Florian Spreckelsen marked the checklist item Appropriate user and developer documentation (or not necessary) as completed

    marked the checklist item Appropriate user and developer documentation (or not necessary) as completed

  • Florian Spreckelsen marked the checklist item The test environment setup works and the intended behavior is reproducible in the test as completed

    marked the checklist item The test environment setup works and the intended behavior is reproducible in the test as completed

  • Florian Spreckelsen marked the checklist item Appropriate user and developer documentation (or not necessary) as incomplete

    marked the checklist item Appropriate user and developer documentation (or not necessary) as incomplete

  • Florian Spreckelsen marked the checklist item Appropriate user and developer documentation (or not necessary) as completed

    marked the checklist item Appropriate user and developer documentation (or not necessary) as completed

  • Florian Spreckelsen marked the checklist item In-code documentation and comments are up-to-date. as completed

    marked the checklist item In-code documentation and comments are up-to-date. as completed

  • added 1 commit

    • dcbfe3dc - Apply 1 suggestion(s) to 1 file(s)

    Compare with previous version

  • added 1 commit

    • f452017a - Apply 1 suggestion(s) to 1 file(s)

    Compare with previous version

  • added 1 commit

    • 5f5f3c4a - Apply 1 suggestion(s) to 1 file(s)

    Compare with previous version

  • added 2 commits

    • 73f1a84b - TST: simplified data needed for integration test
    • 5f73baea - TST: added test that bidirectional reference was inserted correctly

    Compare with previous version

  • Alexander Schlemmer resolved all threads

    resolved all threads

  • mentioned in commit 96ae0ada

  • Please register or sign in to reply
    Loading