Build modified streamline images

The official image from streamline does not currently work for the arm64
platform. As a temporary measure, the source code and docker build scripts
have been lifted from the official images and are used to build locally.

Some additional modifications are made to reduce overall image size, these
are documented in docker/README.md
This commit is contained in:
2024-03-10 16:17:50 -07:00
parent 2ffc3c408a
commit a424394109
13506 changed files with 1860172 additions and 6 deletions
@@ -0,0 +1,77 @@
<?php
namespace Hamcrest\Collection;
use Hamcrest\AbstractMatcherTest;
class IsEmptyTraversableTest extends AbstractMatcherTest
{
protected function createMatcher()
{
return IsEmptyTraversable::emptyTraversable();
}
public function testEmptyMatcherMatchesWhenEmpty()
{
$this->assertMatches(
emptyTraversable(),
new \ArrayObject(array()),
'an empty traversable'
);
}
public function testEmptyMatcherDoesNotMatchWhenNotEmpty()
{
$this->assertDoesNotMatch(
emptyTraversable(),
new \ArrayObject(array(1, 2, 3)),
'a non-empty traversable'
);
}
public function testEmptyMatcherDoesNotMatchNull()
{
$this->assertDoesNotMatch(
emptyTraversable(),
null,
'should not match null'
);
}
public function testEmptyMatcherHasAReadableDescription()
{
$this->assertDescription('an empty traversable', emptyTraversable());
}
public function testNonEmptyDoesNotMatchNull()
{
$this->assertDoesNotMatch(
nonEmptyTraversable(),
null,
'should not match null'
);
}
public function testNonEmptyDoesNotMatchWhenEmpty()
{
$this->assertDoesNotMatch(
nonEmptyTraversable(),
new \ArrayObject(array()),
'an empty traversable'
);
}
public function testNonEmptyMatchesWhenNotEmpty()
{
$this->assertMatches(
nonEmptyTraversable(),
new \ArrayObject(array(1, 2, 3)),
'a non-empty traversable'
);
}
public function testNonEmptyNonEmptyMatcherHasAReadableDescription()
{
$this->assertDescription('a non-empty traversable', nonEmptyTraversable());
}
}
@@ -0,0 +1,57 @@
<?php
namespace Hamcrest\Collection;
class IsTraversableWithSizeTest extends \Hamcrest\AbstractMatcherTest
{
protected function createMatcher()
{
return \Hamcrest\Collection\IsTraversableWithSize::traversableWithSize(
equalTo(2)
);
}
public function testMatchesWhenSizeIsCorrect()
{
$this->assertMatches(
traversableWithSize(equalTo(3)),
new \ArrayObject(array(1, 2, 3)),
'correct size'
);
}
public function testDoesNotMatchWhenSizeIsIncorrect()
{
$this->assertDoesNotMatch(
traversableWithSize(equalTo(2)),
new \ArrayObject(array(1, 2, 3)),
'incorrect size'
);
}
public function testDoesNotMatchNull()
{
$this->assertDoesNotMatch(
traversableWithSize(3),
null,
'should not match null'
);
}
public function testProvidesConvenientShortcutForTraversableWithSizeEqualTo()
{
$this->assertMatches(
traversableWithSize(3),
new \ArrayObject(array(1, 2, 3)),
'correct size'
);
}
public function testHasAReadableDescription()
{
$this->assertDescription(
'a traversable with size <3>',
traversableWithSize(equalTo(3))
);
}
}