Skip to content

test_: run wakuext tests on light client as well #6518

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

Merged
merged 4 commits into from
Apr 22, 2025

Conversation

fbarbu15
Copy link
Contributor

No description provided.

@status-im-auto
Copy link
Member

status-im-auto commented Apr 11, 2025

Jenkins Builds

Click to see older builds (26)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ a91bd2c #1 2025-04-11 06:59:02 ~3 min android 📦aar
✔️ a91bd2c #1 2025-04-11 06:59:03 ~3 min ios 📦zip
✔️ a91bd2c #1 2025-04-11 07:00:36 ~4 min macos 📦zip
✔️ a91bd2c #1 2025-04-11 07:01:10 ~5 min macos 📦zip
✔️ a91bd2c #1 2025-04-11 07:02:07 ~6 min linux 📦zip
✔️ a91bd2c #1 2025-04-11 07:02:21 ~6 min windows 📦zip
✖️ a91bd2c #1 2025-04-11 07:09:46 ~13 min tests-rpc 📄log
✖️ a91bd2c #2 2025-04-11 07:27:50 ~9 min tests-rpc 📄log
✔️ a91bd2c #1 2025-04-11 07:31:42 ~35 min tests 📄log
✖️ a91bd2c #3 2025-04-11 09:53:17 ~10 min tests-rpc 📄log
✔️ 3cd7ee9 #2 2025-04-11 12:33:50 ~3 min ios 📦zip
✔️ 3cd7ee9 #2 2025-04-11 12:34:17 ~3 min android 📦aar
✔️ 3cd7ee9 #2 2025-04-11 12:35:16 ~4 min windows 📦zip
✔️ 3cd7ee9 #2 2025-04-11 12:35:22 ~4 min macos 📦zip
✔️ 3cd7ee9 #2 2025-04-11 12:35:59 ~5 min macos 📦zip
✔️ 3cd7ee9 #2 2025-04-11 12:37:28 ~6 min linux 📦zip
✖️ 3cd7ee9 #4 2025-04-11 12:46:08 ~15 min tests-rpc 📄log
✔️ 3cd7ee9 #2 2025-04-11 13:04:47 ~33 min tests 📄log
✔️ a72eedd #3 2025-04-11 12:56:53 ~3 min ios 📦zip
✔️ a72eedd #3 2025-04-11 12:57:00 ~3 min android 📦aar
✔️ a72eedd #3 2025-04-11 12:58:21 ~4 min windows 📦zip
✔️ a72eedd #3 2025-04-11 12:58:23 ~4 min macos 📦zip
✔️ a72eedd #3 2025-04-11 12:59:02 ~5 min macos 📦zip
✔️ a72eedd #3 2025-04-11 13:00:16 ~6 min linux 📦zip
✖️ a72eedd #5 2025-04-11 13:05:51 ~11 min tests-rpc 📄log
✔️ a72eedd #3 2025-04-11 13:39:57 ~35 min tests 📄log
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 59bd7be #4 2025-04-17 06:42:50 ~3 min android 📦aar
✔️ 59bd7be #4 2025-04-17 06:43:01 ~3 min ios 📦zip
✔️ 59bd7be #4 2025-04-17 06:44:29 ~4 min macos 📦zip
✔️ 59bd7be #4 2025-04-17 06:45:04 ~5 min macos 📦zip
✔️ 59bd7be #4 2025-04-17 06:45:50 ~5 min windows 📦zip
✔️ 59bd7be #4 2025-04-17 06:45:58 ~6 min linux 📦zip
✖️ 59bd7be #6 2025-04-17 06:50:04 ~10 min tests-rpc 📄log
✔️ 59bd7be #4 2025-04-17 07:14:26 ~34 min tests 📄log
✔️ 59bd7be #7 2025-04-17 11:13:11 ~7 min tests-rpc 📄log
✔️ 59bd7be #10 2025-04-22 06:39:21 ~7 min tests-rpc 📄log
✖️ 59bd7be #11 2025-04-22 06:51:30 ~7 min tests-rpc 📄log
✔️ 2413ad7 #5 2025-04-17 12:17:32 ~3 min android 📦aar
✔️ 2413ad7 #5 2025-04-17 12:18:11 ~3 min ios 📦zip
✔️ 2413ad7 #5 2025-04-17 12:18:54 ~4 min windows 📦zip
✔️ 2413ad7 #5 2025-04-17 12:19:37 ~5 min macos 📦zip
✔️ 2413ad7 #5 2025-04-17 12:19:52 ~5 min macos 📦zip
✔️ 2413ad7 #5 2025-04-17 12:20:51 ~6 min linux 📦zip
✖️ 2413ad7 #8 2025-04-17 12:24:03 ~9 min tests-rpc 📄log
✔️ 2413ad7 #5 2025-04-17 12:49:30 ~34 min tests 📄log
✔️ 2413ad7 #9 2025-04-17 14:27:06 ~7 min tests-rpc 📄log
✔️ 2413ad7 #12 2025-04-22 07:30:05 ~7 min tests-rpc 📄log
✔️ 2413ad7 #13 2025-04-22 07:38:23 ~7 min tests-rpc 📄log
✔️ 2413ad7 #14 2025-04-22 08:30:53 ~7 min tests-rpc 📄log
✖️ 2413ad7 #15 2025-04-22 08:44:01 ~7 min tests-rpc 📄log
✔️ 2413ad7 #16 2025-04-22 09:04:41 ~7 min tests-rpc 📄log
✔️ 2413ad7 #17 2025-04-22 09:12:08 ~7 min tests-rpc 📄log

