Skip to content

CLDSRV-720: Fix mocha run functional tests#5875

Merged
bert-e merged 10 commits intodevelopment/9.0from
bugfix/CLDSRV-720-func-tests
Jul 23, 2025
Merged

CLDSRV-720: Fix mocha run functional tests#5875
bert-e merged 10 commits intodevelopment/9.0from
bugfix/CLDSRV-720-func-tests

Conversation

@BourgoisMickael
Copy link
Copy Markdown
Contributor

@BourgoisMickael BourgoisMickael commented Jul 18, 2025

Functional tests are not running since 5 months.

Mocha breaking changes: https://github.com/mochajs/mocha/blob/main/CHANGELOG.md#boom-breaking-changes-2

mochajs/mocha#4175: Having been deprecated with a warning since v7.0.0, mocha.opts is no longer supported (@juergba)

✨ WORKAROUND: Replace mocha.opts with a configuration file.


Now some tests need some fixing


GCP createMPU error since arsenal 8.2.7 (scality/Arsenal#2458)

ReferenceError: createMpuKey is not defined
       at features.constructor.createMPU [as createMultipartUpload] (/home/runner/work/cloudserver/cloudserver/node_modules/arsenal/build/lib/storage/data/external/GCP/GcpApis/createMPU.js:34:14)
       at async.waterfall.next.uploadId.uploadId (utils/gcpUtils.js:41:27)
       at nextTask (/home/runner/work/cloudserver/cloudserver/node_modules/async/dist/async.js:5327:14)
       at Object.waterfall (/home/runner/work/cloudserver/cloudserver/node_modules/async/dist/async.js:5337:5)
       at gcpMpuSetup (utils/gcpUtils.js:40:18)
       at Context.gcpMpuSetupWrapper (test/GCP/object/completeMpu.js:28:5)
       at Context.beforeFn (test/GCP/object/completeMpu.js:96:32)
       at process.processImmediate (node:internal/timers:485:21)

For file tests add back nullVersionCompatMode matrix, but skip RestoreObject tests without nullVersionCompatMode as a fix is needed to handle that with metadata v1.

cf: https://scality.atlassian.net/browse/CLDSRV-721


cepth tests have a flaky (race condition)

   1) Object Part Copy
        With v4 signature
          When copy source was put by MPU
            should not corrupt object if overwriting an existing part by copying a part while the MPU is being completed:
      InternalError: We encountered an internal error. Please try again.

branch 9.1 ignore crr location on buckets 6947ff1

@bert-e
Copy link
Copy Markdown
Contributor

bert-e commented Jul 18, 2025

Hello bourgoismickael,

My role is to assist you with the merge of this
pull request. Please type @bert-e help to get information
on this process, or consult the user documentation.

Available options
name description privileged authored
/after_pull_request Wait for the given pull request id to be merged before continuing with the current one.
/bypass_author_approval Bypass the pull request author's approval
/bypass_build_status Bypass the build and test status
/bypass_commit_size Bypass the check on the size of the changeset TBA
/bypass_incompatible_branch Bypass the check on the source branch prefix
/bypass_jira_check Bypass the Jira issue check
/bypass_peer_approval Bypass the pull request peers' approval
/bypass_leader_approval Bypass the pull request leaders' approval
/approve Instruct Bert-E that the author has approved the pull request. ✍️
/create_pull_requests Allow the creation of integration pull requests.
/create_integration_branches Allow the creation of integration branches.
/no_octopus Prevent Wall-E from doing any octopus merge and use multiple consecutive merge instead
/unanimity Change review acceptance criteria from one reviewer at least to all reviewers
/wait Instruct Bert-E not to run until further notice.
Available commands
name description privileged
/help Print Bert-E's manual in the pull request.
/status Print Bert-E's current status in the pull request TBA
/clear Remove all comments from Bert-E from the history TBA
/retry Re-start a fresh build TBA
/build Re-start a fresh build TBA
/force_reset Delete integration branches & pull requests, and restart merge process from the beginning.
/reset Try to remove integration branches unless there are commits on them which do not appear on the source branch.

Status report is not available.

@codecov
Copy link
Copy Markdown

codecov bot commented Jul 18, 2025

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
18225 1 18224 0
View the top 1 failed test(s) by shortest run time
should not corrupt object if overwriting an existing part by copying a part while the MPU is being completed::Object Part Copy With default signature When copy source was put by MPU should not corrupt object if overwriting an existing part by copying a part while the MPU is being completed
Stack Traces | 0.026s run time
We encountered an internal error. Please try again.

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Comment thread tests/functional/aws-node-sdk/test/object/copyPart.js Outdated
Comment thread tests/functional/aws-node-sdk/test/object/mpuVersion.js Outdated
@BourgoisMickael BourgoisMickael force-pushed the bugfix/CLDSRV-720-func-tests branch 4 times, most recently from 16e0f9c to 5580335 Compare July 22, 2025 08:56
@bert-e
Copy link
Copy Markdown
Contributor

bert-e commented Jul 22, 2025

Request integration branches

Waiting for integration branch creation to be requested by the user.

To request integration branches, please comment on this pull request with the following command:

/create_integration_branches

Alternatively, the /approve and /create_pull_requests commands will automatically
create the integration branches.

@scality scality deleted a comment from bert-e Jul 22, 2025
@BourgoisMickael BourgoisMickael force-pushed the bugfix/CLDSRV-720-func-tests branch from 5580335 to b702331 Compare July 22, 2025 09:49
@BourgoisMickael
Copy link
Copy Markdown
Contributor Author

/create_integration_branches

@BourgoisMickael BourgoisMickael marked this pull request as ready for review July 22, 2025 09:49
@bert-e

This comment was marked as resolved.

@BourgoisMickael
Copy link
Copy Markdown
Contributor Author

/create_pull_requests

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR fixes functional tests that haven't been running for 5 months due to Mocha breaking changes that deprecated mocha.opts files. The main changes migrate from deprecated mocha.opts files to the new configuration format, update dependencies, and implement test stability improvements.

  • Migrates from deprecated mocha.opts files to Mocha configuration in package.json
  • Updates Arsenal dependency to fix GCP createMPU issues and addresses test failures
  • Adds nullVersionCompatMode matrix for file tests while skipping incompatible RestoreObject tests

Reviewed Changes

Copilot reviewed 17 out of 18 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tests/functional/raw-node/test/mocha.opts Removes deprecated mocha.opts file
tests/functional/raw-node/package.json Adds Mocha configuration to package.json
tests/functional/aws-node-sdk/test/mocha.opts Removes deprecated mocha.opts file
package.json Updates Arsenal dependency and adds Mocha configuration
.github/workflows/tests.yaml Adds nullVersionCompatMode matrix for file tests
Multiple test files Fixes import paths, test logic, and skips incompatible tests

Comment thread tests/functional/aws-node-sdk/test/object/getPartSize.js
Comment thread tests/functional/aws-node-sdk/test/object/getPartSize.js
Comment thread tests/functional/aws-node-sdk/test/object/100-continue.js
See https://github.com/mochajs/mocha/blob/main/CHANGELOG.md#boom-breaking-changes-2

> #4175: Having been deprecated with a warning since v7.0.0, mocha.opts is no longer supported (@juergba)
>
> ✨ WORKAROUND: Replace mocha.opts with a configuration file.
@BourgoisMickael BourgoisMickael force-pushed the bugfix/CLDSRV-720-func-tests branch from 529caf9 to b317d3e Compare July 22, 2025 13:07
@BourgoisMickael
Copy link
Copy Markdown
Contributor Author

/reset

@BourgoisMickael
Copy link
Copy Markdown
Contributor Author

/force_reset

@scality scality deleted a comment from bert-e Jul 22, 2025
@scality scality deleted a comment from bert-e Jul 22, 2025
@BourgoisMickael BourgoisMickael requested review from a team, dvasilas, tcarmet and tmacro July 22, 2025 15:13
Copy link
Copy Markdown
Contributor

@anurag4DSB anurag4DSB left a comment

Choose a reason for hiding this comment

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

Nice!

Comment thread .github/workflows/tests.yaml Outdated
Comment thread tests/functional/aws-node-sdk/test/bucket/put.js
Comment thread tests/functional/aws-node-sdk/test/service/get.js
Comment thread tests/functional/aws-node-sdk/test/bucket/get.js
@BourgoisMickael BourgoisMickael force-pushed the bugfix/CLDSRV-720-func-tests branch from b317d3e to eb292e2 Compare July 23, 2025 08:23
@BourgoisMickael
Copy link
Copy Markdown
Contributor Author

/force_reset

@bert-e

This comment was marked as resolved.

@bert-e

This comment was marked as resolved.

@bert-e
Copy link
Copy Markdown
Contributor

bert-e commented Jul 23, 2025

Integration data created

I have created the integration data for the additional destination branches.

The following branches will NOT be impacted:

  • development/7.10
  • development/7.4
  • development/7.70
  • development/8.8

Follow integration pull requests if you would like to be notified of
build statuses by email.

The following options are set: create_pull_requests, create_integration_branches

@bert-e
Copy link
Copy Markdown
Contributor

bert-e commented Jul 23, 2025

Waiting for approval

The following approvals are needed before I can proceed with the merge:

  • the author

  • 2 peers

The following options are set: create_pull_requests, create_integration_branches

@BourgoisMickael
Copy link
Copy Markdown
Contributor Author

/approve

@scality scality deleted a comment from bert-e Jul 23, 2025
Comment thread tests/functional/aws-node-sdk/test/object/getPartSize.js
@scality scality deleted a comment from bert-e Jul 23, 2025
@scality scality deleted a comment from bert-e Jul 23, 2025
@bert-e
Copy link
Copy Markdown
Contributor

bert-e commented Jul 23, 2025

I have successfully merged the changeset of this pull request
into targetted development branches:

  • ✔️ development/9.0

  • ✔️ development/9.1

The following branches have NOT changed:

  • development/7.10
  • development/7.4
  • development/7.70
  • development/8.8

Please check the status of the associated issue CLDSRV-720.

Goodbye bourgoismickael.

The following options are set: approve, create_pull_requests, create_integration_branches

@bert-e bert-e merged commit eb292e2 into development/9.0 Jul 23, 2025
27 checks passed
@bert-e bert-e deleted the bugfix/CLDSRV-720-func-tests branch July 23, 2025 08:43
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