Skip to content

Unit Test Suite Update#352

Merged
FinnWilkinson merged 99 commits intodevfrom
unit-test-update
Feb 2, 2024
Merged

Unit Test Suite Update#352
FinnWilkinson merged 99 commits intodevfrom
unit-test-update

Conversation

@FinnWilkinson
Copy link
Copy Markdown
Contributor

@FinnWilkinson FinnWilkinson commented Dec 6, 2023

This pull request aims to update the Unit test suite of SimEng such that all classes have comprehensive coverage of their functionality tested. Closes #340

No tests have been added / updated for the following classes due to radical changes / replacement in current Pull Requests or in the very near future:

  • CoreInstance
    • Soon to be removed/radically changed in near future
  • MicroDecoder
    • Logic should be tested via the MicroOperation.cc regression tests
    • All functions except decode (as of this PR) are now private - this change was made to conform to standard OOP practices; given they are only used within the class itself.

This PR also contains a fixes for issues #365, #202, #133.

@FinnWilkinson FinnWilkinson added the tests Testing and CI label Dec 6, 2023
@FinnWilkinson FinnWilkinson self-assigned this Dec 6, 2023
@FinnWilkinson FinnWilkinson linked an issue Dec 6, 2023 that may be closed by this pull request
FinnWilkinson and others added 25 commits December 14, 2023 14:44
Comment thread src/include/simeng/arch/aarch64/Instruction.hh
Comment thread src/lib/arch/aarch64/Instruction_decode.cc Outdated
Comment thread src/lib/config/ModelConfig.cc
Comment thread test/unit/FixedLatencyMemoryInterfaceTest.cc
Comment thread src/lib/arch/aarch64/Instruction_decode.cc Outdated
Comment thread src/lib/arch/aarch64/Instruction_decode.cc Outdated
jj16791
jj16791 previously approved these changes Jan 27, 2024
@FinnWilkinson FinnWilkinson linked an issue Jan 29, 2024 that may be closed by this pull request
@FinnWilkinson FinnWilkinson linked an issue Jan 29, 2024 that may be closed by this pull request
ABenC377
ABenC377 previously approved these changes Jan 30, 2024
Copy link
Copy Markdown
Contributor

@ABenC377 ABenC377 left a comment

Choose a reason for hiding this comment

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

👍🏻

JosephMoore25
JosephMoore25 previously approved these changes Jan 31, 2024
Copy link
Copy Markdown
Contributor

@JosephMoore25 JosephMoore25 left a comment

Choose a reason for hiding this comment

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

Couldn't spot anything that needs changing, looks all good - nice work.

Only thing to consider, although not worth blocking this PR over, is the files src/include/simeng/arch/aarch64/helpers/load.hh and store.hh. These are empty templates for future helper functions, so should either be removed until needed or ideally a ToDo added in each to explain why they're there, although perhaps this can be handled in a future cleanup PR instead.

Copy link
Copy Markdown
Contributor

@dANW34V3R dANW34V3R left a comment

Choose a reason for hiding this comment

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

Is there a way we can quantify our coverage now that these tests are implemented?

Comment thread src/include/simeng/arch/riscv/Instruction.hh Outdated
Comment thread src/lib/arch/riscv/ExceptionHandler.cc
Comment thread src/include/simeng/arch/aarch64/helpers/load.hh Outdated
Comment thread test/unit/FixedLatencyMemoryInterfaceTest.cc
Comment thread test/unit/FlatMemoryInterfaceTest.cc Outdated
Comment thread test/unit/pipeline/FetchUnitTest.cc
Comment thread test/unit/ShiftValueTest.cc
Comment thread test/unit/FixedLatencyMemoryInterfaceTest.cc Outdated
@FinnWilkinson FinnWilkinson merged commit f5e7aac into dev Feb 2, 2024
@FinnWilkinson FinnWilkinson deleted the unit-test-update branch February 21, 2024 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

0.9.6 Part of SimEng Release 0.9.6 enhancement New feature or request tests Testing and CI

Projects

Archived in project

5 participants