wallabyjs / public

Repository for Wallaby.js questions and issues
http://wallabyjs.com
759 stars 45 forks source link

Wallaby crashes after some changes in the test file #2988

Closed apaniel closed 2 years ago

apaniel commented 2 years ago

Issue description or question

When starting wallaby it works fine, then I start making some modifications to the test file and ends up crashing after 1 or 2 changes. If I keep making changes it eventually recovers, but it is not running for every change so it is difficult to rely on wallaby as a fast feedback tool for tests.

Wallaby diagnostics report

{
  editorVersion: '1.67.1',
  pluginVersion: '1.0.337',
  editorType: 'VSCode',
  osVersion: 'darwin 21.3.0',
  nodeVersion: 'v12.22.11',
  coreVersion: '1.0.1265',
  checksum: 'ODZhZmY1YzI3YjRhYWVjYTk1YmIyZDZkNWNkOWMwZTMsMTY2NjMxMDQwMDAwMCww',
  config: {
    diagnostics: {
      jest: {
        config: {
          configs: [
            {
              automock: false,
              cache: true,
              cacheDirectory: '/private/var/folders/ps/4n0jh1l17nd4s9bxcqvvs_xh0000gq/T/jest_dz',
              clearMocks: false,
              coveragePathIgnorePatterns: [ '/node_modules/' ],
              cwd: '<homeDir>/Desktop/Repos/xxx/app/services/api',
              dependencyExtractor: undefined,
              detectLeaks: false,
              detectOpenHandles: false,
              displayName: undefined,
              errorOnDeprecated: false,
              extensionsToTreatAsEsm: [],
              extraGlobals: [],
              filter: undefined,
              forceCoverageMatch: [],
              globalSetup: undefined,
              globalTeardown: undefined,
              globals: { 'ts-jest': { isolatedModules: true } },
              haste: { computeSha1: false, enableSymlinks: false, forceNodeFilesystemAPI: false, throwOnModuleCollision: false },
              injectGlobals: true,
              moduleDirectories: [ 'node_modules' ],
              moduleFileExtensions: [ 'js', 'jsx', 'ts', 'tsx', 'json', 'node' ],
              moduleLoader: undefined,
              moduleNameMapper: [ [ '^~/(.*)$', '<homeDir>/Desktop/Repos/xxx/app/services/api/src/$1' ] ],
              modulePathIgnorePatterns: [],
              modulePaths: undefined,
              name: '19e842a22d49835186cf85aa60c4b634',
              prettierPath: 'prettier',
              resetMocks: true,
              resetModules: false,
              resolver: undefined,
              restoreMocks: true,
              rootDir: '<homeDir>/Desktop/Repos/xxx/app/services/api',
              roots: [ '<homeDir>/Desktop/Repos/xxx/app/services/api' ],
              runner: '<homeDir>/Desktop/Repos/xxx/app/services/api/node_modules/jest-runner/build/index.js',
              setupFiles: [ '<homeDir>/Desktop/Repos/xxx/app/services/api/jest.setup.ts' ],
              setupFilesAfterEnv: [ '<homeDir>/Desktop/Repos/xxx/app/services/api/jest.matchers.ts', '<homeDir>/Desktop/Repos/xxx/app/services/api/jest.resetMocks.ts' ],
              skipFilter: false,
              skipNodeResolution: undefined,
              slowTestThreshold: 5,
              snapshotFormat: undefined,
              snapshotResolver: undefined,
              snapshotSerializers: [],
              testEnvironment: '<homeDir>/Desktop/Repos/xxx/app/services/api/node_modules/jest-environment-node/build/index.js',
              testEnvironmentOptions: {},
              testLocationInResults: false,
              testMatch: [],
              testPathIgnorePatterns: [ '/node_modules', '/prod_node_modules/' ],
              testRegex: [ 'src/.*\\.mspec\\.[jt]s$' ],
              testRunner: '<homeDir>/Desktop/Repos/xxx/app/services/api/node_modules/jest-circus/runner.js',
              testURL: 'http://localhost',
              timers: 'real',
              transform: [ [ '^.+\\.tsx?$', '<homeDir>/Desktop/Repos/xxx/app/services/api/node_modules/ts-jest/dist/index.js', {} ] ],
              transformIgnorePatterns: [ '/node_modules/', '\\.pnp\\.[^\\/]+$' ],
              unmockedModulePathPatterns: undefined,
              watchPathIgnorePatterns: []
            }
          ],
          globalConfig: {
            bail: 0,
            changedFilesWithAncestor: false,
            changedSince: undefined,
            collectCoverage: false,
            collectCoverageFrom: [],
            collectCoverageOnlyFrom: undefined,
            coverageDirectory: '<homeDir>/Desktop/Repos/xxx/app/services/api/coverage',
            coverageProvider: 'babel',
            coverageReporters: [ 'json', 'text', 'lcov', 'clover' ],
            coverageThreshold: undefined,
            detectLeaks: false,
            detectOpenHandles: false,
            errorOnDeprecated: false,
            expand: false,
            filter: undefined,
            findRelatedTests: false,
            forceExit: false,
            globalSetup: undefined,
            globalTeardown: undefined,
            json: false,
            lastCommit: false,
            listTests: false,
            logHeapUsage: false,
            maxConcurrency: 5,
            maxWorkers: 9,
            noSCM: undefined,
            noStackTrace: false,
            nonFlagArgs: undefined,
            notify: false,
            notifyMode: 'failure-change',
            onlyChanged: false,
            onlyFailures: false,
            outputFile: undefined,
            passWithNoTests: false,
            projects: [],
            replname: undefined,
            reporters: undefined,
            rootDir: '<homeDir>/Desktop/Repos/xxx/app/services/api',
            runTestsByPath: false,
            silent: undefined,
            skipFilter: false,
            snapshotFormat: undefined,
            testFailureExitCode: 1,
            testNamePattern: undefined,
            testPathPattern: '',
            testResultsProcessor: undefined,
            testSequencer: '<homeDir>/Desktop/Repos/xxx/app/services/api/node_modules/@jest/test-sequencer/build/index.js',
            testTimeout: undefined,
            updateSnapshot: 'new',
            useStderr: false,
            verbose: undefined,
            watch: false,
            watchAll: false,
            watchPlugins: undefined,
            watchman: true
          },
          hasDeprecationWarnings: false,
          wallaby: {
            roots: [],
            watchPathIgnorePatterns: [
              '/node_modules/',
              '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
              '/private/var/folders/ps/4n0jh1l17nd4s9bxcqvvs_xh0000gq/T/jest_dz',
              '/node_modules',
              '/prod_node_modules/',
              '\\./coverage'
            ],
            testPathIgnorePatterns: [
              '/node_modules/',
              '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
              '/private/var/folders/ps/4n0jh1l17nd4s9bxcqvvs_xh0000gq/T/jest_dz',
              '/node_modules',
              '/prod_node_modules/',
              '\\./coverage'
            ],
            testMatch: [],
            testRegex: [ 'src/.*\\.mspec\\.[jt]s$' ]
          }
        }
      }
    },
    testFramework: { version: 'jest@24.8.0', configurator: 'jest@24.8.0', reporter: 'jest@24.8.0', starter: 'jest@24.8.0', autoDetected: true },
    filesWithCoverageCalculated: [],
    filesWithNoCoverageCalculated: [],
    globalSetup: false,
    micromatch: true,
    files: [
      { pattern: '/node_modules/', regexp: /\/node_modules\//, ignore: true, trigger: true, load: true },
      { pattern: '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/', regexp: /\.\/dist\/|\.\/build\/|\.\/coverage\/|\.\/git\/|\/\..+\//, ignore: true, trigger: true, load: true },
      {
        pattern: '/private/var/folders/ps/4n0jh1l17nd4s9bxcqvvs_xh0000gq/T/jest_dz',
        regexp: /\/private\/var\/folders\/ps\/4n0jh1l17nd4s9bxcqvvs_xh0000gq\/T\/jest_dz/,
        ignore: true,
        trigger: true,
        load: true
      },
      { pattern: '/node_modules', regexp: /\/node_modules/, ignore: true, trigger: true, load: true },
      { pattern: '/prod_node_modules/', regexp: /\/prod_node_modules\//, ignore: true, trigger: true, load: true },
      { pattern: '\\./coverage', regexp: /\.\/coverage/, ignore: true, trigger: true, load: true },
      { pattern: '**/**', ignore: false, trigger: true, load: true, order: 1 },
      { pattern: 'src/.*\\.mspec\\.[jt]s$', regexp: /src\/.*\.mspec\.[jt]s$/, ignore: true, trigger: true, load: true }
    ],
    tests: [
      { pattern: '/node_modules/', regexp: /\/node_modules\//, ignore: true, trigger: true, load: true, test: true },
      {
        pattern: '\\./dist/|\\./build/|\\./coverage/|\\./git/|/\\..+/',
        regexp: /\.\/dist\/|\.\/build\/|\.\/coverage\/|\.\/git\/|\/\..+\//,
        ignore: true,
        trigger: true,
        load: true,
        test: true
      },
      {
        pattern: '/private/var/folders/ps/4n0jh1l17nd4s9bxcqvvs_xh0000gq/T/jest_dz',
        regexp: /\/private\/var\/folders\/ps\/4n0jh1l17nd4s9bxcqvvs_xh0000gq\/T\/jest_dz/,
        ignore: true,
        trigger: true,
        load: true,
        test: true
      },
      { pattern: '/node_modules', regexp: /\/node_modules/, ignore: true, trigger: true, load: true, test: true },
      { pattern: '/prod_node_modules/', regexp: /\/prod_node_modules\//, ignore: true, trigger: true, load: true, test: true },
      { pattern: '\\./coverage', regexp: /\.\/coverage/, ignore: true, trigger: true, load: true, test: true },
      { pattern: 'src/.*\\.mspec\\.[jt]s$', regexp: /src\/.*\.mspec\.[jt]s$/, ignore: false, trigger: true, load: true, test: true, order: 2 }
    ],
    runAllTestsInAffectedTestFile: false,
    updateNoMoreThanOneSnapshotPerTestFileRun: false,
    compilers: {},
    preprocessors: {},
    maxConsoleMessagesPerTest: 100,
    autoConsoleLog: true,
    delays: { run: 0, edit: 100, update: 0 },
    workers: { initial: 0, regular: 0, recycle: false },
    teardown: undefined,
    hints: {
      ignoreCoverage: '__REGEXP /ignore coverage|istanbul ignore/',
      ignoreCoverageForFile: '__REGEXP /ignore file coverage/',
      commentAutoLog: '?',
      testFileSelection: { include: '__REGEXP /file\\.only/', exclude: '__REGEXP /file\\.skip/' }
    },
    automaticTestFileSelection: true,
    runSelectedTestsOnly: false,
    mapConsoleMessagesStackTrace: false,
    extensions: {},
    env: {
      type: 'node',
      params: {},
      runner: '<homeDir>/.nvm/versions/node/v12.22.11/bin/node',
      viewportSize: { width: 800, height: 600 },
      options: { width: 800, height: 600 },
      bundle: true
    },
    reportUnhandledPromises: true,
    slowTestThreshold: 75,
    lowCoverageThreshold: 80,
    loose: true,
    configCode: 'auto.detect#1764567755'
  },
  packageJSON: {
    dependencies: {
      '@google-cloud/bigquery': '5.9.0',
      '@google-cloud/datastore': '6.2.0',
      '@google-cloud/pubsub': '2.6.0',
      '@google-cloud/storage': '5.4.0',
      '@hapi/boom': '9.1.4',
      '@hapi/hapi': '20.2.1',
      '@hapi/nes': '12.0.4',
      '@sendgrid/client': '6.3.0',
      '@sendgrid/mail': '7.2.2',
      '@workos-inc/node': '2.4.0',
      'accept-language': '3.0.18',
      'accept-language-parser': '1.5.0',
      'analytics-node': '4.0.1',
      'assert-process-env': '1.0.0',
      blankie: '4.1.0',
      boom: '7.2.0',
      'circular-json': '0.5.9',
      cloudinary: '1.26.3',
      'crypto-random-string': '3.2.0',
      eventemitter3: '3.1.0',
      'fast-csv': '4.3.6',
      fontkit: '1.8.1',
      googleapis: '42.0.0',
      h2o2: '8.1.2',
      handlebars: '4.7.7',
      hoek: '6.1.2',
      inert: '5.1.0',
      ioredis: '4.26.0',
      jimp: '0.16.1',
      joi: '13.0.2',
      jsonwebtoken: '7.2.1',
      'launchdarkly-node-server-sdk': '6.2.0',
      lodash: '4.17.21',
      lout: '11.2.3',
      'module-alias': '2.2.2',
      moment: '2.24.0',
      newrelic: '7.5.2',
      'node-ws-reconnect': '2.0.0',
      'oauth-1.0a': '2.2.6',
      opossum: '6.3.0',
      pg: '8.6.0',
      'pg-hstore': '2.3.4',
      'pusher-js': '7.0.2',
      q: '1.5.1',
      redlock: '4.2.0',
      request: '2.88.0',
      requestretry: '2.0.2',
      scooter: '5.0.1',
      semver: '7.3.5',
      sequelize: '6.6.5',
      'serialize-error': '3.0.0',
      'slack-node': '0.1.8',
      speakeasy: '2.0.0',
      'stream-chat': '3.7.0',
      stripe: '8.193.0',
      uuid: '3.1.0',
      vision: '5.3.3',
      wreck: '14.1.0',
      ws: '6.1.4'
    },
    devDependencies: {
      '@sinonjs/fake-timers': '9.1.2',
      '@types/boom': '7.3.1',
      '@types/hapi__hapi': '20.0.10',
      '@types/ioredis': '4.28.10',
      '@types/jest': '27.4.1',
      '@types/jest-when': '3.5.0',
      '@types/joi': '14.3.4',
      '@types/jsonwebtoken': '8.5.8',
      '@types/lodash': '4.14.176',
      '@types/newrelic': '7.0.3',
      '@types/node': '16.11.6',
      '@types/requestretry': '1.12.8',
      '@types/sinon': '10.0.11',
      '@types/superagent': '4.1.15',
      '@types/supertest': '2.0.11',
      '@typescript-eslint/eslint-plugin': '5.2.0',
      '@typescript-eslint/parser': '5.2.0',
      dotenv: '10.0.0',
      eslint: '5.16.0',
      'eslint-config-danbriggs5-base': '1.0.0',
      'eslint-config-prettier': '4.1.0',
      'eslint-import-resolver-alias': '1.1.2',
      'eslint-plugin-import': '2.16.0',
      'eslint-plugin-jest': '25.3.0',
      'eslint-plugin-prettier': '3.0.1',
      jest: '27.3.1',
      'jest-when': '3.5.1',
      'lint-staged': '12.3.7',
      micromatch: '4.0.4',
      'mock-fs': '4.13.0',
      'mocked-env': '1.3.5',
      'npm-run-all': '4.1.5',
      prettier: '1.16.4',
      rimraf: '3.0.2',
      sinon: '11.1.2',
      superagent: '6.1.0',
      supertest: '6.1.6',
      'ts-jest': '27.1.3',
      'ts-node': '10.4.0',
      'ts-node-dev': '1.1.8',
      typescript: '4.4.2'
    }
  },
  fs: { numberOfFiles: 930 },
  debug: [
    '2022-05-16T06:34:19.749Z angular/cli config Angular CLI not found.\n',
    '2022-05-16T06:34:19.933Z jest/config Detected Jest.\n',
    '2022-05-16T06:34:19.934Z jest/config Configured Jest.\n',
    '2022-05-16T06:34:19.935Z project Wallaby Node version: v12.22.11\n',
    '2022-05-16T06:34:19.935Z project Wallaby config: <homeDir>/Desktop/Repos/xxx/app/services/api/auto.detect\n',
    '2022-05-16T06:34:20.318Z project File cache: <homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.337/projects/9d58574492a7a9a1\n',
    '2022-05-16T06:34:20.391Z uiService Listening port 51235\n',
    '2022-05-16T06:34:20.428Z workers Parallelism for initial run: 8, for regular run: 4\n',
    '2022-05-16T06:34:20.428Z workers Starting run worker instance #0\n',
    '2022-05-16T06:34:20.429Z workers Starting run worker instance #1\n',
    '2022-05-16T06:34:20.429Z workers Starting run worker instance #2\n',
    '2022-05-16T06:34:20.429Z workers Starting run worker instance #3\n',
    '2022-05-16T06:34:20.429Z workers Starting run worker instance #4\n',
    '2022-05-16T06:34:20.429Z workers Starting run worker instance #5\n',
    '2022-05-16T06:34:20.429Z workers Starting run worker instance #6\n',
    '2022-05-16T06:34:20.429Z workers Starting run worker instance #7\n',
    '2022-05-16T06:34:20.429Z workers Web server is listening at 57110\n',
    '2022-05-16T06:34:20.587Z project Stopping process pool\n',
    '2022-05-16T06:34:20.587Z project File cache is up-to-date, starting full test run\n',
    '2022-05-16T06:34:20.589Z project Test run started; run priority: 3\n',
    '2022-05-16T06:34:20.596Z project Running all tests\n',
    '2022-05-16T06:34:20.628Z workers Starting test run, priority: 3\n',
    '2022-05-16T06:34:20.628Z nodeRunner Starting sandbox [worker #0, session #8w9of]\n',
    '2022-05-16T06:34:20.628Z nodeRunner Preparing sandbox [worker #0, session #8w9of]\n',
    '2022-05-16T06:34:20.648Z workers Started run worker instance (delayed) #2\n',
    '2022-05-16T06:34:20.649Z workers Started run worker instance (delayed) #0\n',
    '2022-05-16T06:34:20.649Z nodeRunner Prepared sandbox [worker #0, session #8w9of]\n',
    '2022-05-16T06:34:20.649Z workers [worker #0, session #8w9of] Running tests in sandbox\n',
    '2022-05-16T06:34:20.651Z workers Started run worker instance (delayed) #1\n',
    '2022-05-16T06:34:20.664Z workers Started run worker instance (delayed) #3\n',
    '2022-05-16T06:34:20.693Z workers Started run worker instance (delayed) #4\n',
    '2022-05-16T06:34:20.705Z workers Started run worker instance (delayed) #5\n',
    '2022-05-16T06:34:20.723Z workers Started run worker instance (delayed) #6\n',
    '2022-05-16T06:34:20.744Z workers Started run worker instance (delayed) #7\n',
    '2022-05-16T06:34:28.607Z workers Scheduling Jest Test Run (8w9of): 2022-05-16T06:34:21.877Z\n',
    '2022-05-16T06:34:28.607Z workers [8w9of] Loaded unknown number of test(s)\n',
    '2022-05-16T06:34:28.883Z fs No metadata for added file found: .tmp/.devFeatures.remote.json\n',
    '2022-05-16T06:34:28.885Z fs No metadata for added file found: .tmp/.devFeatures.merged.json\n',
    '2022-05-16T06:34:28.999Z workers [8w9of] Test executed: should return the specific temporary redirect for the search path\n',
    '2022-05-16T06:34:29.016Z workers [8w9of] Test executed: should return the specific temporary redirect for the search path2\n',
    '2022-05-16T06:34:29.120Z workers [8w9of] Run 2 test(s), skipped 0 test(s)\n',
    '2022-05-16T06:34:29.120Z workers Jest Test Run Complete (8w9of): 2022-05-16T06:34:29.015Z\n',
    '2022-05-16T06:34:29.123Z workers [8w9of] Sandbox is responsive, closing it\n',
    '2022-05-16T06:34:29.124Z project Test run finished\n',
    '2022-05-16T06:34:29.125Z project Processed console.log entries\n',
    '2022-05-16T06:34:29.126Z project Processed loading sequences\n',
    '2022-05-16T06:34:29.130Z project Processed executed tests\n',
    '2022-05-16T06:34:29.196Z project Processed code coverage\n',
    '2022-05-16T06:34:29.377Z project Test run result processed and sent to IDE\n',
    '2022-05-16T06:34:32.984Z fs File changed in editor: src/apps/redirects/routes/temporaryRedirect/supertest.mspec.ts\n',
    '2022-05-16T06:34:32.990Z extended-core New file or complex file change\n',
    '2022-05-16T06:34:33.011Z project Test run started; run priority: 2\n',
    '2022-05-16T06:34:33.012Z testTask Test files from affected: 1, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2022-05-16T06:34:33.026Z workers Starting test run, priority: 2\n',
    '2022-05-16T06:34:33.027Z nodeRunner Starting sandbox [worker #0, session #vln7p]\n',
    '2022-05-16T06:34:33.027Z nodeRunner Preparing sandbox [worker #0, session #vln7p]\n',
    '2022-05-16T06:34:33.027Z nodeRunner Prepared sandbox [worker #0, session #vln7p]\n',
    '2022-05-16T06:34:33.027Z workers [worker #0, session #vln7p] Running tests in sandbox\n',
    '2022-05-16T06:34:35.453Z workers Scheduling Jest Test Run (vln7p): 2022-05-16T06:34:33.046Z\n',
    '2022-05-16T06:34:35.460Z workers [vln7p] Loaded unknown number of test(s)\n',
    '2022-05-16T06:34:35.642Z fs File changed: .tmp/.devFeatures.remote.json\n',
    '2022-05-16T06:34:35.643Z fs No metadata for changed file found: .tmp/.devFeatures.remote.json\n',
    '2022-05-16T06:34:35.643Z fs File changed: .tmp/.devFeatures.merged.json\n',
    '2022-05-16T06:34:35.643Z fs No metadata for changed file found: .tmp/.devFeatures.merged.json\n',
    '2022-05-16T06:34:35.784Z workers [vln7p] Test executed: should return the specific temporary redirect for the search path\n',
    '2022-05-16T06:34:35.836Z workers [vln7p] Test executed: should return the specific temporary redirect for the search path2\n',
    '2022-05-16T06:34:35.960Z workers [vln7p] Run 2 test(s), skipped 0 test(s)\n',
    '2022-05-16T06:34:35.960Z workers Jest Test Run Complete (vln7p): 2022-05-16T06:34:35.834Z\n',
    '2022-05-16T06:34:35.961Z workers [vln7p] Sandbox is responsive, closing it\n',
    '2022-05-16T06:34:35.963Z project Test run finished\n',
    '2022-05-16T06:34:35.963Z project Processed console.log entries\n',
    '2022-05-16T06:34:35.966Z project Processed loading sequences\n',
    '2022-05-16T06:34:35.966Z project Processed executed tests\n',
    '2022-05-16T06:34:36.003Z project Processed code coverage\n',
    '2022-05-16T06:34:36.102Z project Test run result processed and sent to IDE\n',
    '2022-05-16T06:34:37.294Z workers Sandbox (inactive) [vln7p] error: <homeDir>/.vscode/extensions/wallabyjs.wallaby-vscode-1.0.337/wallaby522fce/server.js:28\n' +
      '}},stop:function(){var e=this;_.each(e._workers,function(t,i){e.recycleWorker(i)});try{e._wss&&e._wss.close()}catch(t){}try{e._httpServer&&e._httpServer.close()}catch(t){}},_calculateNumberOfParallelWorkers:function(){var e=this;e._maxWorkers=Math.max(1,e._opts.workers.initial||Math.max(a.cpus().length-2,2)),d&&!e._opts.workers.initial&&"phantomjs"===e._opts.env.kind&&(e._maxWorkers=Math.min(16,e._maxWorkers)),e._minWorkers=Math.max(1,e._opts.workers.regular||Math.max(Math.floor(e._maxWorkers/2),2)),h("Parallelism for initial run: %s, for regular run: %s",e._maxWorkers,e._minWorkers)}},t.exports=y},{"./utils":70,http:void 0,os:void 0,path:void 0,ws:void 0}],62:[function(e,t,i){t.exports={initServerOptions:function(t){var i=e("graceful-fs"),n=e("fs-extra");t.runnerResolver=function(t,i){return e("browser"===t?"electron"===i?"./electronRunner.js":"chrome"===i?"./chromeRunner.js":"./phantomRunner.js":"./nodeRunner.js")},t.processorPool=e("./processPool"),t.fileStructureCachePromise=function(e){return Q.nfcall(i.readFile,e).then(function(e){return Q.when(JSON.parse(e))})},t.fileStatPromise=function(e){return Q.nfcall(i.stat,e)},t.readFilePromise=function(e){return Q.nfcall(i.readFile,e)},t.writeFilePromise=function(e,t){return Q.nfcall(i.writeFile,e,t)},t.unlinkFilePromise=function(e){return Q.nfcall(i.unlink,e)},t.unlinkFileSync=function(e){return i.unlinkSync(e)},t.writeFileSync=function(e,t){return i.writeFileSync(e,t)},t.readFileSync=function(e){return i.readFileSync(e).toString("utf8")},t.fileExistsSync=function(e){return i.existsSync(e)},t.realpathSync=function(e){return i.realpathSync(e)},t.dirRemovePromise=function(e){return Q.nfcall(n.remove,e)},t.dirRemoveSync=function(e){return n.removeSync(e)},t.dirEnsurePromise=function(e){return Q.nfcall(n.ensureDir,e)},t.dirEnsureSync=function(e){return n.ensureDirSync(e)},t.copySync=function(e,t){return n.copySync(e,t)},t.nodeModulesLookup=e("./utils").nodeModulesLookup}}},{"./chromeRunner.js":12,"./electronRunner.js":38,"./nodeRunner.js":44,"./phantomRunner.js":46,"./processPool":58,"./utils":70,"fs-extra":void 0,"graceful-fs":void 0}],63:[function(e,t,i){"use strict";var n={testRunPriority:1,fileChangePriority:2,fullRunPriority:3},r=logger.create("testTask").debug,s=function(){function e(e){this._filesAndAffectedTests={},this._failingTests={},this._tests=[],this._priority=0,this._project=e,this._singleChangeTests=[]}return e.prototype.files=function(){return _.reduce(this._filesAndAffectedTests,function(e,t){return e[t.file.id]=t.file,e},{})},e.prototype.tests=function(){return this._tests},e.prototype.hasAnyFiles=function(){return _.keys(this._filesAndAffectedTests).length>0},e.prototype.addTests=function(e){this._tests=this._tests.concat(e)},e.prototype.addTestFileWithGlobalError=function(e){this._testFilesWithGlobalErrors=this._testFilesWithGlobalErrors||{},this._testFilesWithGlobalErrors[e]=!0},e.prototype.addChangedFile=function(e,t){this._mergeAffectedTests(e.id,{file:e,tests:t,testFilesLoadedFrom:e.testFilesLoadedFrom})},e.prototype.setTestRunPriority=function(){this._priority=n.testRunPriority},e.prototype.setFileChangeRunPriority=function(){this._priority=n.fileChangePriority},e.prototype.setFullRunPriority=function(){this._priority=n.fullRunPriority},e.prototype.setEditorRequestedRun=function(){this._editorRequestedRun=!0},e.prototype.setEvaluatedExpressionRun=function(){this._editorRequestedRun=!0},e.prototype.setInitialTraceRun=function(e){this._initialTraceRun=e,this._editorRequestedRun=!0},e.prototype.setProfileRun=function(e){this._profileRun=e,this._editorRequestedRun=!0},e.prototype.setCodeClipSharingRun=function(e){this._codeClipSharingRun=e,this._editorRequestedRun=!0},e.prototype.setRegularTraceRunTest=function(e){this._traceTest=e},e.prototype.setManuallyRequestedRun=function(){this._manuallyRequestedRun=!0},e.prototype.setUpdateSnapshotsRun=function(){this._updateSnapshotsRun=!0},e.prototype.getFullRunPriority=function(){return n.fullRunPriority},e.prototype.getPriority=function(){return this._priority},e.prototype.isFullRun=function(){return this._priority===n.fullRunPriority},e.prototype.isFileChangedRun=function(){return this._priority===n.fileChangePriority},e.prototype.isManualRun=function(){return(this._priority===n.testRunPriority||this._manuallyRequestedRun)&&!this._editorRequestedRun},e.prototype.isEditorRequestedRun=function(){return this._priority===n.testRunPriority&&this._editorRequestedRun},e.prototype.initialTraceRunData=function(){return this._initialTraceRun},e.prototype.isInitialTraceRun=function(){return!!this._initialTraceRun},e.prototype.isProfileRun=function(){return!!this._profileRun},e.prototype.profileRunData=function(){return this._profileRun},e.prototype.isCodeClipSharingRun=function(){return!!this._codeClipSharingRun},e.prototype.codeClipSharingRunData=function(){return this._codeClipSharingRun},e.prototype.isUpdateSnapshotsRun=function(){return!!this._updateSnapshotsRun},e.prototype.isRegularTraceRun=function(){return!!this._traceTest},e.prototype.filesAdded=function(){this._anyFilesAdded=!0},e.prototype.filesNotAdded=function(){delete this._anyFilesAdded},e.prototype.filesDeleted=function(){this._anyFilesDeleted=!0},e.prototype.filesNotDeleted=function(){delete this._anyFilesDeleted},e.prototype.anyFilesAdded=function(){return this.isFullRun()||this._anyFilesAdded},e.prototype.anyFilesDeleted=function(){return this._anyFilesDeleted},e.prototype.mergeTask=function(e){var t=this;t._priority=Math.max(t._priority,e._priority),_.each(e._filesAndAffectedTests,function(e,i){t._mergeAffectedTests(i,e)}),t._failingTests=_.extend({},e._failingTests,t._failingTests),t._tests=t._tests.concat(e._tests),t._testFilesWithGlobalErrors=_.extend({},e._testFilesWithGlobalErrors||{},t._testFilesWithGlobalErrors||{}),t._singleChangeTests=t._singleChangeTests.concat(e._singleChangeTests),t._anyFilesAdded=t._anyFilesAdded||e._anyFilesAdded,t._anyFilesDeleted=t._anyFilesDeleted||e._anyFilesDeleted},e.prototype._mergeAffectedTests=function(e,t){var i=this,n=i._filesAndAffectedTests[e];n?(n.tests=n.tests?n.tests.concat(t.tests):t.tests,n.testFilesLoadedFrom=_.extend(n.testFilesLoadedFrom||{},t.testFilesLoadedFrom||{})):i._filesAndAffectedTests[e]=t},e.prototype.failingTest=function(e,t){var i=this._failingTests[e]=this._failingTests[e]||[];i.push(t)},e.prototype._getAllTests=function(){var e=this,t=this,i=[];if(this._traceTest)i=[this._traceTest];else{var n=!1,s={},o={},a=0,l=0,c=0,u=0,h=0;if(_.each(t._filesAndAffectedTests,function(r){var l=r.file;r.tests=_.map(r.tests,function(e){var i=t._getTestFileId(e);return s[i]||(s[i]=1,a++),r.testFilesLoadedFrom&&r.testFilesLoadedFrom[i]||l.numberOfFunctionsChanged||l.lastChangeIsComplex||l.relatedFilesWithTests?[e[0]]:e}),l.test&&(n=!0);var c=l.test&&l.lastSingleChangeTest&&!l.relatedFilesWithTests&&!t._project.hadGlobalErrorsPreviousRun();c&&e._singleChangeTests.push([l.id,"?",l.lastSingleChangeTest]),i=i.concat(c?e._singleChangeTests:r.tests),_.extend(o,r.testFilesLoadedFrom||{})}),_.each(t._tests,function(e){var i=t._getTestFileId(e);s[i]||(s[i]=1,l++)}),i=i.concat(t._tests),this.isFileChangedRun()&&_.each(this._testFilesWithGlobalErrors,function(e,t){t=parseInt(t,10),s[t]||(s[t]=1,i.push([t]))}),_.each(o,function(e,t){t=parseInt(t,10),s[t]||(s[t]=1,i.push([t]),u++)}),!i.length&&t._project._lastAffectedTestFileIds&&t._project.hasAnyPendingInEditorFileChanges()&&(i=i.concat(_.map(t._project._lastAffectedTestFileIds,function(e){return s[e]||(s[e]=1,c++),[e]}))),!(n&&1===_.size(t._filesAndAffectedTests)||t.isManualRun()||t.isInitialTraceRun()||t.isRegularTraceRun()||t.isProfileRun())){var p=[],d={};_.each(i,function(e){var i=t._getTestFileId(e);if(!d[i]){var n=t._failingTests[i];n&&(p=p.concat(n),s[i]=1,d[i]=1,h++)}}),i=i.concat(p)}r("Test files from affected: %s, from deleted or manually requested: %s, from recently changed: %s, from loaded by: %s, from failing: %s",a,l,c,u,h)}this._project.settings().runAllTestsInAffectedTestFile&&_.each(i,function(e){e&&(e.length=1)});var f=this._project.selectedTestFiles();return this\n',
    '2022-05-16T06:34:37.455Z fs File changed: newrelic_agent.log\n',
    '2022-05-16T06:34:37.505Z project Test run started; run priority: 2\n',
    '2022-05-16T06:34:37.506Z testTask Test files from affected: 0, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 0\n',
    '2022-05-16T06:34:37.506Z project Test run finished\n',
    '2022-05-16T06:34:37.506Z project Test run data re-queued\n',
    '2022-05-16T06:34:37.704Z fs File changed in editor: src/apps/redirects/routes/temporaryRedirect/supertest.mspec.ts\n',
    '2022-05-16T06:34:37.714Z project Test run started; run priority: 2\n',
    '2022-05-16T06:34:37.715Z testTask Test files from affected: 1, from deleted or manually requested: 0, from recently changed: 0, from loaded by: 0, from failing: 1\n',
    '2022-05-16T06:34:37.724Z workers Starting test run, priority: 2\n',
    '2022-05-16T06:34:37.724Z nodeRunner Starting sandbox [worker #0, session #tcd1b]\n',
    '2022-05-16T06:34:37.724Z nodeRunner Preparing sandbox [worker #0, session #tcd1b]\n',
    '2022-05-16T06:34:37.725Z nodeRunner Prepared sandbox [worker #0, session #tcd1b]\n',
    '2022-05-16T06:34:37.725Z workers [worker #0, session #tcd1b] Running tests in sandbox\n',
    '2022-05-16T06:34:37.729Z project Test run finished\n',
    '2022-05-16T06:34:41.913Z fs File changed: src/apps/redirects/routes/temporaryRedirect/supertest.mspec.ts\n',
    '2022-05-16T06:34:41.914Z fs No changes detected for src/apps/redirects/routes/temporaryRedirect/supertest.mspec.ts\n',
    '2022-05-16T06:34:41.915Z extended-core File was not changed, but file markers may need to be synced\n'
  ]
}
ArtemGovorov commented 2 years ago

Thanks for reporting the issue. It's now fixed and the fix is published in the latest Wallaby core v1.0.1268.

After updating the core and starting Wallaby, please check that the issue is gone (by changing the same tests in the same way you have earlier to reproduce the issue and generate the original report), but also please capture and share another diagnostics report because from your previous report it looks like there's some other error that may or may not be affecting your workflow, but we need some more details on it to investigate and the new report should help.