Conversation
ReScript Signals benchmark: PR vs mainCompared implementations:
Overall:
Per-test delta (lower is better):
Note: single-machine run in CI. Numbers can vary with runner load and Node/V8 version. |
Reactivity benchmark: PR vs top frameworksCompared implementations:
Overall ranking (lower total ms is better):
Per-test runtime (ms):
Note: single-machine run in CI. Numbers can vary with runner load and Node/V8 version. |
Install zekr 2.1.0-beta.2 and use its `zekr` CLI to discover and run `*.test.res` files, replacing the hand-written Runner entry points. - Rename test files to the `*.test.res` convention. Suites now register themselves via `Suite.make`, so `RunTests.res` and the explicit `Runner.runSuites` calls are removed. - beta.2's harness loads the Runner compiled with the same suffix as each test file, so the CLI works with the existing `.res.mjs` build with no packaging changes. - Refresh the CONTRIBUTING testing guide for the new convention.
Owner
Author
|
Testing the scan-and-run feature from brnrdog/zekr#28 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Installs
zekr@2.1.0-beta.2and refactors both packages' tests to run through zekr's newzekrCLI instead of hand-writtenRunnerentrypoints.The CLI discovers every
*.test.resfile and runs each one in its own process. Suites created withSuite.makeregister themselves with zekr automatically, so the explicitRunner.runSuitescalls and the aggregatingRunTests.resare no longer needed.beta.2's harness loads the
Runnermodule compiled with the same suffix as each test file, so both share oneRegistryinstance. That means the CLI works with this repo's existing.res.mjsbuild — no packaging/suffix changes required.Changes
zekr@2.1.0-beta.2(root dev dependency).*.test.resconvention the CLI matches:SignalTests.res→Signal.test.resComputedTests.res→Computed.test.resEffectTests.res→Effect.test.resSignalsReact_test.res→SignalsReactHooks.test.res(the react package has no namespace, so aSignalsReact.test.resmodule name would collide withsrc/SignalsReact.res).RunTests.resand the explicitRunner.runSuites(...)call from the react tests — suites now auto-register.testscripts in both packages torescript && zekr --dir tests.*.test.resconvention.No changes to the published build output,
rescript.jsonsuffix,main/module, or benchmark scripts.Verification
npm test(clean build) passes:rescript-signals: 3 files — Signal (18), Computed (19), Effect (15)rescript-signals-react: 1 file — 17 hook/edge-case tests