[DockerRunner] destroyOldContainers: normalize the container name

The docker api returns each name with a `/` prefix.

In order to not interfere with pending compiles, the deletion process
 has to acquire an internal lock on the container. The LockManager uses
 the plain container name without the slash: `project-xxx`.

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
This commit is contained in:
Jakob Ackermann
2019-11-27 21:40:48 +01:00
committed by Jakob Ackermann
parent 7254a025ae
commit f8cb5e36af
2 changed files with 6 additions and 3 deletions

View File

@@ -630,19 +630,19 @@ describe('DockerRunner', function() {
it('should destroy old containers', function() {
this.DockerRunner.destroyContainer.callCount.should.equal(1)
return this.DockerRunner.destroyContainer
.calledWith('/project-old-container-name', 'old-container-id')
.calledWith('project-old-container-name', 'old-container-id')
.should.equal(true)
})
it('should not destroy new containers', function() {
return this.DockerRunner.destroyContainer
.calledWith('/project-new-container-name', 'new-container-id')
.calledWith('project-new-container-name', 'new-container-id')
.should.equal(false)
})
it('should not destroy non-project containers', function() {
return this.DockerRunner.destroyContainer
.calledWith('/totally-not-a-project-container', 'some-random-id')
.calledWith('totally-not-a-project-container', 'some-random-id')
.should.equal(false)
})