Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(wasm): Wasm Integration Tests working in CI #197

Merged
merged 28 commits into from
Apr 9, 2024

Conversation

stevenj
Copy link
Collaborator

@stevenj stevenj commented Apr 4, 2024

Description

Get wasm integration tests working properly and define a structure which makes it easy to add them.

Related Issue(s)

Closes #103
Closes #99
Closes #84
Closes #94
Closes #107

Description of Changes

  1. Fixes all the bugs that exist in the Wasm integration test runner.
  2. No longer crashes if there are no wasm tests to run (which is the case during a build).
  3. Tests and benches can be properly listed.
  4. Logging is enabled so we can see the log test result, plus its possible to use the log api's to help debug wasm tests now.
  5. Tests are properly gathered and can be listed correctly.
  6. The wasm integration smoke test has been properly named, and it executes correctly.
  7. WASM Tests are re-organized into a cleaner structure.
  8. WASM tests do not run during a build, they are a test target instead.
  9. Each WASM integration test lives in its own directory which makes it easier to maintain them.
  10. The wasm stub has been renamed and made distinct from tests, because they are not the same thing, at all.
  11. cleaned up the general structure of C tests and removed all build warnings for them.
  12. Logging, hashing and Crypto are all running wasm tests properly in CI now.
  13. Makes the hermes build verbose, so that unit/integration and bench test details can be observed in CI.

Screenshots

Please confirm the following checks

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream module

@stevenj stevenj self-assigned this Apr 4, 2024
@stevenj stevenj added the review me PR is ready for review label Apr 4, 2024
@stevenj stevenj added this to the M2: Hermes Foundations milestone Apr 4, 2024
Mr-Leshiy
Mr-Leshiy previously approved these changes Apr 4, 2024
Copy link
Contributor

@Mr-Leshiy Mr-Leshiy left a comment

Choose a reason for hiding this comment

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

LGTM

hermes/bin/src/runtime_extensions/hermes/crypto/host.rs Outdated Show resolved Hide resolved
wasm/integration-test/crypto/crypto.c Show resolved Hide resolved
wasm/integration-test/crypto/crypto.c Outdated Show resolved Hide resolved
saibatizoku
saibatizoku previously approved these changes Apr 4, 2024
Copy link
Contributor

@saibatizoku saibatizoku left a comment

Choose a reason for hiding this comment

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

LGTM

FelipeRosa
FelipeRosa previously approved these changes Apr 4, 2024
Copy link

@FelipeRosa FelipeRosa left a comment

Choose a reason for hiding this comment

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

LGTM

bkioshn
bkioshn previously requested changes Apr 4, 2024
wasm/integration-test/crypto/crypto.c Show resolved Hide resolved
Co-authored-by: bkioshn <35752733+bkioshn@users.noreply.github.com>
@stevenj stevenj dismissed stale reviews from FelipeRosa and saibatizoku via e3f4e50 April 5, 2024 03:47
stevenj and others added 3 commits April 5, 2024 10:47
Co-authored-by: bkioshn <35752733+bkioshn@users.noreply.github.com>
* feat(wip): stub hermes-cron integration test cases

* feat: add tests for cron api functions

* fix: compare returned string with expected
…198)

* feat(wasm): Add Cardano Runtime Extension integration tests skeleton

* feat(wasm): Use pallas to parse blocks in Cardano RTE integration test component

---------

Co-authored-by: Steven Johnson <stevenj@users.noreply.github.com>
Copy link
Collaborator

@minikin minikin left a comment

Choose a reason for hiding this comment

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

I left a minor question other than that LGTM.

hermes/bin/tests/wasm-integration/main.rs Outdated Show resolved Hide resolved
Copy link
Contributor

@bkioshn bkioshn left a comment

Choose a reason for hiding this comment

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

LGTM 🙌🏼

stevenj and others added 8 commits April 5, 2024 22:23
Co-authored-by: bkioshn <35752733+bkioshn@users.noreply.github.com>
* feat: initial commit

* feat: simple function

* ci: add test

* test: restructure and add test to localtime

* fix: minor format

* refactor: remove localtime name

* fix: localtime issue

* feat: clocks test

* fix: test warms

* fix: use existing tests

* chore: earthfile tmp

* fix: builder

* fix: remove wall test

* chore: fmtfix
@stevenj stevenj merged commit 7f662dd into main Apr 9, 2024
32 checks passed
@stevenj stevenj deleted the feat/verbose-rust-unit-tests branch April 9, 2024 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment