Ember CLI 测试在开发容器内失败

Ember CLI tests fails inside dev container

我在 Debian Release 10 上的 VSCode Dev Container 中工作。我能够 运行 CI=true ember test 在我自己的终端中没有失败但是 运行在我的容器实例中将它抛出;

not ok 1 Chrome - [undefined ms] - error
    ---
        message: >
            Error: Browser exited unexpectedly
            Non-zero exit code: null
            Stderr: 
             qemu: uncaught target signal 5 (Trace/breakpoint trap) - core dumped
            qemu: uncaught target signal 5 (Trace/breakpoint trap) - core dumped
            [0719/094328.695395:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
            [0719/094328.705723:ERROR:file_path_watcher_linux.cc(326)] inotify_init() failed: Function not implemented (38)
            [0719/094328.826667:ERROR:gpu_process_host.cc(996)] GPU process launch failed: error_code=1002
            [0719/094328.827080:WARNING:gpu_process_host.cc(1316)] The GPU process has crashed 1 time(s)
            
            DevTools listening on ws://127.0.0.1:38109/devtools/browser/fe31b478-52ab-4169-aa4a-9263c3f2a29f
            qemu: unknown option 'type=utility'
            [0719/094328.888291:ERROR:gpu_process_host.cc(996)] GPU process launch failed: error_code=1002
            [0719/094328.888371:WARNING:gpu_process_host.cc(1316)] The GPU process has crashed 2 time(s)
            [0719/094329.022382:ERROR:gpu_process_host.cc(996)] GPU process launch failed: error_code=1002
            [0719/094329.022475:WARNING:gpu_process_host.cc(1316)] The GPU process has crashed 3 time(s)
            [0719/094329.022628:FATAL:gpu_data_manager_impl_private.cc(415)] GPU process isn't usable. Goodbye.
            qemu: uncaught target signal 11 (Segmentation fault) - core dumped
            
            
        browser log: |
            {"type":"error","text":"Error: Browser exited unexpectedly"}
            {"type":"error","text":"Non-zero exit code: null"}
            {"type":"error","text":"qemu: uncaught target signal 5 (Trace/breakpoint trap) - core dumped\nqemu: uncaught target signal 5 (Trace/breakpoint trap) - core dumped\n[0719/094328.695395:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory\n[0719/094328.705723:ERROR:file_path_watcher_linux.cc(326)] inotify_init() failed: Function not implemented (38)\n[0719/094328.826667:ERROR:gpu_process_host.cc(996)] GPU process launch failed: error_code=1002\n[0719/094328.827080:WARNING:gpu_process_host.cc(1316)] The GPU process has crashed 1 time(s)\n\nDevTools listening on ws://127.0.0.1:38109/devtools/browser/fe31b478-52ab-4169-aa4a-9263c3f2a29f\nqemu: unknown option 'type=utility'\n[0719/094328.888291:ERROR:gpu_process_host.cc(996)] GPU process launch failed: error_code=1002\n[0719/094328.888371:WARNING:gpu_process_host.cc(1316)] The GPU process has crashed 2 time(s)\n[0719/094329.022382:ERROR:gpu_process_host.cc(996)] GPU process launch failed: error_code=1002\n[0719/094329.022475:WARNING:gpu_process_host.cc(1316)] The GPU process has crashed 3 time(s)\n[0719/094329.022628:FATAL:gpu_data_manager_impl_private.cc(415)] GPU process isn't usable. Goodbye.\nqemu: uncaught target signal 11 (Segmentation fault) - core dumped\n"}

我在测试中使用了这些参数

ci: [
        // --no-sandbox is needed when running Chrome inside a container
        process.env.CI ? '--no-sandbox' : null,
        '--headless',
        '--disable-dev-shm-usage',
        '--disable-software-rasterizer',
        '--mute-audio',
        '--remote-debugging-port=0',
        '--window-size=1440,900',
      ]

这是我的版本设置

npm -v && yarn -v && node -v && ember -v
6.14.13
1.22.5
v12.22.3
ember-cli: 3.26.1
node: 12.22.3
os: linux x64

这是通过创建一个新的 Dockerfile 修复的,官方节点 docker 图像而不是 Microsoft 提供的 DevContainer 一个 here and installing all required dependencies for headless Chrome here