[converter] Avoid spying on properties of the 'tfOps' module#6563
Merged
mattsoulanille merged 8 commits intotensorflow:masterfrom Jun 29, 2022
Merged
[converter] Avoid spying on properties of the 'tfOps' module#6563mattsoulanille merged 8 commits intotensorflow:masterfrom
mattsoulanille merged 8 commits intotensorflow:masterfrom
Conversation
According to the ESModules standard, code can not modify properties of modules. TypeScript 4 will enforce this rule. This in particular affects tests for executors in tfjs-converter, in which we often spy on tfOps. This PR removes all instances of `spyOn(tfOps,...)` and replaces them with a separate `spyOps` mock / fake which is passed to the `executeOp` function. This PR was part of the larger TS4 upgrade PR (tensorflow#6346), but I'm splitting that PR into pieces that can be merged while we're still using TS3 because it's too large to keep up-to-date.
Member
Author
pyu10055
approved these changes
Jun 28, 2022
Collaborator
pyu10055
left a comment
There was a problem hiding this comment.
Thanks! LGTM
Reviewed 1 of 1 files at r1, 44 of 44 files at r2, 3 of 3 files at r3, 1 of 1 files at r4, 2 of 2 files at r5, all commit messages.
Reviewable status:complete! 1 of 1 approvals obtained (waiting on @Linchenn)
Linchenn
approved these changes
Jun 28, 2022
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.
According to the ESModule standard, properties of modules are immutable. TypeScript 4 will enforce this rule. This in particular affects tests for executors in tfjs-converter, in which we often spy on tfOps.
This PR removes all instances of
spyOn(tfOps,...)and replaces them with a separatespyOpsmock / fake which is passed to theexecuteOpfunction.It also removes spying on the
iomodule ingraph_model_test.ts.This PR was part of the larger TS4 upgrade PR (#6346, #5561), but I'm splitting that PR into pieces that can be merged while we're still using TS3 because it's too large to keep up-to-date.
This PR also bumps
libtoes2019in the root tsconfig to allow usingObject.fromEntries. This shouldn't affect the code we ship since it's still compiled to the es2017 target.Note that this PR does not bump TypeScript to version 4. It leaves it at 3.
To see the logs from the Cloud Build CI, please join either our discussion or announcement mailing list.
This change is