CARVIEW |
Select Language
HTTP/2 200
date: Thu, 09 Oct 2025 21:35:41 GMT
content-type: text/html; charset=utf-8
cache-control: max-age=0, private, must-revalidate
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
link: ; rel=preload; as=fetch; crossorigin=use-credentials
referrer-policy: no-referrer-when-downgrade
server-timing: issue_layout-fragment;desc="issue_layout fragment";dur=377.172361,issue_conversation_content-fragment;desc="issue_conversation_content fragment";dur=849.790078,nginx;desc="NGINX";dur=1.13249,glb;desc="GLB";dur=139.950453
strict-transport-security: max-age=31536000; includeSubdomains; preload
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With, Accept,Accept-Encoding, Accept, X-Requested-With
x-content-type-options: nosniff
x-frame-options: deny
x-voltron-version: 266d7a9
x-xss-protection: 0
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=G%2B5qNxrTkHnZ%2BWlsG%2Bw5%2FssN2jsr%2Bcego%2BL2g%2FNnOUFvFNX9OiuMWft9OhWJM2u6ZtUDH3aMQHzX7kFYvhKUOhom0k6aUFZJ6OwOyktA40PCPBG6MYWNzb02OpnO8nGmJ85JbLy3Lx%2BIt%2BSNM9TZ1sttNh%2FU5DUSYdof6qbUU09DVS65bdFz57DNBD7s20n6L%2BbS0MZismUUsiqhMY4sDYgBdkdGsv8lOS%2BjV1eP00UetvzSfeFCXJcXuvM7X0%2BOSnFK%2BVV%2BvtKaVT1xG5%2FGGg%3D%3D--C%2F7sjq%2BA0OhhmGas--tMpU7SdMic87KbYCRNHNNA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.493665778.1760045740; Path=/; Domain=github.com; Expires=Fri, 09 Oct 2026 21:35:40 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Fri, 09 Oct 2026 21:35:40 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 8C6E:C1489:1079143:13A5EB4:68E82AAC
Cannot exit Karma server gracefully · Issue #3149 · karma-runner/karma · GitHub
No one assignedNo labelsNo typeNo projectsNo milestoneNone yetNo branches or pull requests
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Description
When the Karma server is run programmatically, there is no way to request it to stop and be informed of when that has happened:
const karma = require('karma');
const karmaServer = new karma.Server({ singleRun: false, configFile: __dirname + '/karma.conf.js' });
karmaServer.start();
// How to stop the server, and be informed when cleanup is finished?
// karma.stop(() => console.log('server exited gracefully'));
To reproduce, follow these steps:
git clone https://github.com/filipesilva/karma-exit-gracefully
cd karma-exit-gracefully
npm install
npm test
Having a way to gracefully stop Karma is useful when the Karma run is part of more complex orchestration, like in gulp
or @angular/cli
.
There is a way to stop the server by calling karma stop
, but that will kill the process altogether:
karma/lib/middleware/stopper.js
Lines 11 to 13 in 6742ecf
log.info('Stopping server') | |
response.end('OK') | |
process.kill(process.pid, 'SIGINT') |
There's some cleanup logic as well, but it only runs on --single-run
:
Lines 289 to 292 in 6742ecf
this.on('run_complete', function (browsers, results) { | |
this.log.debug('Run complete, exiting.') | |
disconnectBrowsers(results.exitCode) | |
}) |
Related to #2867, ampproject/amphtml#14814
Environment Details
- Karma version (output of
karma --version
): 3.0.0 - Relevant part of your
karma.config.js
file: included in repro, but nothing relevant in the config really.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Milestone
Relationships
Development
Issue actions
You can’t perform that action at this time.