wallabyjs / public

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

Cannot run in WSL 2 project #2534

Closed nlaplante closed 4 years ago

nlaplante commented 4 years ago

Cannot run in WSL 2 project

Project is located on a mapped drive Z: to \$wsl\DISTRO

Using automatic configuration in an Angular 9 project in remote VS Code (Windows 10 -> WSL OpenSuse Leap 15), I get the following error while issuing the Wallaby.js: Start or Wallaby.js: Select Configuration commands:

‍[Info]  Started Wallaby.js Core v1.0.971
[Error] EACCES: permission denied, mkdir '/mnt/undefined' 
[Error]     at Object.mkdirSync (fs.js:757:3) 
[Error]     at Generator.next (<anonymous>) 
[Error]     at new Promise (<anonymous>) 
[Error]     at Generator.next (<anonymous>) 
[Error]     at new Promise (<anonymous>) 
[Error]     at new Promise (<anonymous>) 
[Error]     at process._tickCallback (internal/process/next_tick.js:61:11) 

Wallaby diagnostics report

{ editorVersion: '1.49.3',
  pluginVersion: '1.0.245',
  editorType: 'VSCode',
  osVersion: 'linux 4.19.128-microsoft-standard',
  nodeVersion: 'v10.22.1',
  coreVersion: '1.0.971',
  checksum: 'NDY1NzgxNTU3NzA3ODNkM2UwMjc3M2FkMmE1YzYxMTYsMTYzMjM1NTIwMDAwMCww',
  config:
   { diagnostics:
      { angular:
         { workspace:
            { '$schema': './node_modules/@angular/cli/lib/config/schema.json',
              version: 1,
              newProjectRoot: 'projects',
              projects:
               { 'PROJECT_NAME':
                  { projectType: 'application',
                    schematics: { '@schematics/angular:component': { style: 'scss' } },
                    root: '',
                    sourceRoot: 'src',
                    prefix: 'app',
                    architect:
                     { build:
                        { builder: '@angular-devkit/build-angular:browser',
                          options:
                           { outputPath: 'dist/',
                             index: 'src/index.html',
                             main: 'src/main.ts',
                             polyfills: 'src/polyfills.ts',
                             tsConfig: 'tsconfig.app.json',
                             aot: true,
                             assets: [ 'src/favicon.ico', 'src/assets' ],
                             styles: [ 'src/styles.scss' ],
                             stylePreprocessorOptions: { includePaths: [ 'src/assets/styles/', './node_modules/@ORG/' ] },
                             scripts: [] },
                          configurations:
                           { production:
                              { fileReplacements: [ { replace: 'src/environments/environment.ts', with: 'src/environments/environment.prod.ts' } ],
                                optimization: true,
                                outputHashing: 'all',
                                sourceMap: false,
                                extractCss: true,
                                namedChunks: false,
                                extractLicenses: true,
                                vendorChunk: false,
                                buildOptimizer: true,
                                budgets: [ { type: 'initial', maximumWarning: '2mb', maximumError: '5mb' }, { type: 'anyComponentStyle', maximumWarning: '6kb', maximumError: '10kb' } ] } } },
                       serve: { builder: '@angular-devkit/build-angular:dev-server', options: { browserTarget: 'PROJECT_NAMEi:build' }, configurations: { production: { browserTarget: 'PROJECT_NAMEi:build:production' } } },
                       'extract-i18n': { builder: '@angular-devkit/build-angular:extract-i18n', options: { browserTarget: 'PROJECT_NAME:build' } },
                       test:
                        { builder: '@angular-devkit/build-angular:karma',
                          options:
                           { main: 'src/test.ts',
                             polyfills: 'src/polyfills.ts',
                             tsConfig: 'tsconfig.spec.json',
                             karmaConfig: 'karma.conf.js',
                             sourceMap: true,
                             codeCoverageExclude: [ 'src/app/core/mocks/**/*' ],
                             assets: [ 'src/favicon.ico', 'src/assets' ],
                             scripts: [] } },
                       lint: { builder: '@angular-devkit/build-angular:tslint', options: { tsConfig: [ 'tsconfig.app.json', 'tsconfig.spec.json', 'e2e/tsconfig.e2e.json' ], exclude: [ '**/node_modules/**' ] } },
                       e2e:
                        { builder: '@angular-devkit/build-angular:protractor',
                          options: { protractorConfig: 'e2e/protractor.conf.js', devServerTarget: 'PROJECT_NAME:serve' },
                          configurations: { production: { devServerTarget: 'PROJECT_NAME:serve:production' } } } } } },
              defaultProject: 'PROJECT_NAME',
              cli: { defaultCollection: '@ngrx/schematics' } },
           main:
            '// This file is required by karma.conf.js and loads recursively all the .spec and framework files\n\nimport { getTestBed } from \'@angular/core/testing\';\nimport {\n  platformBrowserDynamicTesting,\n  BrowserDynamicTestingModule\n} from \'@angular/platform-browser-dynamic/testing\';\n\nimport \'zone.js/dist/zone-testing\';\n\ndeclare const require: {\n  context(\n    path: string,\n    deep?: boolean,\n    filter?: RegExp\n  ): {\n    keys(): string[];\n    <T>(id: string): T;\n  };\n};\n\n// First, initialize the Angular testing environment.\ngetTestBed().initTestEnvironment(\n  BrowserDynamicTestingModule,\n  platformBrowserDynamicTesting()\n);\n// Then we find all the tests.\n\n// And load the modules.\n\n' } },
     testFramework: { version: 'jasmine@3.5.0', configurator: 'jasmine@2.1.3', reporter: 'jasmine@2.1.3', starter: 'jasmine@2.1.3', autoDetected: true },
     env: { kind: 'chrome', type: 'browser', params: {}, viewportSize: { width: 800, height: 600 }, options: { width: 800, height: 600 }, bundle: true },
     files:
      [ { pattern: 'src/**/*.spec.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/polyfills.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/test.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/main.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/index.html', ignore: true, trigger: true, load: true },
        { pattern: 'src/test.base.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/test.wallaby.ts', ignore: false, trigger: true, load: true, order: 1 },
        { pattern: 'src/**/*.+(ts|js)', load: false, ignore: false, trigger: true, order: 2 },
        { pattern: 'src/**/*.+(css|less|scss|sass|styl|html|json|svg)', instrument: false, load: false, ignore: false, trigger: true, order: 3 } ],
     tests: [ { pattern: 'src/**/*.spec.ts', load: false, ignore: false, trigger: true, test: true, order: 4 } ],
     filesWithNoCoverageCalculated: [],
     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,
     extensions: {},
     reportUnhandledPromises: false,
     throwOnBeforeUnload: true,
     slowTestThreshold: 75,
     lowCoverageThreshold: 80,
     loose: true,
     configCode: 'auto.detect#1313788472' },
  packageJSON:
   { dependencies:
      { '@angular/animations': '~9.1.0',
        '@angular/cdk': '^9.2.0',
        '@angular/common': '~9.1.0',
        '@angular/compiler': '~9.1.0',
        '@angular/core': '~9.1.0',
        '@angular/forms': '~9.1.0',
        '@angular/platform-browser': '~9.1.0',
        '@angular/platform-browser-dynamic': '~9.1.0',
        '@angular/router': '~9.1.0',
        '@fortawesome/fontawesome-free': '^5.13.0',
        '@fullcalendar/core': '^4.4.0',
        '@ngrx/effects': '^9.2.0',
        '@ngrx/router-store': '^9.2.0',
        '@ngrx/store': '^9.2.0',
        'angular-in-memory-web-api': '^0.11.0',
        angulartics2: '^6.3.1',
        bootstrap: '^4.4.1',
        'chart.js': '^2.9.3',
        'crypto-js': '^4.0.0',
        'font-awesome': '^4.7.0',
        'lodash-es': '^4.17.15',
        primeicons: '^4.0.0',
        primeng: '^9.0.5',
        quill: '^1.3.7',
        rxjs: '^6.5.5',
        tslib: '^1.10.0',
        'zone.js': '~0.10.2' },
     devDependencies:
      { '@angular-devkit/build-angular': '~0.901.0',
        '@angular/cli': '~9.1.0',
        '@angular/compiler-cli': '~9.1.0',
        '@angular/language-service': '~9.1.0',
        '@ngrx/schematics': '^10.0.0',
        '@ngrx/store-devtools': '^9.2.0',
        '@types/jasmine': '~3.5.0',
        '@types/jasminewd2': '~2.0.3',
        '@types/lodash-es': '^4.17.3',
        '@types/moment': '^2.13.0',
        '@types/node': '^12.12.34',
        codelyzer: '^5.1.2',
        husky: '^4.2.3',
        'jasmine-core': '~3.5.0',
        'jasmine-marbles': '^0.6.0',
        'jasmine-spec-reporter': '~4.2.1',
        karma: '~4.3.0',
        'karma-chrome-launcher': '~3.1.0',
        'karma-coverage-istanbul-reporter': '~2.1.0',
        'karma-jasmine': '~2.0.1',
        'karma-jasmine-html-reporter': '^1.4.2',
        momentjs: '^2.0.0',
        prettier: '^2.0.4',
        'pretty-quick': '^2.0.1',
        protractor: '~5.4.3',
        'scripps-ui-apache-config': '^4.0.2',
        'scripps-ui-build': '^1.1.10',
        'sui-tools-protractor-runner': '^7.16.3',
        'ts-node': '~8.3.0',
        tslint: '~5.18.0',
        typescript: '~3.7.5',
        'wallaby-webpack': '^3.9.15' } },
  fs: { numberOfFiles: 121 },
  debug:
   [ '2020-10-06T17:45:08.081Z angular/cli config Detected Angular CLI.\n',
     '2020-10-06T17:45:10.374Z angular/cli karma project config Using virtual <homeDir>/Projects/PROJECT_NAME/src/test.ts.\n',
     '2020-10-06T17:45:10.394Z project Wallaby Node version: v10.22.1\n',
     '2020-10-06T17:45:10.394Z project Wallaby config: <homeDir>/Projects/PROJECT_NAME/auto.detect\n',
     '2020-10-06T17:45:11.094Z project File cache: <homeDir>/.vscode-server/extensions/wallabyjs.wallaby-vscode-1.0.245/projects/de9eebffb0f92670\n',
     '2020-10-06T17:45:11.103Z uiService Listening port 51235\n',
     '2020-10-06T17:45:11.153Z workers Parallelism for initial run: 6, for regular run: 3\n',
     '2020-10-06T17:45:11.153Z workers Starting run worker instance #0\n',
     '2020-10-06T17:45:11.153Z workers Starting run worker instance #1\n',
     '2020-10-06T17:45:11.153Z workers Starting run worker instance #2\n',
     '2020-10-06T17:45:11.153Z workers Starting run worker instance #3\n',
     '2020-10-06T17:45:11.153Z workers Starting run worker instance #4\n',
     '2020-10-06T17:45:11.153Z workers Starting run worker instance #5\n',
     '2020-10-06T17:45:11.155Z workers Web server is listening at 38111\n',
     '2020-10-06T17:45:11.157Z workers Started run worker instance (immediate) #0\n',
     '2020-10-06T17:45:11.157Z workers Started run worker instance (immediate) #1\n',
     '2020-10-06T17:45:11.157Z workers Started run worker instance (immediate) #2\n',
     '2020-10-06T17:45:11.157Z workers Started run worker instance (immediate) #3\n',
     '2020-10-06T17:45:11.157Z workers Started run worker instance (immediate) #4\n',
     '2020-10-06T17:45:11.157Z workers Started run worker instance (immediate) #5\n',
     '2020-10-06T17:45:11.158Z project Stopping process pool\n',
     '2020-10-06T17:45:11.158Z project File cache is up-to-date, starting full test run\n',
     '2020-10-06T17:45:11.159Z project Running postprocessor\n',
     '2020-10-06T17:45:11.163Z postprocessor Processing started.\n',
     '2020-10-06T17:45:11.163Z postprocessor Initializing.\n',
     '2020-10-06T17:45:11.163Z postprocessor Initializing entry.\n',
     '2020-10-06T17:45:11.163Z postprocessor Sanitizing configuration.\n',
     '2020-10-06T17:45:11.163Z postprocessor Adjusting configuration.\n',
     '2020-10-06T17:45:11.164Z postprocessor Creating compiler.\n',
     '2020-10-06T17:45:12.189Z postprocessor Customizing compiler.\n',
     '2020-10-06T17:45:12.190Z postprocessor Compilation started.\n',
     '2020-10-06T17:45:33.206Z postprocessor Compilation finished.\n',
     '2020-10-06T17:45:36.310Z postprocessor Emitting 1556 files.\n',
     '2020-10-06T17:45:36.336Z postprocessor Processing finished.\n',
     '2020-10-06T17:45:36.641Z project Postprocessor execution finished\n',
     '2020-10-06T17:45:36.641Z project Test run started; run priority: 3\n',
     '2020-10-06T17:45:36.650Z project Running all tests\n',
     '2020-10-06T17:45:36.671Z workers Starting test run, priority: 3\n',
     '2020-10-06T17:45:36.671Z workers Distributing tests between 6 workers\n',
     '2020-10-06T17:45:36.672Z workers Running tests in parallel\n',
     '2020-10-06T17:45:36.672Z chromeRunner Starting sandbox [worker #0, session #530j5]\n',
     '2020-10-06T17:45:36.672Z chromeRunner Starting sandbox [worker #1, session #ll5n4]\n',
     '2020-10-06T17:45:36.672Z chromeRunner Starting sandbox [worker #2, session #1p7yl]\n',
     '2020-10-06T17:45:36.672Z chromeRunner Starting sandbox [worker #3, session #ekilx]\n',
     '2020-10-06T17:45:36.672Z chromeRunner Starting sandbox [worker #4, session #jvfhq]\n',
     '2020-10-06T17:45:36.672Z chromeRunner Starting sandbox [worker #5, session #by61e]\n',
     '2020-10-06T17:45:36.673Z chromeRunner Preparing sandbox [worker #0, session #530j5]\n',
     '2020-10-06T17:45:36.675Z browserRunner Total files to load in sandbox: 9\n',
     '2020-10-06T17:45:36.677Z browserRunner Sandbox is generated [worker #0, session #530j5]: http://localhost:38111/wallaby_sandbox0.html\n',
     '2020-10-06T17:45:36.677Z chromeRunner Preparing sandbox [worker #1, session #ll5n4]\n',
     '2020-10-06T17:45:36.678Z browserRunner Total files to load in sandbox: 9\n',
     '2020-10-06T17:45:36.680Z browserRunner Sandbox is generated [worker #1, session #ll5n4]: http://localhost:38111/wallaby_sandbox1.html\n',
     '2020-10-06T17:45:36.680Z chromeRunner Preparing sandbox [worker #2, session #1p7yl]\n',
     '2020-10-06T17:45:36.681Z browserRunner Total files to load in sandbox: 9\n',
     '2020-10-06T17:45:36.683Z browserRunner Sandbox is generated [worker #2, session #1p7yl]: http://localhost:38111/wallaby_sandbox2.html\n',
     '2020-10-06T17:45:36.683Z chromeRunner Preparing sandbox [worker #3, session #ekilx]\n',
     '2020-10-06T17:45:36.684Z browserRunner Total files to load in sandbox: 9\n',
     '2020-10-06T17:45:36.685Z browserRunner Sandbox is generated [worker #3, session #ekilx]: http://localhost:38111/wallaby_sandbox3.html\n',
     '2020-10-06T17:45:36.686Z chromeRunner Preparing sandbox [worker #4, session #jvfhq]\n',
     '2020-10-06T17:45:36.686Z browserRunner Total files to load in sandbox: 9\n',
     '2020-10-06T17:45:36.687Z browserRunner Sandbox is generated [worker #4, session #jvfhq]: http://localhost:38111/wallaby_sandbox4.html\n',
     '2020-10-06T17:45:36.687Z chromeRunner Preparing sandbox [worker #5, session #by61e]\n',
     '2020-10-06T17:45:36.688Z browserRunner Total files to load in sandbox: 9\n',
     '2020-10-06T17:45:36.691Z browserRunner Sandbox is generated [worker #5, session #by61e]: http://localhost:38111/wallaby_sandbox5.html\n',
     '2020-10-06T17:45:36.691Z chromeRunner Prepared sandbox [worker #0, session #530j5]\n',
     '2020-10-06T17:45:36.691Z chromeRunner Prepared sandbox [worker #1, session #ll5n4]\n',
     '2020-10-06T17:45:36.691Z chromeRunner Prepared sandbox [worker #2, session #1p7yl]\n',
     '2020-10-06T17:45:36.691Z chromeRunner Prepared sandbox [worker #3, session #ekilx]\n',
     '2020-10-06T17:45:36.691Z chromeRunner Prepared sandbox [worker #4, session #jvfhq]\n',
     '2020-10-06T17:45:36.691Z chromeRunner Prepared sandbox [worker #5, session #by61e]\n',
     '2020-10-06T17:45:36.691Z workers [worker #0, session #530j5] Running tests in sandbox\n',
     '2020-10-06T17:45:36.692Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-06T17:45:36.692Z workers [worker #1, session #ll5n4] Running tests in sandbox\n',
     '2020-10-06T17:45:36.692Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-06T17:45:36.692Z workers [worker #2, session #1p7yl] Running tests in sandbox\n',
     '2020-10-06T17:45:36.692Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-06T17:45:36.692Z workers [worker #3, session #ekilx] Running tests in sandbox\n',
     '2020-10-06T17:45:36.692Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-06T17:45:36.692Z workers [worker #4, session #jvfhq] Running tests in sandbox\n',
     '2020-10-06T17:45:36.692Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-06T17:45:36.692Z workers [worker #5, session #by61e] Running tests in sandbox\n',
     '2020-10-06T17:45:36.692Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-06T17:45:43.693Z workers [530j5] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-06T17:45:43.693Z workers [ll5n4] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-06T17:45:43.693Z workers [1p7yl] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-06T17:45:43.693Z workers [ekilx] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-06T17:45:43.693Z workers [jvfhq] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-06T17:45:43.693Z workers [by61e] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-06T17:45:43.694Z project Test run finished\n' ] }