Copy link

codecov bot commented Apr 11, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 60.44%. Comparing base (ef99f2a) to head (2413ad7).
Report is 3 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #6518      +/-   ##
===========================================
+ Coverage    60.32%   60.44%   +0.12%     
===========================================
  Files          830      830              
  Lines       103573   103573              
===========================================
+ Hits         62476    62604     +128     
+ Misses       33566    33487      -79     
+ Partials      7531     7482      -49     
Flag Coverage Δ
functional 25.98% <ø> (+0.65%) ⬆️
unit 58.16% <ø> (-0.03%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

see 41 files with indirect coverage changes

@fbarbu15
Copy link
Contributor Author

Hi @igor-sirotin I've enabled the waku tests to run also on light client but the tests are less reliable when light mode is enabled:
https://ci.status.im/blue/organizations/jenkins/status-go%2Fprs%2Ftests-rpc/detail/PR-6518/5/tests
I also tried increasing the timeout but I still get random failures.
How do you propose to continue?

@igor-sirotin
Copy link
Collaborator

@fbarbu15 thanks for doing this ❤️

tests are less reliable when light mode is enabled

This is very interesting. Let's wait a bit until #6515 is merged and re-run these tests after.

If the issues persists, then I believe they are legit and deserves investigation on status-go level.
If not, then we should still investigate, but with focus on the Waku fleet itself.

cc @churik @Ivansete-status

@fbarbu15 fbarbu15 force-pushed the test-run-on-waku-light-client branch from a72eedd to 59bd7be Compare April 17, 2025 06:39
@fbarbu15
Copy link
Contributor Author

@fbarbu15 thanks for doing this ❤️

tests are less reliable when light mode is enabled

This is very interesting. Let's wait a bit until #6515 is merged and re-run these tests after.

If the issues persists, then I believe they are legit and deserves investigation on status-go level. If not, then we should still investigate, but with focus on the Waku fleet itself.

cc @churik @Ivansete-status

hi, local nodes are indeed helping and the the fail rate decreased to only 1 test (from 9): https://ci.status.im/blue/organizations/jenkins/status-go%2Fprs%2Ftests-rpc/detail/PR-6518/6/tests
I can probably increase timeouts and/or retries to make it green but wanted to check with you 1st so we don't "hide" it

@churik
Copy link
Member

churik commented Apr 17, 2025

@fbarbu15 @igor-sirotin

We've been consistently facing issues with delays in 1-1 messaging (on and off) , and it’s been quite hard to pinpoint the root cause when testing purely from the client side.

With these tests, it feels like we're getting closer to identifying the underlying issue—likely involving both status-go and the Waku fleets.

It’s great to see this effort coming to life! Let me know if I can support in any way.

@igor-sirotin
Copy link
Collaborator

@fbarbu15 thanks for doing this 👍

The flaky test

jsonschema.exceptions.ValidationError: 'contactRequestState' is a required property

Looks like just a schema issue.
contactRequestState property is marked as omitempty, so it can be empty:

// ContactRequestState is the state of the contact request message
ContactRequestState ContactRequestState `json:"contactRequestState,omitempty"`

  1. It's not directly related to relay/filter in any way. increasing timeouts probably won't help.
  2. Is it possible to modify the schema to support omitempty?
    I know we've discussed the idea of generating schemas. Let's consider this in May, but maybe there's some quick fix available now?
  3. Not sure why this happens with filter. Perhaps some messages arrive slower or in different order. As a consequence, we get different MessengerResponse on wakuext_sendEmojiReactionRetraction call.

I've restarted the tests to see if the same test fails, or anything else.

The production fleet

This is vert interesting that this test passes with a local fleet, but fails with real fleet. All eyes on this 👀
Would it be the fleet itself, some high network delays, or status-go code not correctly interacting with the prod fleet - we should investigate. But the baseline logic in status-go seem to be correct, since it works in "perfect conditions" with a local fleet.

@Ivansete-status @plopezlpz @fbarbu15, would be nice if you guys can collaborate on this investigation. I will only be able to help somewhere after the offsite.

@igor-sirotin
Copy link
Collaborator

@fbarbu15 fbarbu15 marked this pull request as ready for review April 17, 2025 16:01
@fbarbu15
Copy link
Contributor Author

haha, well it passed now https://ci.status.im/blue/organizations/jenkins/status-go%2Fprs%2Ftests-rpc/detail/PR-6518/7/pipeline/

Thanks for looking into it, I removed the optional param for now

Copy link
Collaborator

@igor-sirotin igor-sirotin left a comment

Choose a reason for hiding this comment

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

LGTM, thanks @fbarbu15!

Just one thing:
can you please run the test suite ~5-10 times before merging to ensure it's working perfectly in light mode? 🙏
Just to prevent potential developers frustration of flaky tests 😄

@fbarbu15
Copy link
Contributor Author

LGTM, thanks @fbarbu15!

Just one thing: can you please run the test suite ~5-10 times before merging to ensure it's working perfectly in light mode? 🙏 Just to prevent potential developers frustration of flaky tests 😄

I've run it several times and the light mode tests are stable

@fbarbu15 fbarbu15 merged commit 99f5b13 into develop Apr 22, 2025
19 checks passed
@fbarbu15 fbarbu15 deleted the test-run-on-waku-light-client branch April 22, 2025 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants