Skip to content

Commit 83f4ccb

Browse files
authored
Merge pull request #75 from TysonAndre/key_count
Fix simdjson_key_count for objects/arrays over 0xFFFFFF
2 parents f0dac4e + ba5e18e commit 83f4ccb

27 files changed

Lines changed: 100 additions & 82 deletions

.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ docker_*
2525
**/missing
2626
**/mkinstalldirs
2727
**/run-tests.php
28+
**/scripts
2829
**/Makefile
2930
**/Makefile.*
3031
**/!Makefile.frag

.github/workflows/integration.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
run: "docker build -t simdjsontest -f docker_php8.2-alpine ."
1414

1515
- name: "Show"
16-
run: "docker run --rm simdjsontest php --ri simdjson"
16+
run: "docker run --rm --env SIMDJSON_HIGH_MEMORY_TESTS=1 simdjsontest php --ri simdjson"
1717

1818
PHP81-alpine:
1919
name: PHP 8.1 Alpine 3.15
@@ -26,7 +26,7 @@ jobs:
2626
run: "docker build -t simdjsontest -f docker_php8.1-alpine ."
2727

2828
- name: "Show"
29-
run: "docker run --rm simdjsontest php --ri simdjson"
29+
run: "docker run --rm --env SIMDJSON_HIGH_MEMORY_TESTS=1 simdjsontest php --ri simdjson"
3030

3131
PHP80-alpine:
3232
name: PHP 8.0 Alpine 3.12
@@ -39,7 +39,7 @@ jobs:
3939
run: "docker build -t simdjsontest -f docker_php8.0-alpine ."
4040

4141
- name: "Show"
42-
run: "docker run --rm simdjsontest php --ri simdjson"
42+
run: "docker run --rm --env SIMDJSON_HIGH_MEMORY_TESTS=1 simdjsontest php --ri simdjson"
4343

4444
PHP74-alpine:
4545
name: PHP 7.4 Alpine 3.12
@@ -52,7 +52,7 @@ jobs:
5252
run: "docker build -t simdjsontest -f docker_php7.4-alpine ."
5353

5454
- name: "Show"
55-
run: "docker run --rm simdjsontest php --ri simdjson"
55+
run: "docker run --rm --env SIMDJSON_HIGH_MEMORY_TESTS=1 simdjsontest php --ri simdjson"
5656

5757
PHP73-alpine:
5858
name: PHP 7.3 Alpine 3.12
@@ -65,7 +65,7 @@ jobs:
6565
run: "docker build -t simdjsontest -f docker_php7.3-alpine ."
6666

6767
- name: "Show"
68-
run: "docker run --rm simdjsontest php --ri simdjson"
68+
run: "docker run --rm --env SIMDJSON_HIGH_MEMORY_TESTS=1 simdjsontest php --ri simdjson"
6969

7070
PHP72-alpine:
7171
name: PHP 7.2 Alpine 3.12
@@ -78,7 +78,7 @@ jobs:
7878
run: "docker build -t simdjsontest -f docker_php7.2-alpine ."
7979

8080
- name: "Show"
81-
run: "docker run --rm simdjsontest php --ri simdjson"
81+
run: "docker run --rm --env SIMDJSON_HIGH_MEMORY_TESTS=1 simdjsontest php --ri simdjson"
8282

8383
PHP71-alpine:
8484
name: PHP 7.1 Alpine 3.10
@@ -91,7 +91,7 @@ jobs:
9191
run: "docker build -t simdjsontest -f docker_php7.1-alpine ."
9292

9393
- name: "Show"
94-
run: "docker run --rm simdjsontest php --ri simdjson"
94+
run: "docker run --rm --env SIMDJSON_HIGH_MEMORY_TESTS=1 simdjsontest php --ri simdjson"
9595

9696
Ubuntu:
9797
strategy:
@@ -117,12 +117,14 @@ jobs:
117117
uses: shivammathur/setup-php@v2
118118
with:
119119
php-version: "${{ matrix.php-version }}"
120+
extensions: json
120121
# for correct php-config extension dir, see https://github.com/shivammathur/setup-php/issues/147
121122
tools: pecl, phpize, php-config
122123
- name: "Build extension"
123124
run: |
124125
export NO_INTERACTION=true
125126
export REPORT_EXIT_STATUS=1
127+
export SIMDJSON_HIGH_MEMORY_TESTS=1
126128
php-config --extension-dir
127129
phpize
128130
./configure

