Sitelet https://github.com/phpredis/phpredis/pull/2907
Skip to content

Switch from keydb to dragonfly in CI - #2907

Draft
michael-grunder wants to merge 5 commits into
developfrom
ci/keydb-to-dragonfly
Draft

michael-grunder wants to merge 5 commits into
developfrom
ci/keydb-to-dragonfly

Conversation

@michael-grunder

Copy link
Copy Markdown
Member

KeyDB is no longer actively maintained but dragonfly is so switch from testing against keydb to testing against dragonfly.

KeyDB is no longer under active development but Dragonfly is so it makes
more sense to test against Dragonfly instead.
There are a few edge cases where Dragonfly has slightly different
functionality or returns a slightly different RESP shape. I'll open an
issue with them to see whether they want to be more compatible.

In the meantime they're pretty rare edge cases so we can handle them
here so we can run the vast majority of tests against Dragonfly now.
We've got a generic multibulk handler that didn't handle elements that
were non-strings. This seems like a bug in general but also fixes it so
that our reply handler works for `TIME` in both `Redis` and `Dragonfly`
This fixes a test failure when running against Dragonfly but is also an
improvement over just using PHPREDIS_CTX_PTR variants to figure out what
the reply handler should do.
Previously the test just iterated 1000 times getting a randomkey and
then ensuring that the key existed. This will pretty much always work if
you run the whole test suite, but running it in isolation on an empty
dtabase would fail.

```php
// Returns false
$key = $redis->randomkey();
$this->assertKeyExists($key); // fails
```

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant