8000 Intermittent ` text file busy` Error When Running Ginkgo Labelled test pack subsets in Parallel on Jenkins · Issue #1558 · onsi/ginkgo · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Intermittent text file busy Error When Running Ginkgo Labelled test pack subsets in Parallel on Jenkins #1558
Closed
@NalisRI

Description

@NalisRI

Hi @onsi

Thank you for Ginkgo, it's been an incredibly helpful tool for testing needs!

Question
Is it a known limitation that multiple Ginkgo processes cannot run concurrently from the same package directory, even when using mutually exclusive label filters?

Problem Summary
We’re encountering the following error when running multiple Ginkgo commands in parallel using Jenkins parallel stages:

fork/exec /workspace/integration/tests.test: text file busy
This happens intermittently

Setup

I am splitting around 600 tests into two subsets with labels as two make commands like this

Makefile targets

run-integration-tests:
	ginkgo --procs=8 --compilers=8 --label-filter="integration_test" ./integration/tests
run-non-integration-tests:
	ginkgo --procs=10 --compilers=10 --label-filter="!integration_test" ./integration/tests

calling these commands as parallel stages, as part of high-level test stage

Jenkinsfile stages

parallel([
                  "integration Tests": {
                      stage('integration Tests') {
                      try {
                           sh 'make run-integration-tests'
                         } catch (e) {
                            currentBuild.result = 'FAILED'
                            error("integration label tests have failed")
                            }
                      }
                  },
                  "non-integration Tests": {
                    stage('non-integration Tests') {
                    try {
                         sh 'make run-non-integration-tests'
                       } catch (e) {
                          currentBuild.result = 'FAILED'
                          error("non-integration Tests have failed")
                          }
                    }
       }])

I believe the issue arises because both commands are accessing the temporary test binary (e.g., tests.test).

NOTE: This happens intermittently

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0