docker_php7.1-alpine

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
# DO NOT MODIFY THIS AUTOGENERATED FILE
2-
# Change it in m4 folder
31
FROM php:7.1.33-alpine3.10
42

3+
# json_encode is used in some phpt test cases
4+
RUN docker-php-ext-install -j$(nproc) json
5+
56
COPY . /tmp/simdjson
67

78
# persistent / runtime deps
@@ -22,7 +23,7 @@ RUN set -xe \
2223
&& cd /tmp/simdjson \
2324
&& phpize \
2425
&& ./configure \
25-
&& make \
26+
&& make -j$(nproc) \
2627
&& make install \
2728
&& make test \
2829
&& rm -rf /tmp/simdjson \

docker_php7.2-alpine

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
# DO NOT MODIFY THIS AUTOGENERATED FILE
2-
# Change it in m4 folder
31
FROM php:7.2-cli-alpine3.12
42

3+
# json_encode is used in some phpt test cases
4+
RUN docker-php-ext-install -j$(nproc) json
5+
56
COPY . /tmp/simdjson
67

78
# persistent / runtime deps

docker_php7.3-alpine

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
# Change it in m4 folder
33
FROM php:7.3-cli-alpine3.12
44

5+
# json_encode is used in some phpt test cases
6+
RUN docker-php-ext-install -j$(nproc) json
7+
58
COPY . /tmp/simdjson
69

710
# persistent / runtime deps
@@ -22,7 +25,7 @@ RUN set -xe \
2225
&& cd /tmp/simdjson \
2326
&& phpize \
2427
&& ./configure \
25-
&& make \
28+
&& make -j$(nproc) \
2629
&& make install \
2730
&& make test \
2831
&& rm -rf /tmp/simdjson \

docker_php7.4-alpine

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
# Change it in m4 folder
33
FROM php:7.4-cli-alpine3.12
44

5+
# json_encode is used in some phpt test cases
6+
RUN docker-php-ext-install -j$(nproc) json
7+
58
COPY . /tmp/simdjson
69

710
# persistent / runtime deps
@@ -22,7 +25,7 @@ RUN set -xe \
2225
&& cd /tmp/simdjson \
2326
&& phpize \
2427
&& ./configure \
25-
&& make \
28+
&& make -j$(nproc) \
2629
&& make install \
2730
&& make test \
2831
&& rm -rf /tmp/simdjson \

docker_php8.0-alpine

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ RUN set -xe \
2222
&& cd /tmp/simdjson \
2323
&& phpize \
2424
&& ./configure \
25-
&& make \
25+
&& make -j$(nproc) \
2626
&& make install \
2727
&& make test \
2828
&& rm -rf /tmp/simdjson \

docker_php8.1-alpine

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ RUN set -xe \
2222
&& cd /tmp/simdjson \
2323
&& phpize \
2424
&& ./configure \
25-
&& make \
25+
&& make -j$(nproc) \
2626
&& make install \
2727
&& make test \
2828
&& rm -rf /tmp/simdjson \

docker_php8.2-alpine

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ RUN set -xe \
2020
&& cd /tmp/simdjson \
2121
&& phpize \
2222
&& ./configure \
23-
&& make \
23+
&& make -j$(nproc) \
2424
&& make install \
2525
&& make test \
2626
&& rm -rf /tmp/simdjson \

package.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
<file name="key_count.phpt" role="test"/>
6767
<file name="key_count_args.phpt" role="test"/>
6868
<file name="key_count_exception.phpt" role="test"/>
69+
<file name="key_count_large.phpt" role="test"/>
6970
<file name="key_exists.phpt" role="test"/>
7071
<file name="key_exists_args.phpt" role="test"/>
7172
<file name="key_value_args.phpt" role="test"/>

0 commit comments

Comments
 (0)