-
Notifications
You must be signed in to change notification settings - Fork 30k
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
n-api: port test for make_callback #12409
Conversation
cc @nodejs/n-api FYI, @jasongin - noticed that one of the existing node::makeCallback tests was failing- I've commented that test case out in this test, and we can track that with a separate issue |
Thanks @vsemozhetbyt - pushed a quick commit to fix the typo that caused the CI break - I haven't had a chance to fully retest after the latest commit, but I'll try that in the morning. Apologies for the break 😞 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me, but it’s probably worth mentioning that this doesn’t seem to test the relevant use case for MakeCallback
, i.e. entering JS from a async worker’s complete
callback without any pre-existing JS stack.
That’s probably best kept for another PR, but something like that should be added.
|
||
napi_valuetype func_type; | ||
|
||
NAPI_CALL(env, napi_typeof(env, args[1], &func_type)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why args[1]
instead of func
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oversight - I'll change (initially everything was args[blah] but I refactored to use locals but missed updating this reference)
Oh, also: For test-only changes we prefer to use |
Thanks @addaleax @benjamingr for reviewing. @addaleax I can rewrite the commit title- is that what you meant, or did you mean I should update the PR title? |
@digitalinfinity Yes, updating the commit message would be good (you can squash the commits together at the same time, if you like). Or we just hope the person landing these changes doesn’t overlook these comments. 😄 |
b77207a
to
ed5a502
Compare
Thanks @addaleax - rebased and squashed. |
ed5a502
to
a880893
Compare
Improved test coverage for napi_make_callback by porting the existing addons/make_callback test to n-api PR-URL: #12409 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Landed in 70b51c8 |
opened a PR to revert this. It's broken on windows. |
Post mortem on having to revert this: I had seen the CI failure on windows but had moved this to the wrong list when I was organizing the set of PRs to land and which needed more time. Since the CI failure only shows on Windows, it didn't show up when I ran |
@digitalinfinity this is waiting for fixup due to the ci failures. |
New CI because the old one is inaccessible: https://ci.nodejs.org/job/node-test-commit/9514/ |
CI looks really good – I can’t see the old failures anymore, maybe this has been fixed as part of other changes? Can somebody from @nodejs/platform-windows check that this works fine now? |
I started a build. |
D:\code\node-cur\test\addons-napi\test_make_callback$ d:\code\node-cur\Debug\node.exe --napi-modules test.js
MyFunc was called with 3 arguments
(node:2820) Warning: N-API is an experimental feature and could change at any time.
D:\code\node-cur\test\addons-napi\test_make_callback$ echo %ERRORLEVEL%
0 and D:\code\node-cur\test\addons-napi\test_make_callback_recurse$ d:\code\node-cur\Debug\node.exe --napi-modules test.js
(node:10872) Warning: N-API is an experimental feature and could change at any time.
D:\code\node-cur\test\addons-napi\test_make_callback_recurse$ echo %ERRORLEVEL%
0 |
Whoops, my bad y'all, I missed that this guy hadn't landed yet- I'll fix the lint error and update |
a880893
to
3d917f9
Compare
Ok, rebased and fixed the lint error- can someone help trigger a CI run please for sanity? |
New CI: https://ci.nodejs.org/job/node-test-commit/9652/ |
gah- it fails on the older version of the compiler for windows- i'll update the PR |
Improved test coverage for napi_make_callback by porting the existing addons/make_callback test to n-api
3d917f9
to
7372a5c
Compare
Updated the PR to use const instead of constexpr- @nodejs/platform-windows what is the support story for compilers on Windows. The failing case was VS2015, but AFAIK VS2015 has supported |
It seems CI is accidentally using the wrong VS version to build the addons, since 12.0 is VS2013 (which is not supported for building Node.js). |
Ping @nodejs/build is win2008r2/vs2015 purposefully using Visual Studio 2015 without Update 1? |
Independent of the CI configuration, it looks like the CI for the latest commit passed- thanks @kunalspathak for triggering the CI |
@refack I think so, yes |
Improved test coverage for napi_make_callback by porting the existing addons/make_callback test to n-api PR-URL: nodejs#12409 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
Landed in 73d9c0f |
Post land CI: https://ci.nodejs.org/job/node-test-commit/9698/ |
A note about our CI configuration: All Windows 2008 machines run VS2013, since for building native modules VS2013 is still supported. So, the |
Improved test coverage for napi_make_callback by porting the existing addons/make_callback test to n-api PR-URL: nodejs#12409 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
Improved test coverage for napi_make_callback by porting the existing addons/make_callback test to n-api PR-URL: nodejs#12409 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Improved test coverage for napi_make_callback by porting the existing addons/make_callback test to n-api PR-URL: nodejs#12409 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
Improved test coverage for napi_make_callback by porting the existing addons/make_callback test to n-api Backport-PR-URL: #19447 PR-URL: #12409 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
Improved test coverage for napi_make_callback by porting the
existing addons/make_callback test to napi
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesAffected core subsystem(s)
n-api, test