Skip to content

Comments

Move no specific implementation tests to tck#3781

Open
samirromdhani wants to merge 2 commits intomainfrom
feat/3524_move_iidm_implementation_specific_unit_tests_to_the_tck
Open

Move no specific implementation tests to tck#3781
samirromdhani wants to merge 2 commits intomainfrom
feat/3524_move_iidm_implementation_specific_unit_tests_to_the_tck

Conversation

@samirromdhani
Copy link
Contributor

@samirromdhani samirromdhani commented Feb 18, 2026

Please check if the PR fulfills these requirements

  • The commit message follows our guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)
  • A PR or issue has been opened in all impacted repositories (if any)

Does this PR already have an issue describing the problem?

What kind of change does this PR introduce?

What is the current behavior?

What is the new behavior (if this is a feature change)?

Does this PR introduce a breaking change or deprecate an API?

  • Yes
  • No

If yes, please check if the following requirements are fulfilled

  • The Breaking Change or Deprecated label has been added
  • The migration steps are described in the following section

What changes might users need to make in their application due to this PR? (migration steps)

Other information:

  • Contract in TCK, impl-specific in impl
    • 3 changes from iidm-impl to tck
      • AbstractLoadDetailTest the attribute variableReactivePower in LoadDetail is required, (doc)
        Network store impl or new other implementation should keep that attribute required.
      • AbstractBusbarSectionPositionTest: an implementation for this should be added in network store, so they can fix exception type from IllegalArgumentException to ValidationException related to negative busbar index
      • AbstractTopologyTraverserTest

@samirromdhani samirromdhani linked an issue Feb 18, 2026 that may be closed by this pull request
@samirromdhani samirromdhani changed the title Move no specific implementation iidm unit tests to tck Move no specific implementation tests to tck Feb 18, 2026
@samirromdhani samirromdhani force-pushed the feat/3524_move_iidm_implementation_specific_unit_tests_to_the_tck branch from dc0e048 to 8e7f30e Compare February 19, 2026 08:14
@samirromdhani samirromdhani self-assigned this Feb 19, 2026
@samirromdhani samirromdhani marked this pull request as ready for review February 19, 2026 09:02
Copy link
Member

@rolnico rolnico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you tried to run those tests on powsybl-network-store, to see how it works with the other IIDM implementation?

@samirromdhani samirromdhani marked this pull request as draft February 19, 2026 16:15
@samirromdhani
Copy link
Contributor Author

Have you tried to run those tests on powsybl-network-store, to see how it works with the other IIDM implementation?

You’re right: some changes doesn’t pass with powsybl-network-store, and there also failing tests on main independently from my local test change, I plan to create an issue to track this.

Failing tests
  • GeneratorStartupTest > AbstractGeneratorStartupTest.testWrongData
  • NetworkTest > AbstractNetworkTest.makeMergeNetwork NullPointerException

They appear to come from recently added abstract TCK tests.

@rolnico
Copy link
Member

rolnico commented Feb 20, 2026

Have you tried to run those tests on powsybl-network-store, to see how it works with the other IIDM implementation?

You’re right: some changes doesn’t pass with powsybl-network-store, and there also failing tests on main independently from my local test change, I plan to create an issue to track this.

Failing tests
* `GeneratorStartupTest > AbstractGeneratorStartupTest.testWrongData`

* `NetworkTest > AbstractNetworkTest.makeMergeNetwork` NullPointerException

They appear to come from recently added abstract TCK tests.

It might be normal that some tests do not pass: for example the network-store implementation is not complete, so if the test is on something not yet implemented, it will fail.
What you have to check is if the implementation covers what your tests test, and if so, if the expectations are too restrictive or not

@samirromdhani samirromdhani force-pushed the feat/3524_move_iidm_implementation_specific_unit_tests_to_the_tck branch 2 times, most recently from 2b7a591 to dd1efa3 Compare February 20, 2026 10:43
keep AbstractLoadDetailTest the attribute variableReactivePower is required
keep AbstractBusbarSectionPositionTest

Signed-off-by: Samir Romdhani <samir.romdhani_externe@rte-france.com>
@samirromdhani samirromdhani force-pushed the feat/3524_move_iidm_implementation_specific_unit_tests_to_the_tck branch from dd1efa3 to 574a1e1 Compare February 20, 2026 12:41
@samirromdhani
Copy link
Contributor Author

samirromdhani commented Feb 20, 2026

Have you tried to run those tests on powsybl-network-store, to see how it works with the other IIDM implementation?

You’re right: some changes doesn’t pass with powsybl-network-store, and there also failing tests on main independently from my local test change, I plan to create an issue to track this.

Failing tests
* `GeneratorStartupTest > AbstractGeneratorStartupTest.testWrongData`

* `NetworkTest > AbstractNetworkTest.makeMergeNetwork` NullPointerException

They appear to come from recently added abstract TCK tests.

It might be normal that some tests do not pass: for example the network-store implementation is not complete, so if the test is on something not yet implemented, it will fail. What you have to check is if the implementation covers what your tests test, and if so, if the expectations are too restrictive or not

I agree that network-store implementation can be not complete, based on the following test message, it may be an issue on the core side

[ERROR]   NetworkTest>AbstractNetworkTest.makeMergeNetwork:60 » NullPointer Cannot invoke "com.powsybl.iidm.network.OverloadManagementSystemAdder.setId(String)" because the return value of "com.powsybl.iidm.network.Substation.newOverloadManagementSystem()" is null

I finally made only three changes from iidm-impl to TCK.
- AbstractLoadDetailTest generic test: the attribute variableReactivePower in LoadDetail is required, (doc)
Network store impl or new other implementation should keep that attribute required.
- AbstractBusbarSectionPositionTest: generic test, an implementation for this should be added in network store.
- AbstractTopologyTraverserTest. I think only the test testTraversalOrder can be not generic.

Signed-off-by: Samir Romdhani <samir.romdhani_externe@rte-france.com>
@samirromdhani samirromdhani force-pushed the feat/3524_move_iidm_implementation_specific_unit_tests_to_the_tck branch from 574a1e1 to dd7fcd5 Compare February 20, 2026 12:51
@samirromdhani samirromdhani marked this pull request as ready for review February 20, 2026 12:52
@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move iidm implementation-specific unit tests to the tck

2 participants