Skip to content

[go1.20] Pull master into go1.20 again #1333

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 8 commits into from
Jul 24, 2024

Conversation

grantnelson-wf
Copy link
Collaborator

@grantnelson-wf grantnelson-wf commented Jul 24, 2024

This is a periodic pull of master into go1.20 to keep go1.20 in sync with master.

This is not a clean update because bumping NODE_VERSION conflicted with the bumped GO_VERSION and I had to fix the merge conflict.

CI should pass, but with this change, it should pass faster.

This is part of #1270

nevkontakte and others added 8 commits July 19, 2024 23:03
The main improvement here applies to crypto/internal/edwards25519/...,
which use testing/quick for fuzz-style tests. Because those tests rely
heavily on 64-bit math, they are much, much slower under GopherJS than
upstream.

I added a hook into testing/quick that allows us to cap the number of
iterations a test would be allowed to execute. Although that does
technically reduce coverage, it's better than disabling the test
entirely and we don't change any logic in those packages in the first
place.

I deleted some overlays that corresponded to the old location of the
same packages, the changes in this commit serve the same purpose.

I also shortened a couple of tests in image/gif and crypto/x509, for the
same reasons.
 - Instead of breaking into ArrayBuffer underlying memory via a
   hard-coded offset, we allocate a data buffer in the arena and copy
   data out using public API.
 - Update module initializer function to not generate any complier
   warnings.
 - Fix a bug in the arena which returned an invalid pointer. I have no
   idea how this worked before. `allocs_.end()` returned an iterator
   pointing to *after* the last element, which is invalid memory. So
   we've been previous copying data who knows where and nobody noticed.
NodeJS 12 has been end-of-life since 2022-04-30, and 18 is the current
oldest supported LTS version, which will be supported until 2025-04-30.

I also update npm dependencies to the modern versions.
The example relies on the local HTTP server, which is not fully
supported by GopherJS. Node 18 provides global Fetch API, so the
net/http package no longer falls back onto fake networking
automatically.
@nevkontakte nevkontakte merged commit eba1537 into gopherjs:go1.20 Jul 24, 2024
10 checks passed
@grantnelson-wf grantnelson-wf deleted the bumpMaster4 branch July 25, 2024 14:50
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.

3 participants