nlaplante commented 4 years ago

WSL info:

PS C:\Users\USERNAME> wsl --list -v
  NAME                   STATE           VERSION
* openSUSE-Leap-15-1     Running         2
  docker-desktop         Running         2
  docker-desktop-data    Running         2
smcenlly commented 4 years ago

Project is located on a mapped drive Z: to \$wsl\DISTRO

It sounds like this is probably the cause of your problem, but we don't fully understand how you have this configured, and how this maps to your WSL instance. Could you please detail your setup so that we can duplicate ourselves? (e.g. how have you mapped which drives, symlinks, folders, etc. and what folder are you opening in WSL).

From your diagnostics report, it looks like the folder that you have opened in VS Code WSL is <homeDir>/Projects/PROJECT_NAME/ (assuming you've scrubbed the actual project name). How does this map to your mapped drive?


Also - are your project files on your WSL disk, or on your Windows disk? If you are using your Windows file system on your WSL2 instance then you will likely run into performance problems.


I can also see that you are using the default Angular configuration, which uses chrome headless in Wallaby as its test runner. If you haven't already done so, you will need to update your Windows Firewall settings in order for your tests to be able to run. The only configuration known to us is to enable connectivity between the host and the WSL2 distribution is to exclude the vEthernet (WSL) network from your list of public protected network connections in your Windows Defender Firewall settings. This is due to known limitations/behavior of WSL2 when connecting to the host machine from WSL2 (see https://github.com/microsoft/WSL/issues/4619).

nlaplante commented 4 years ago

Sorry for the misunderstanding. Project is not opened via the mapped drive, I just double checked.

The project is opened in remote VS Code using /home/USERNAME/Projects/PROJECT_NAME.

Clicking on Reveal in Explorer opens up the folder at //wsl$/DISTRO/home/USERNAME/Projects/PROJECT_NAME.

I'm using a multi-project workspace in this VS Code instance. The workspace root is thus //wsl$/DISTRO/home/USERNAME/Projects.

I looked at your documentation about disabling the firewall on the vEthernet (WSL) adapter, but my Windows 10 version (2004, build 19041.508) doesn't seem to have this app. I had a look at Windows Defender and could not find this exact panel.

smcenlly commented 4 years ago

We've just released a new version of Wallaby core (v1.0.972). Could you please perform a force core update in VS Code using the Wallaby.js: Force Core Update command and then restart Wallaby? The new version contains some additional logging that should help us diagnose what is causing the error:

[Error] EACCES: permission denied, mkdir '/mnt/undefined' 

Could you please provide us with your Wallaby console output after getting version 1.0.972?


You will still need to fix your Windows Defender Firewall settings to allow your WSL instance to connect to your host to test with chrome. At a very basically level, you can start by temporarily disabling the Firewall completely to confirm that everything is working for you. The issue that we referenced above (https://github.com/microsoft/WSL/issues/4619) contains a number of different ways of solving the network connectivity problem between WSL and the Windows host.

The method that we used to exclude our vEthernet (WSL) adapter from the Windows firewall is:

  1. From the start menu, open Windows Defender Firewall
  2. Select Advanced Settings from the left hand side of the dialog that appears. You should then see a dialog as below:

image

  1. Open the Windows Defender Firewall Properties from the root node of the Windows Defender Firewall with Advanced Security dialog.
  2. Navigate to the Public Profile settings and select to customize the Protected network connections:

image

  1. Uncheck your WSL network connection and then click OK to all dialogs to save the changes.

image


If you are running on a managed domain, it's possible that these settings will be unavailable to you. If so, you will need to ask your network administrator to provide you with access to change these settings in order to correctly configure WSL.

nlaplante commented 4 years ago

OK I updated to v1.0.972, and configured the firewall like the above.

I still get the same error in the Wallaby console:

‍[Info]  Started Wallaby.js Core v1.0.972
[Error] EACCES: permission denied, mkdir '/mnt/undefined' 
[Error]     at Object.mkdirSync (fs.js:757:3) 
[Error]     at Generator.next (<anonymous>) 
[Error]     at new Promise (<anonymous>) 
[Error]     at Generator.next (<anonymous>) 
[Error]     at new Promise (<anonymous>) 
[Error]     at new Promise (<anonymous>) 
[Error]     at process._tickCallback (internal/process/next_tick.js:61:11) 

Here's the diagnostic report:

{ editorVersion: '1.49.3',
  pluginVersion: '1.0.245',
  editorType: 'VSCode',
  osVersion: 'linux 4.19.128-microsoft-standard',
  nodeVersion: 'v10.22.1',
  coreVersion: '1.0.972',
  checksum: 'NDY1NzgxNTU3NzA3ODNkM2UwMjc3M2FkMmE1YzYxMTYsMTYzMjM1NTIwMDAwMCww',
  config:
   { diagnostics:
      { angular:
         { workspace:
            { '$schema': './node_modules/@angular/cli/lib/config/schema.json',
              version: 1,
              newProjectRoot: 'projects',
              projects:
               { 'project_name':
                  { projectType: 'application',
                    schematics: { '@schematics/angular:component': { style: 'scss' } },
                    root: '',
                    sourceRoot: 'src',
                    prefix: 'app',
                    architect:
                     { build:
                        { builder: '@angular-devkit/build-angular:browser',
                          options:
                           { outputPath: 'dist/',
                             index: 'src/index.html',
                             main: 'src/main.ts',
                             polyfills: 'src/polyfills.ts',
                             tsConfig: 'tsconfig.app.json',
                             aot: true,
                             assets: [ 'src/favicon.ico', 'src/assets' ],
                             styles: [ 'src/styles.scss' ],
                             stylePreprocessorOptions: { includePaths: [ 'src/assets/styles/', './node_modules/@ORG/' ] },
                             scripts: [] },
                          configurations:
                           { production:
                              { fileReplacements: [ { replace: 'src/environments/environment.ts', with: 'src/environments/environment.prod.ts' } ],
                                optimization: true,
                                outputHashing: 'all',
                                sourceMap: false,
                                extractCss: true,
                                namedChunks: false,
                                extractLicenses: true,
                                vendorChunk: false,
                                buildOptimizer: true,
                                budgets: [ { type: 'initial', maximumWarning: '2mb', maximumError: '5mb' }, { type: 'anyComponentStyle', maximumWarning: '6kb', maximumError: '10kb' } ] } } },
                       serve: { builder: '@angular-devkit/build-angular:dev-server', options: { browserTarget: 'project_name:build' }, configurations: { production: { browserTarget: 'project_name:build:production' } } },
                       'extract-i18n': { builder: '@angular-devkit/build-angular:extract-i18n', options: { browserTarget: 'project_name:build' } },
                       test:
                        { builder: '@angular-devkit/build-angular:karma',
                          options:
                           { main: 'src/test.ts',
                             polyfills: 'src/polyfills.ts',
                             tsConfig: 'tsconfig.spec.json',
                             karmaConfig: 'karma.conf.js',
                             sourceMap: true,
                             codeCoverageExclude: [ 'src/app/core/mocks/**/*' ],
                             assets: [ 'src/favicon.ico', 'src/assets' ],
                             scripts: [] } },
                       lint: { builder: '@angular-devkit/build-angular:tslint', options: { tsConfig: [ 'tsconfig.app.json', 'tsconfig.spec.json', 'e2e/tsconfig.e2e.json' ], exclude: [ '**/node_modules/**' ] } },
                       e2e:
                        { builder: '@angular-devkit/build-angular:protractor',
                          options: { protractorConfig: 'e2e/protractor.conf.js', devServerTarget: 'project_name:serve' },
                          configurations: { production: { devServerTarget: 'project_name:serve:production' } } } } } },
              defaultProject: 'project_name',
              cli: { defaultCollection: '@ngrx/schematics' } },
           main:
            '// This file is required by karma.conf.js and loads recursively all the .spec and framework files\n\nimport { getTestBed } from \'@angular/core/testing\';\nimport {\n  platformBrowserDynamicTesting,\n  BrowserDynamicTestingModule\n} from \'@angular/platform-browser-dynamic/testing\';\n\nimport \'zone.js/dist/zone-testing\';\n\ndeclare const require: {\n  context(\n    path: string,\n    deep?: boolean,\n    filter?: RegExp\n  ): {\n    keys(): string[];\n    <T>(id: string): T;\n  };\n};\n\n// First, initialize the Angular testing environment.\ngetTestBed().initTestEnvironment(\n  BrowserDynamicTestingModule,\n  platformBrowserDynamicTesting()\n);\n// Then we find all the tests.\n\n// And load the modules.\n\n' } },
     testFramework: { version: 'jasmine@3.5.0', configurator: 'jasmine@2.1.3', reporter: 'jasmine@2.1.3', starter: 'jasmine@2.1.3', autoDetected: true },
     env: { kind: 'chrome', type: 'browser', params: {}, viewportSize: { width: 800, height: 600 }, options: { width: 800, height: 600 }, bundle: true },
     files:
      [ { pattern: 'src/**/*.spec.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/polyfills.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/test.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/main.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/index.html', ignore: true, trigger: true, load: true },
        { pattern: 'src/test.base.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/test.wallaby.ts', ignore: false, trigger: true, load: true, order: 1 },
        { pattern: 'src/**/*.+(ts|js)', load: false, ignore: false, trigger: true, order: 2 },
        { pattern: 'src/**/*.+(css|less|scss|sass|styl|html|json|svg)', instrument: false, load: false, ignore: false, trigger: true, order: 3 } ],
     tests: [ { pattern: 'src/**/*.spec.ts', load: false, ignore: false, trigger: true, test: true, order: 4 } ],
     filesWithNoCoverageCalculated: [],
     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,
     extensions: {},
     reportUnhandledPromises: false,
     throwOnBeforeUnload: true,
     slowTestThreshold: 75,
     lowCoverageThreshold: 80,
     loose: true,
     configCode: 'auto.detect#1313788472' },
  packageJSON:
   { dependencies:
      { '@angular/animations': '~9.1.0',
        '@angular/cdk': '^9.2.0',
        '@angular/common': '~9.1.0',
        '@angular/compiler': '~9.1.0',
        '@angular/core': '~9.1.0',
        '@angular/forms': '~9.1.0',
        '@angular/platform-browser': '~9.1.0',
        '@angular/platform-browser-dynamic': '~9.1.0',
        '@angular/router': '~9.1.0',
        '@ORG/dsuite': '^9.9.1-1',
        '@fortawesome/fontawesome-free': '^5.13.0',
        '@fullcalendar/core': '^4.4.0',
        '@ngrx/effects': '^9.2.0',
        '@ngrx/router-store': '^9.2.0',
        '@ngrx/store': '^9.2.0',
        'angular-in-memory-web-api': '^0.11.0',
        angulartics2: '^6.3.1',
        bootstrap: '^4.4.1',
        'chart.js': '^2.9.3',
        'crypto-js': '^4.0.0',
        'font-awesome': '^4.7.0',
        'lodash-es': '^4.17.15',
        primeicons: '^4.0.0',
        primeng: '^9.0.5',
        quill: '^1.3.7',
        rxjs: '^6.5.5',
        tslib: '^1.10.0',
        'zone.js': '~0.10.2' },
     devDependencies:
      { '@angular-devkit/build-angular': '~0.901.0',
        '@angular/cli': '~9.1.0',
        '@angular/compiler-cli': '~9.1.0',
        '@angular/language-service': '~9.1.0',
        '@ngrx/schematics': '^10.0.0',
        '@ngrx/store-devtools': '^9.2.0',
        '@types/jasmine': '~3.5.0',
        '@types/jasminewd2': '~2.0.3',
        '@types/lodash-es': '^4.17.3',
        '@types/moment': '^2.13.0',
        '@types/node': '^12.12.34',
        codelyzer: '^5.1.2',
        husky: '^4.2.3',
        'jasmine-core': '~3.5.0',
        'jasmine-marbles': '^0.6.0',
        'jasmine-spec-reporter': '~4.2.1',
        karma: '~4.3.0',
        'karma-chrome-launcher': '~3.1.0',
        'karma-coverage-istanbul-reporter': '~2.1.0',
        'karma-jasmine': '~2.0.1',
        'karma-jasmine-html-reporter': '^1.4.2',
        momentjs: '^2.0.0',
        prettier: '^2.0.4',
        'pretty-quick': '^2.0.1',
        protractor: '~5.4.3',
        'scripps-ui-apache-config': '^4.0.2',
        'scripps-ui-build': '^1.1.10',
        'sui-tools-protractor-runner': '^7.16.3',
        'ts-node': '~8.3.0',
        tslint: '~5.18.0',
        typescript: '~3.7.5',
        'wallaby-webpack': '^3.9.15' } },
  fs: { numberOfFiles: 121 },
  debug:
   [ '2020-10-07T02:16:42.036Z angular/cli config Detected Angular CLI.\n',
     '2020-10-07T02:16:44.320Z angular/cli karma project config Using virtual <homeDir>/Projects/ORG/project_name/src/test.ts.\n',
     '2020-10-07T02:16:44.339Z project Wallaby Node version: v10.22.1\n',
     '2020-10-07T02:16:44.339Z project Wallaby config: <homeDir>/Projects/ORG/project_name/auto.detect\n',
     '2020-10-07T02:16:45.047Z project File cache: <homeDir>/.vscode-server/extensions/wallabyjs.wallaby-vscode-1.0.245/projects/de9eebffb0f92670\n',
     '2020-10-07T02:16:45.055Z uiService Listening port 51235\n',
     '2020-10-07T02:16:45.106Z workers Parallelism for initial run: 6, for regular run: 3\n',
     '2020-10-07T02:16:45.106Z workers Starting run worker instance #0\n',
     '2020-10-07T02:16:45.106Z workers Starting run worker instance #1\n',
     '2020-10-07T02:16:45.106Z workers Starting run worker instance #2\n',
     '2020-10-07T02:16:45.106Z workers Starting run worker instance #3\n',
     '2020-10-07T02:16:45.106Z workers Starting run worker instance #4\n',
     '2020-10-07T02:16:45.106Z workers Starting run worker instance #5\n',
     '2020-10-07T02:16:45.108Z workers Web server is listening at 35343\n',
     '2020-10-07T02:16:45.110Z workers Started run worker instance (immediate) #0\n',
     '2020-10-07T02:16:45.110Z workers Started run worker instance (immediate) #1\n',
     '2020-10-07T02:16:45.110Z workers Started run worker instance (immediate) #2\n',
     '2020-10-07T02:16:45.110Z workers Started run worker instance (immediate) #3\n',
     '2020-10-07T02:16:45.110Z workers Started run worker instance (immediate) #4\n',
     '2020-10-07T02:16:45.110Z workers Started run worker instance (immediate) #5\n',
     '2020-10-07T02:16:45.111Z project Stopping process pool\n',
     '2020-10-07T02:16:45.111Z project File cache is up-to-date, starting full test run\n',
     '2020-10-07T02:16:45.112Z project Running postprocessor\n',
     '2020-10-07T02:16:45.116Z postprocessor Processing started.\n',
     '2020-10-07T02:16:45.116Z postprocessor Initializing.\n',
     '2020-10-07T02:16:45.117Z postprocessor Initializing entry.\n',
     '2020-10-07T02:16:45.117Z postprocessor Sanitizing configuration.\n',
     '2020-10-07T02:16:45.117Z postprocessor Adjusting configuration.\n',
     '2020-10-07T02:16:45.117Z postprocessor Creating compiler.\n',
     '2020-10-07T02:16:46.134Z postprocessor Customizing compiler.\n',
     '2020-10-07T02:16:46.135Z postprocessor Compilation started.\n',
     '2020-10-07T02:17:06.744Z postprocessor Compilation finished.\n',
     '2020-10-07T02:17:09.945Z postprocessor Emitting 1556 files.\n',
     '2020-10-07T02:17:09.963Z postprocessor Processing finished.\n',
     '2020-10-07T02:17:10.167Z project Postprocessor execution finished\n',
     '2020-10-07T02:17:10.167Z project Test run started; run priority: 3\n',
     '2020-10-07T02:17:10.179Z project Running all tests\n',
     '2020-10-07T02:17:10.243Z workers Starting test run, priority: 3\n',
     '2020-10-07T02:17:10.243Z workers Distributing tests between 6 workers\n',
     '2020-10-07T02:17:10.245Z workers Running tests in parallel\n',
     '2020-10-07T02:17:10.246Z chromeRunner Starting sandbox [worker #0, session #s3sly]\n',
     '2020-10-07T02:17:10.246Z chromeRunner Starting sandbox [worker #1, session #v6vxl]\n',
     '2020-10-07T02:17:10.246Z chromeRunner Starting sandbox [worker #2, session #zwrzp]\n',
     '2020-10-07T02:17:10.246Z chromeRunner Starting sandbox [worker #3, session #cp9gy]\n',
     '2020-10-07T02:17:10.246Z chromeRunner Starting sandbox [worker #4, session #ms2fk]\n',
     '2020-10-07T02:17:10.246Z chromeRunner Starting sandbox [worker #5, session #mi4k5]\n',
     '2020-10-07T02:17:10.246Z chromeRunner Preparing sandbox [worker #0, session #s3sly]\n',
     '2020-10-07T02:17:10.251Z browserRunner Total files to load in sandbox: 9\n',
     '2020-10-07T02:17:10.262Z browserRunner Sandbox is generated [worker #0, session #s3sly]: http://localhost:35343/wallaby_sandbox0.html\n',
     '2020-10-07T02:17:10.262Z chromeRunner Preparing sandbox [worker #1, session #v6vxl]\n',
     '2020-10-07T02:17:10.316Z browserRunner Total files to load in sandbox: 9\n',
     '2020-10-07T02:17:10.318Z browserRunner Sandbox is generated [worker #1, session #v6vxl]: http://localhost:35343/wallaby_sandbox1.html\n',
     '2020-10-07T02:17:10.319Z chromeRunner Preparing sandbox [worker #2, session #zwrzp]\n',
     '2020-10-07T02:17:10.323Z browserRunner Total files to load in sandbox: 9\n',
     '2020-10-07T02:17:10.324Z browserRunner Sandbox is generated [worker #2, session #zwrzp]: http://localhost:35343/wallaby_sandbox2.html\n',
     '2020-10-07T02:17:10.324Z chromeRunner Preparing sandbox [worker #3, session #cp9gy]\n',
     '2020-10-07T02:17:10.325Z browserRunner Total files to load in sandbox: 9\n',
     '2020-10-07T02:17:10.326Z browserRunner Sandbox is generated [worker #3, session #cp9gy]: http://localhost:35343/wallaby_sandbox3.html\n',
     '2020-10-07T02:17:10.327Z chromeRunner Preparing sandbox [worker #4, session #ms2fk]\n',
     '2020-10-07T02:17:10.327Z browserRunner Total files to load in sandbox: 9\n',
     '2020-10-07T02:17:10.335Z browserRunner Sandbox is generated [worker #4, session #ms2fk]: http://localhost:35343/wallaby_sandbox4.html\n',
     '2020-10-07T02:17:10.335Z chromeRunner Preparing sandbox [worker #5, session #mi4k5]\n',
     '2020-10-07T02:17:10.336Z browserRunner Total files to load in sandbox: 9\n',
     '2020-10-07T02:17:10.337Z browserRunner Sandbox is generated [worker #5, session #mi4k5]: http://localhost:35343/wallaby_sandbox5.html\n',
     '2020-10-07T02:17:10.337Z chromeRunner Prepared sandbox [worker #0, session #s3sly]\n',
     '2020-10-07T02:17:10.342Z chromeRunner Prepared sandbox [worker #1, session #v6vxl]\n',
     '2020-10-07T02:17:10.342Z chromeRunner Prepared sandbox [worker #2, session #zwrzp]\n',
     '2020-10-07T02:17:10.342Z chromeRunner Prepared sandbox [worker #3, session #cp9gy]\n',
     '2020-10-07T02:17:10.342Z chromeRunner Prepared sandbox [worker #4, session #ms2fk]\n',
     '2020-10-07T02:17:10.342Z chromeRunner Prepared sandbox [worker #5, session #mi4k5]\n',
     '2020-10-07T02:17:10.342Z workers [worker #0, session #s3sly] Running tests in sandbox\n',
     '2020-10-07T02:17:10.343Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-07T02:17:10.343Z workers [worker #1, session #v6vxl] Running tests in sandbox\n',
     '2020-10-07T02:17:10.343Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-07T02:17:10.344Z workers [worker #2, session #zwrzp] Running tests in sandbox\n',
     '2020-10-07T02:17:10.344Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-07T02:17:10.344Z workers [worker #3, session #cp9gy] Running tests in sandbox\n',
     '2020-10-07T02:17:10.344Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-07T02:17:10.344Z workers [worker #4, session #ms2fk] Running tests in sandbox\n',
     '2020-10-07T02:17:10.344Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-07T02:17:10.344Z workers [worker #5, session #mi4k5] Running tests in sandbox\n',
     '2020-10-07T02:17:10.344Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-07T02:17:17.344Z workers [s3sly] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-07T02:17:17.345Z workers [v6vxl] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-07T02:17:17.345Z workers [zwrzp] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-07T02:17:17.345Z workers [cp9gy] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-07T02:17:17.345Z workers [ms2fk] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-07T02:17:17.345Z workers [mi4k5] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-07T02:17:17.346Z project Test run finished\n' ] }
smcenlly commented 4 years ago

We're not quite sure why your project tests are failing. The issue may be related to your project and not WSL.

We used your diagnostic report packages and angular configuration to create a sample project that is very close to your current project structure. Everything is working for us using the sample project. We have tried the sample on WSL Ubuntu 18.04 and WSL OpenSuse Leap 15.2. We cloned this repo to ~/repos/wallaby-2354/ and tried it by opening both ~/repos and ~/repos/wallaby-2354.

Next steps for you to try:

  1. Clone the sample project and try starting Wallaby in your OpenSuse WSL instance.
  2. Clone your project to your local machine (not using WSL) and see if it works for you.
  3. If your project is working locally and not on WSL, try another WSL distro (e.g. install Ubuntu to rule out any environmental issues).
  4. If the sample project is working on your OpenSuse WSL instance, try: a. commenting out code/tests in your project (perhaps start with a dummy test) to see if you can identify which part of your project is breaking b. migrating code from your project to the sample project to see if you can replicate the issue outside of your project to share with us
nlaplante commented 4 years ago

I found an issue in chrome-launcher repo which may be related to this: https://github.com/GoogleChrome/chrome-launcher/issues/188

nlaplante commented 4 years ago

I cloned your sample project, installed dependencies and opened it in VS Code remotely in WSL 2. I get nearly the same error:

‍[Info]  Started Wallaby.js Core v1.0.972
[Info]  Wallaby App (realtime reports) is available at: http://localhost:51245
[Error] EACCES: permission denied, mkdir '/mnt/undefined' 
[Error]     at Object.mkdirSync (fs.js:757:3) 
[Error]     at Generator.next (<anonymous>) 
[Error]     at new Promise (<anonymous>) 
[Error]     at Generator.next (<anonymous>) 
[Error]     at new Promise (<anonymous>) 
[Error]     at new Promise (<anonymous>) 
[Error]     at process._tickCallback (internal/process/next_tick.js:61:11) 
[Error] Compiling @angular/core : es2015 as esm2015 
[Error] Compiling primeng/dom : es2015 as esm2015 
[Error] Compiling @angular/animations : es2015 as esm2015 
[Error] Compiling @angular/cdk/keycodes : es2015 as esm2015 
[Error] Compiling @angular/compiler/testing : es2015 as esm2015 
[Error] Compiling @angular/common : es2015 as esm2015 
[Error] Compiling @angular/cdk/collections : es2015 as esm2015 
[Error] Compiling @angular/cdk/observers : es2015 as esm2015 
[Error] Compiling @angular/animations/browser : es2015 as esm2015 
[Error] Compiling @ngrx/store : es2015 as esm2015 
[Error] Compiling @angular/core/testing : es2015 as esm2015 
[Error] Compiling angulartics2/ga-enhanced-ecom : es2015 as esm2015 
[Error] Compiling @angular/cdk/accordion : es2015 as esm2015 
[Error] Compiling @angular/router : es2015 as esm2015 
[Error] Compiling @angular/forms : es2015 as esm2015 
[Error] Compiling @angular/cdk/platform : es2015 as esm2015 
[Error] Compiling @angular/cdk/bidi : es2015 as esm2015 
[Error] Compiling primeng/button : es2015 as esm2015 
[Error] Compiling @angular/platform-browser : es2015 as esm2015 
[Error] Compiling primeng/tooltip : es2015 as esm2015 
[Error] Compiling @angular/common/http : es2015 as esm2015 
[Error] Compiling @angular/cdk/scrolling : es2015 as esm2015 
[Error] Compiling primeng/api : es2015 as esm2015 
[Error] Compiling angulartics2 : es2015 as esm2015 
[Error] Compiling primeng/inputtext : es2015 as esm2015 
[Error] Compiling @angular/cdk/a11y : es2015 as esm2015 
[Error] Compiling primeng/focustrap : es2015 as esm2015 
[Error] Compiling primeng/progressbar : es2015 as esm2015 
[Error] Compiling @angular/cdk/portal : es2015 as esm2015 
[Error] Compiling primeng/utils : es2015 as esm2015 
[Error] Compiling primeng/messages : es2015 as esm2015 
[Error] Compiling @angular/platform-browser-dynamic : es2015 as esm2015 
[Error] Compiling @angular/platform-browser/testing : es2015 as esm2015 
[Error] Compiling @angular/common/testing : es2015 as esm2015 
[Error] Compiling @ngrx/effects : es2015 as esm2015 
[Error] Compiling primeng/dropdown : es2015 as esm2015 
[Error] Compiling primeng/accordion : es2015 as esm2015 
[Error] Compiling primeng/autocomplete : es2015 as esm2015 
[Error] Compiling primeng/blockui : es2015 as esm2015 
[Error] Compiling primeng/breadcrumb : es2015 as esm2015 
[Error] Compiling primeng/calendar : es2015 as esm2015 
[Error] Compiling primeng/captcha : es2015 as esm2015 
[Error] Compiling primeng/card : es2015 as esm2015 
[Error] Compiling primeng/paginator : es2015 as esm2015 
[Error] Compiling primeng/carousel : es2015 as esm2015 
[Error] Compiling primeng/chart : es2015 as esm2015 
[Error] Compiling primeng/checkbox : es2015 as esm2015 
[Error] Compiling primeng/chips : es2015 as esm2015 
[Error] Compiling primeng/codehighlighter : es2015 as esm2015 
[Error] Compiling primeng/colorpicker : es2015 as esm2015 
[Error] Compiling primeng/confirmdialog : es2015 as esm2015 
[Error] Compiling primeng/contextmenu : es2015 as esm2015 
[Error] Compiling primeng/dataview : es2015 as esm2015 
[Error] Compiling primeng/defer : es2015 as esm2015 
[Error] Compiling primeng/dialog : es2015 as esm2015 
[Error] Compiling primeng/dragdrop : es2015 as esm2015 
[Error] Compiling primeng/dynamicdialog : es2015 as esm2015 
[Error] Compiling primeng/editor : es2015 as esm2015 
[Error] Compiling primeng/fieldset : es2015 as esm2015 
[Error] Compiling primeng/fileupload : es2015 as esm2015 
[Error] Compiling primeng/fullcalendar : es2015 as esm2015 
[Error] Compiling primeng/galleria : es2015 as esm2015 
[Error] Compiling primeng/gmap : es2015 as esm2015 
[Error] Compiling primeng/inplace : es2015 as esm2015 
[Error] Compiling primeng/inputmask : es2015 as esm2015 
[Error] Compiling primeng/inputnumber : es2015 as esm2015 
[Error] Compiling primeng/inputswitch : es2015 as esm2015 
[Error] Compiling primeng/inputtextarea : es2015 as esm2015 
[Error] Compiling primeng/keyfilter : es2015 as esm2015 
[Error] Compiling primeng/lightbox : es2015 as esm2015 
[Error] Compiling primeng/listbox : es2015 as esm2015 
[Error] Compiling primeng/megamenu : es2015 as esm2015 
[Error] Compiling primeng/menu : es2015 as esm2015 
[Error] Compiling primeng/menubar : es2015 as esm2015 
[Error] Compiling primeng/message : es2015 as esm2015 
[Error] Compiling primeng/multiselect : es2015 as esm2015 
[Error] Compiling primeng/orderlist : es2015 as esm2015 
[Error] Compiling primeng/organizationchart : es2015 as esm2015 
[Error] Compiling primeng/overlaypanel : es2015 as esm2015 
[Error] Compiling primeng/panel : es2015 as esm2015 
[Error] Compiling primeng/panelmenu : es2015 as esm2015 
[Error] Compiling primeng/password : es2015 as esm2015 
[Error] Compiling primeng/picklist : es2015 as esm2015 
[Error] Compiling primeng/progressspinner : es2015 as esm2015 
[Error] Compiling primeng/radiobutton : es2015 as esm2015 
[Error] Compiling primeng/rating : es2015 as esm2015 
[Error] Compiling primeng/scrollpanel : es2015 as esm2015 
[Error] Compiling primeng/selectbutton : es2015 as esm2015 
[Error] Compiling primeng/sidebar : es2015 as esm2015 
[Error] Compiling primeng/slidemenu : es2015 as esm2015 
[Error] Compiling primeng/slider : es2015 as esm2015 
[Error] Compiling primeng/spinner : es2015 as esm2015 
[Error] Compiling primeng/splitbutton : es2015 as esm2015 
[Error] Compiling primeng/steps : es2015 as esm2015 
[Error] Compiling primeng/table : es2015 as esm2015 
[Error] Compiling primeng/tabmenu : es2015 as esm2015 
[Error] Compiling primeng/tabview : es2015 as esm2015 
[Error] Compiling primeng/terminal : es2015 as esm2015 
[Error] Compiling primeng/tieredmenu : es2015 as esm2015 
[Error] Compiling primeng/toast : es2015 as esm2015 
[Error] Compiling primeng/togglebutton : es2015 as esm2015 
[Error] Compiling primeng/toolbar : es2015 as esm2015 
[Error] Compiling primeng/tree : es2015 as esm2015 
[Error] Compiling primeng/treetable : es2015 as esm2015 
[Error] Compiling primeng/tristatecheckbox : es2015 as esm2015 
[Error] Compiling primeng/virtualscroller : es2015 as esm2015 
[Error] Compiling @angular/animations/browser/testing : es2015 as esm2015 
[Error] Compiling @angular/cdk/clipboard : es2015 as esm2015 
[Error] Compiling @angular/cdk/drag-drop : es2015 as esm2015 
[Error] Compiling @angular/cdk/layout : es2015 as esm2015 
[Error] Compiling @angular/cdk/overlay : es2015 as esm2015 
[Error] Compiling @angular/cdk/stepper : es2015 as esm2015 
[Error] Compiling @angular/cdk/table : es2015 as esm2015 
[Error] Compiling @angular/cdk/text-field : es2015 as esm2015 
[Error] Compiling @angular/cdk/tree : es2015 as esm2015 
[Error] Compiling @angular/common/http/testing : es2015 as esm2015 
[Error] Compiling @angular/platform-browser/animations : es2015 as esm2015 
[Error] Compiling @angular/platform-browser-dynamic/testing : es2015 as esm2015 
[Error] Compiling @angular/router/testing : es2015 as esm2015 
[Error] Compiling @ngrx/effects/testing : es2015 as esm2015 
[Error] Compiling @ngrx/router-store : es2015 as esm2015 
[Error] Compiling @ngrx/store/testing : es2015 as esm2015 
[Error] Compiling @ngrx/store-devtools : es2015 as esm2015 
[Error] Compiling angular-in-memory-web-api : module as esm5 
[Error] Compiling angulartics2/adobeanalytics : es2015 as esm2015 
[Error] Compiling angulartics2/amplitude : es2015 as esm2015 
[Error] Compiling angulartics2/appinsights : es2015 as esm2015 
[Error] Compiling angulartics2/baidu : es2015 as esm2015 
[Error] Compiling angulartics2/clicky : es2015 as esm2015 
[Error] Compiling angulartics2/facebook : es2015 as esm2015 
[Error] Compiling angulartics2/ga : es2015 as esm2015 
[Error] Compiling angulartics2/gst : es2015 as esm2015 
[Error] Compiling angulartics2/gtm : es2015 as esm2015 
[Error] Compiling angulartics2/hubspot : es2015 as esm2015 
[Error] Compiling angulartics2/ibm-digital-analytics : es2015 as esm2015 
[Error] Compiling angulartics2/intercom : es2015 as esm2015 
[Error] Compiling angulartics2/kissmetrics : es2015 as esm2015 
[Error] Compiling angulartics2/mixpanel : es2015 as esm2015 
[Error] Compiling angulartics2/piwik : es2015 as esm2015 
[Error] Compiling angulartics2/routerlessmodule : es2015 as esm2015 
[Error] Compiling angulartics2/segment : es2015 as esm2015 
[Error] Compiling angulartics2/splunk : es2015 as esm2015 
[Error] Compiling angulartics2/woopra : es2015 as esm2015 
[Error] Compiling primeng : es2015 as esm2015 

Diagnostic report:

{ editorVersion: '1.49.3',
  pluginVersion: '1.0.245',
  editorType: 'VSCode',
  osVersion: 'linux 4.19.128-microsoft-standard',
  nodeVersion: 'v10.22.1',
  coreVersion: '1.0.972',
  checksum: 'NDY1NzgxNTU3NzA3ODNkM2UwMjc3M2FkMmE1YzYxMTYsMTYzMjM1NTIwMDAwMCww',
  config:
   { diagnostics:
      { angular:
         { workspace:
            { '$schema': './node_modules/@angular/cli/lib/config/schema.json',
              version: 1,
              newProjectRoot: 'projects',
              projects:
               { wallaby2534:
                  { projectType: 'application',
                    schematics: {},
                    root: '',
                    sourceRoot: 'src',
                    prefix: 'app',
                    architect:
                     { build:
                        { builder: '@angular-devkit/build-angular:browser',
                          options:
                           { outputPath: 'dist/',
                             index: 'src/index.html',
                             main: 'src/main.ts',
                             polyfills: 'src/polyfills.ts',
                             tsConfig: 'tsconfig.app.json',
                             aot: true,
                             assets: [ 'src/favicon.ico', 'src/assets' ],
                             styles: [ 'src/styles.css' ],
                             scripts: [] },
                          configurations:
                           { production:
                              { fileReplacements: [ { replace: 'src/environments/environment.ts', with: 'src/environments/environment.prod.ts' } ],
                                optimization: true,
                                outputHashing: 'all',
                                sourceMap: false,
                                extractCss: true,
                                namedChunks: false,
                                extractLicenses: true,
                                vendorChunk: false,
                                buildOptimizer: true,
                                budgets: [ { type: 'initial', maximumWarning: '2mb', maximumError: '5mb' }, { type: 'anyComponentStyle', maximumWarning: '6kb', maximumError: '10kb' } ] } } },
                       serve: { builder: '@angular-devkit/build-angular:dev-server', options: { browserTarget: 'wallaby2534:build' }, configurations: { production: { browserTarget: 'wallaby2534:build:production' } } },
                       'extract-i18n': { builder: '@angular-devkit/build-angular:extract-i18n', options: { browserTarget: 'wallaby2534:build' } },
                       test:
                        { builder: '@angular-devkit/build-angular:karma',
                          options:
                           { main: 'src/test.ts',
                             polyfills: 'src/polyfills.ts',
                             tsConfig: 'tsconfig.spec.json',
                             karmaConfig: 'karma.conf.js',
                             sourceMap: true,
                             assets: [ 'src/favicon.ico', 'src/assets' ],
                             styles: [ 'src/styles.css' ],
                             scripts: [] } },
                       lint: { builder: '@angular-devkit/build-angular:tslint', options: { tsConfig: [ 'tsconfig.app.json', 'tsconfig.spec.json', 'e2e/tsconfig.json' ], exclude: [ '**/node_modules/**' ] } },
                       e2e:
                        { builder: '@angular-devkit/build-angular:protractor',
                          options: { protractorConfig: 'e2e/protractor.conf.js', devServerTarget: 'wallaby2534:serve' },
                          configurations: { production: { devServerTarget: 'wallaby2534:serve:production' } } } } } },
              defaultProject: 'wallaby2534' },
           main:
            '// This file is required by karma.conf.js and loads recursively all the .spec and framework files \n \nimport { getTestBed } from \'@angular/core/testing\'; \nimport { \n  platformBrowserDynamicTesting, \n  BrowserDynamicTestingModule \n} from \'@angular/platform-browser-dynamic/testing\'; \n \nimport \'zone.js/dist/zone-testing\'; \n \ndeclare const require: { \n  context( \n    path: string, \n    deep?: boolean, \n    filter?: RegExp \n  ): { \n    keys(): string[]; \n    <T>(id: string): T; \n  }; \n}; \n \n// First, initialize the Angular testing environment. \ngetTestBed().initTestEnvironment( \n  BrowserDynamicTestingModule, \n  platformBrowserDynamicTesting() \n); \n\n// Then we find all the tests.\n\n// And load the modules.\n\n' } },
     testFramework: { version: 'jasmine@3.5.0', configurator: 'jasmine@2.1.3', reporter: 'jasmine@2.1.3', starter: 'jasmine@2.1.3', autoDetected: true },
     env: { kind: 'chrome', type: 'browser', params: {}, viewportSize: { width: 800, height: 600 }, options: { width: 800, height: 600 }, bundle: true },
     files:
      [ { pattern: 'src/**/*.spec.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/polyfills.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/test.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/main.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/index.html', ignore: true, trigger: true, load: true },
        { pattern: 'src/test.base.ts', ignore: true, trigger: true, load: true },
        { pattern: 'src/test.wallaby.ts', ignore: false, trigger: true, load: true, order: 1 },
        { pattern: 'src/**/*.+(ts|js)', load: false, ignore: false, trigger: true, order: 2 },
        { pattern: 'src/**/*.+(css|less|scss|sass|styl|html|json|svg)', instrument: false, load: false, ignore: false, trigger: true, order: 3 } ],
     tests: [ { pattern: 'src/**/*.spec.ts', load: false, ignore: false, trigger: true, test: true, order: 4 } ],
     filesWithNoCoverageCalculated: [],
     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,
     extensions: {},
     reportUnhandledPromises: false,
     throwOnBeforeUnload: true,
     slowTestThreshold: 75,
     lowCoverageThreshold: 80,
     loose: true,
     configCode: 'auto.detect#1313788472' },
  packageJSON:
   { dependencies:
      { '@angular/animations': '~9.1.0',
        '@angular/cdk': '^9.2.0',
        '@angular/common': '~9.1.0',
        '@angular/compiler': '~9.1.0',
        '@angular/core': '~9.1.0',
        '@angular/forms': '~9.1.0',
        '@angular/platform-browser': '~9.1.0',
        '@angular/platform-browser-dynamic': '~9.1.0',
        '@angular/router': '~9.1.0',
        '@fortawesome/fontawesome-free': '^5.13.0',
        '@fullcalendar/core': '^4.4.0',
        '@ngrx/effects': '^9.2.0',
        '@ngrx/router-store': '^9.2.0',
        '@ngrx/store': '^9.2.0',
        'angular-in-memory-web-api': '^0.11.0',
        angulartics2: '^6.3.1',
        bootstrap: '^4.4.1',
        'chart.js': '^2.9.3',
        'crypto-js': '^4.0.0',
        'font-awesome': '^4.7.0',
        'lodash-es': '^4.17.15',
        primeicons: '^4.0.0',
        primeng: '^9.0.5',
        quill: '^1.3.7',
        rxjs: '^6.5.5',
        tslib: '^1.10.0',
        'zone.js': '~0.10.2' },
     devDependencies:
      { '@angular-devkit/build-angular': '~0.901.0',
        '@angular/cli': '~9.1.0',
        '@angular/compiler-cli': '~9.1.0',
        '@angular/language-service': '~9.1.0',
        '@ngrx/schematics': '^10.0.0',
        '@ngrx/store-devtools': '^9.2.0',
        '@types/jasmine': '~3.5.0',
        '@types/jasminewd2': '~2.0.3',
        '@types/lodash-es': '^4.17.3',
        '@types/moment': '^2.13.0',
        '@types/node': '^12.12.34',
        codelyzer: '^5.1.2',
        husky: '^4.2.3',
        'jasmine-core': '~3.5.0',
        'jasmine-marbles': '^0.6.0',
        'jasmine-spec-reporter': '~4.2.1',
        karma: '~4.3.0',
        'karma-chrome-launcher': '~3.1.0',
        'karma-coverage-istanbul-reporter': '~2.1.0',
        'karma-jasmine': '~2.0.1',
        'karma-jasmine-html-reporter': '^1.4.2',
        momentjs: '^2.0.0',
        prettier: '^2.0.4',
        'pretty-quick': '^2.0.1',
        protractor: '~5.4.3',
        'ts-node': '~8.3.0',
        tslint: '~5.18.0',
        typescript: '~3.7.5',
        'wallaby-webpack': '^3.9.15' } },
  fs: { numberOfFiles: 11 },
  debug:
   [ '2020-10-07T12:27:07.147Z angular/cli config Detected Angular CLI.\n',
     '2020-10-07T12:27:09.398Z angular/cli karma project config Using virtual <homeDir>/Projects/Discovery/wallaby2534/src/test.ts.\n',
     '2020-10-07T12:27:09.419Z project Wallaby Node version: v10.22.1\n',
     '2020-10-07T12:27:09.419Z project Wallaby config: <homeDir>/Projects/Discovery/wallaby2534/auto.detect\n',
     '2020-10-07T12:27:10.021Z project File cache: <homeDir>/.vscode-server/extensions/wallabyjs.wallaby-vscode-1.0.245/projects/b3158413a916e8bb\n',
     '2020-10-07T12:27:10.030Z uiService Listening port 51235\n',
     '2020-10-07T12:27:10.032Z project package.json file change detected, invalidating local cache\n',
     '2020-10-07T12:27:10.071Z workers Parallelism for initial run: 6, for regular run: 3\n',
     '2020-10-07T12:27:10.071Z workers Starting run worker instance #0\n',
     '2020-10-07T12:27:10.071Z workers Starting run worker instance #1\n',
     '2020-10-07T12:27:10.071Z workers Starting run worker instance #2\n',
     '2020-10-07T12:27:10.071Z workers Starting run worker instance #3\n',
     '2020-10-07T12:27:10.071Z workers Starting run worker instance #4\n',
     '2020-10-07T12:27:10.071Z workers Starting run worker instance #5\n',
     '2020-10-07T12:27:10.073Z workers Web server is listening at 34685\n',
     '2020-10-07T12:27:10.075Z workers Started run worker instance (immediate) #0\n',
     '2020-10-07T12:27:10.075Z workers Started run worker instance (immediate) #1\n',
     '2020-10-07T12:27:10.075Z workers Started run worker instance (immediate) #2\n',
     '2020-10-07T12:27:10.075Z workers Started run worker instance (immediate) #3\n',
     '2020-10-07T12:27:10.075Z workers Started run worker instance (immediate) #4\n',
     '2020-10-07T12:27:10.075Z workers Started run worker instance (immediate) #5\n',
     '2020-10-07T12:27:10.076Z project Stopping process pool\n',
     '2020-10-07T12:27:10.076Z project File cache is up-to-date, starting full test run\n',
     '2020-10-07T12:27:10.077Z project Running postprocessor\n',
     '2020-10-07T12:27:10.080Z postprocessor Processing started.\n',
     '2020-10-07T12:27:10.080Z postprocessor Initializing.\n',
     '2020-10-07T12:27:10.080Z postprocessor Initializing entry.\n',
     '2020-10-07T12:27:10.080Z postprocessor Sanitizing configuration.\n',
     '2020-10-07T12:27:10.080Z postprocessor Adjusting configuration.\n',
     '2020-10-07T12:27:10.080Z postprocessor Creating compiler.\n',
     '2020-10-07T12:28:35.510Z postprocessor Customizing compiler.\n',
     '2020-10-07T12:28:35.510Z postprocessor Compilation started.\n',
     '2020-10-07T12:28:43.207Z postprocessor Compilation finished.\n',
     '2020-10-07T12:28:44.193Z postprocessor Emitting 331 files.\n',
     '2020-10-07T12:28:44.199Z postprocessor Processing finished.\n',
     '2020-10-07T12:28:44.249Z project Postprocessor execution finished\n',
     '2020-10-07T12:28:44.249Z project Test run started; run priority: 3\n',
     '2020-10-07T12:28:44.251Z project Running all tests\n',
     '2020-10-07T12:28:44.262Z workers Starting test run, priority: 3\n',
     '2020-10-07T12:28:44.263Z workers Distributing tests between 6 workers\n',
     '2020-10-07T12:28:44.263Z workers Running tests in parallel\n',
     '2020-10-07T12:28:44.263Z chromeRunner Starting sandbox [worker #0, session #ye3ul]\n',
     '2020-10-07T12:28:44.263Z chromeRunner Starting sandbox [worker #1, session #7p3rh]\n',
     '2020-10-07T12:28:44.263Z chromeRunner Starting sandbox [worker #2, session #z1a1e]\n',
     '2020-10-07T12:28:44.264Z chromeRunner Preparing sandbox [worker #0, session #ye3ul]\n',
     '2020-10-07T12:28:44.264Z browserRunner Total files to load in sandbox: 5\n',
     '2020-10-07T12:28:44.265Z browserRunner Sandbox is generated [worker #0, session #ye3ul]: http://localhost:34685/wallaby_sandbox0.html\n',
     '2020-10-07T12:28:44.265Z chromeRunner Preparing sandbox [worker #1, session #7p3rh]\n',
     '2020-10-07T12:28:44.265Z browserRunner Total files to load in sandbox: 5\n',
     '2020-10-07T12:28:44.266Z browserRunner Sandbox is generated [worker #1, session #7p3rh]: http://localhost:34685/wallaby_sandbox1.html\n',
     '2020-10-07T12:28:44.266Z chromeRunner Preparing sandbox [worker #2, session #z1a1e]\n',
     '2020-10-07T12:28:44.266Z browserRunner Total files to load in sandbox: 5\n',
     '2020-10-07T12:28:44.266Z browserRunner Sandbox is generated [worker #2, session #z1a1e]: http://localhost:34685/wallaby_sandbox2.html\n',
     '2020-10-07T12:28:44.266Z chromeRunner Prepared sandbox [worker #0, session #ye3ul]\n',
     '2020-10-07T12:28:44.266Z chromeRunner Prepared sandbox [worker #1, session #7p3rh]\n',
     '2020-10-07T12:28:44.266Z chromeRunner Prepared sandbox [worker #2, session #z1a1e]\n',
     '2020-10-07T12:28:44.267Z workers [worker #0, session #ye3ul] Running tests in sandbox\n',
     '2020-10-07T12:28:44.268Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-07T12:28:44.268Z workers [worker #1, session #7p3rh] Running tests in sandbox\n',
     '2020-10-07T12:28:44.268Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-07T12:28:44.268Z workers [worker #2, session #z1a1e] Running tests in sandbox\n',
     '2020-10-07T12:28:44.268Z chromeRunner Failed to evaluate code on Chrome Tab: Cannot read property \'Runtime\' of undefined\n',
     '2020-10-07T12:28:51.267Z workers [ye3ul] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-07T12:28:51.268Z workers [7p3rh] Sandbox is not responsive, recycling worker instance\n',
     '2020-10-07T12:28:51.269Z project Test run finished\n',
     '2020-10-07T12:28:51.269Z workers [z1a1e] Sandbox is not responsive, recycling worker instance\n' ] }
nlaplante commented 4 years ago

I can confirm that running the example project in Ubuntu (WSL 2) instead of OpenSUSE Leap (WSL 2) works fine. I'm currently on OpenSUSE Leap 15.1 and upgrading to 15.2. Will try again in 15.2 and report back.

nlaplante commented 4 years ago

Running in a new, freshly installed openSUSE Leap 15.2 WSL 2 distro via WSL works fine. There may have been something wrong with the previous WSL install.

smcenlly commented 4 years ago

Great to hear that you got it up and working.

lvidal1 commented 3 years ago

Hi, currently I am getting a similar error running on Ubuntu (WSL2)

Error: ENOENT: no such file or directory, scandir 'WSL.LOCALHOST\'​​

NikGovorov commented 3 years ago

Hi @lvidal1,

Could you please create a new issue and provide more details when the error happens and what type of project you've got?