If passthru() is disabled in php.ini, this will force the
SystemNodeProvider to return `false` for the node. Using the default
FallbackNodeProvider, ramsey/uuid will default to the
RandomNodeProvider, in these cases.
Closes#114
* Changes location of providers in the SystemNodeProviderTest
They are now grouped at the bottom of the class.
* Adds logic to SystemNodeProviderTest.
* Changes call to `file_get_contents` SystemNodeProvider so it can be
mocked.
* Changes SystemNodeProviderTest so native PHP functions are mocked
instead of the class under test.
* Changes SystemNodeProviderTest so "\n" is used instead of PHP_EOL
As the (input or output) of the tests is not system dependant it does
not make sense to use PHP_EOL. All of these instance have been
replaced for the sake of readability and stating intent more clearly.
* Adds dataprovider to SystemNodeProvider main test for input
variations.
* Adds OS to SystemNodeProviderTest dataprovider for Linux fail
scenario.
* Adds test for SystemNodeProvider to ensure invalid values are not
accepted.
* Changes names of dataproviders in SystemNodeProviderTest for
consistency.
* Changes SystemNodeProviderTest by grouping dataproviders together.
* Changes method in SystemNodeProviderTest to use the provided mock
functions.
* Fixes PSR-2 coding conventions in SystemNodeProviderTest.
* Minor change to SystemNodeProviderTest based on review.
Linux offers a sysfs interface to the macaddresses of the system network
interfaces without calling exec.
This enables stable system based UUID generation even on docker images
like php:7
Borrows the idea from cf1c981414 to
properly set the multicast bit to the "least significant bit of the
first octet of the node ID."
When merged, this will close#171 and #170
I realized, that 30% of the request time in our app is spent by
hydrating the uuid (We are using Doctrine and in this specific request
I was accidentally hydrating few thousands entities). Luckily, I
remembered the #160 and tried to do similar optimization for uuid
decoding. It resulted in 10-20% performance improvement.