Skip to content

Commit 8866d06

Browse files
author
reindexer-bot
committed
[test]
1 parent f814227 commit 8866d06

1,440 files changed

Lines changed: 208139 additions & 59137 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-format

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,9 @@ LambdaBodyIndentation: Signature
154154
LineEnding: DeriveLF
155155
MacroBlockBegin: ''
156156
MacroBlockEnd: ''
157+
Macros:
158+
- RX_GET_WITHOUT_MUTEX_ANALYSIS=[]()
159+
- RX_MUTEX_ACCESS=private
157160
MaxEmptyLinesToKeep: 1
158161
NamespaceIndentation: None
159162
ObjCBinPackProtocolList: Auto
@@ -234,6 +237,7 @@ StatementMacros:
234237
- Q_UNUSED
235238
- QT_REQUIRE_VERSION
236239
TabWidth: 4
240+
TypenameMacros: []
237241
UseTab: Always
238242
VerilogBreakBetweenInstancePorts: true
239243
WhitespaceSensitiveMacros:

.github/workflows/test.yml

Lines changed: 18 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -2,59 +2,13 @@ name: build
22

33
on: push
44
jobs:
5-
build-windows-latest:
6-
runs-on: windows-latest
7-
strategy:
8-
matrix:
9-
compiler: ["Visual Studio 17 2022"]
10-
fail-fast: false
11-
steps:
12-
- name: Checkout repository
13-
uses: actions/checkout@v4
14-
- name: Build Reindexer
15-
run: |
16-
mkdir build && cd build
17-
cmake -G "${{matrix.compiler}}" .. -Ax64
18-
cmake --build . --config Release
19-
cmake --build . --config Release --target face
20-
cmake --build . --config Release --target swagger
21-
cpack
22-
- name: Upload Artifacts
23-
uses: actions/upload-artifact@v4
24-
with:
25-
name: windows-latest
26-
path: build/*.exe
27-
if-no-files-found: error
28-
29-
build-windows-2019:
30-
runs-on: windows-2019
31-
strategy:
32-
matrix:
33-
compiler: ["Visual Studio 16 2019", "MinGW Makefiles"]
34-
fail-fast: false
35-
steps:
36-
- name: Checkout repository
37-
uses: actions/checkout@v4
38-
- name: Build Reindexer
39-
run: |
40-
mkdir build && cd build
41-
cmake -G "${{matrix.compiler}}" ..
42-
cmake --build . --config Release
43-
cmake --build . --config Release --target face
44-
cmake --build . --config Release --target swagger
45-
cpack
46-
475
build:
486
strategy:
497
matrix:
50-
os: [ubuntu-22.04, ubuntu-24.04, macos-13]
8+
os: [ubuntu-22.04, ubuntu-24.04]
519
include:
5210
- os: ubuntu-latest
5311
sanitizer: ASAN
54-
- os: ubuntu-latest
55-
sanitizer: TSAN
56-
cc: gcc-12
57-
cxx: g++-12
5812
fail-fast: false
5913
runs-on: ${{matrix.os}}
6014
env:
@@ -68,7 +22,6 @@ jobs:
6822
- name: Prepare Environment
6923
run: |
7024
./.github/workflows/install_gtest.sh
71-
./.github/workflows/install_gtest_parallel.sh
7225
if [[ $OS == ubuntu* ]]; then
7326
sudo ./dependencies.sh
7427
./.github/workflows/install_grpc.sh
@@ -82,7 +35,7 @@ jobs:
8235
mkdir build && cd build
8336
if [[ $OS == ubuntu-latest ]]; then
8437
if [[ $SANITIZER == 'ASAN' ]]; then
85-
cmake -DENABLE_GRPC=ON -DWITH_${{matrix.sanitizer}}=On -DGTEST_SKIP_SHARDING=On ..
38+
cmake -DENABLE_GRPC=ON -DWITH_${{matrix.sanitizer}}=On -DGTEST_SKIP_ASAN_MEMORY_HEAVY=On ..
8639
else
8740
cmake -DENABLE_GRPC=ON -DWITH_${{matrix.sanitizer}}=On ..
8841
fi
@@ -114,23 +67,13 @@ jobs:
11467
test:
11568
strategy:
11669
matrix:
117-
os: [ubuntu-22.04, ubuntu-24.04, macos-13]
118-
test: ['C++', 'GO']
70+
os: [ubuntu-22.04, ubuntu-24.04]
71+
test: ['C++']
11972
include:
12073
- os: ubuntu-latest
12174
sanitizer: ASAN
12275
test: 'C++'
123-
- os: ubuntu-latest
124-
sanitizer: ASAN
125-
test: 'GO'
126-
# - os: ubuntu-latest
127-
# sanitizer: TSAN
128-
# cc: gcc-12
129-
# cxx: g++-12
130-
# test: 'C++'
131-
- os: ubuntu-latest
132-
sanitizer: TSAN
133-
test: 'GO'
76+
13477
fail-fast: false
13578
runs-on: ${{matrix.os}}
13679
needs: build
@@ -142,24 +85,24 @@ jobs:
14285
SANITIZER: ${{matrix.sanitizer}}
14386
steps:
14487
- name: Checkout repository
145-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
88+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
14689
uses: actions/checkout@v4
14790
- name: Install Go
14891
uses: actions/setup-go@v5
149-
if: ${{ matrix.os == 'macos-13' && matrix.test == 'GO' }}
92+
if: ${{ matrix.os == 'macos-15' && matrix.test == 'GO' }}
15093
with:
151-
go-version: '1.22.x'
94+
go-version: '1.24.x'
15295
check-latest: true
15396
- name: Download ${{matrix.os}}${{matrix.sanitizer}} Artifacts
154-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
97+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
15598
uses: actions/download-artifact@v4
15699
with:
157100
name: ${{matrix.os}}${{matrix.sanitizer}}
158101
- name: 'Untar Artifacts'
159-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
102+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
160103
run: tar -xvf artifacts.tar
161104
- name: Prepare Environment
162-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
105+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
163106
env:
164107
OS: ${{matrix.os}}
165108
run: |
@@ -170,11 +113,9 @@ jobs:
170113
fi
171114
if [[ $TEST == 'GO' ]]; then
172115
go mod download
173-
elif [[ $OS == ubuntu* ]]; then
174-
./.github/workflows/install_gtest_parallel.sh
175116
fi
176117
- name: Tests
177-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
118+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
178119
run: |
179120
if [[ $TEST == 'GO' ]]; then
180121
if [[ $SANITIZER == 'ASAN' ]]; then
@@ -183,68 +124,15 @@ jobs:
183124
if [[ -z "$SANITIZER" ]]; then
184125
go test -timeout 15m ./test/... -bench . -benchmem -benchtime 100ms -seedcount 50000
185126
else
186-
go test -timeout 35m ./test/... -bench . -benchmem -benchtime 100ms -seedcount 50000
127+
export TSAN_OPTIONS="halt_on_error=1 suppressions=$PWD/test/tsan/builtin.tsan.suppressions"
128+
mkdir gotests
129+
# Using preocompiled tests to get readable Thread sanitizer backtraces from builtin C++ library
130+
go test ./test/... -c -o gotests -tags tiny_vectors
131+
./gotests/test.test -test.timeout 35m -test.bench . -test.benchmem -test.benchtime 100ms -seedcount 50000
132+
./gotests/ft.test -test.bench . -test.benchmem -test.benchtime 100ms -seedcount 50000
187133
fi
188134
else
189135
cd build
190136
ctest --verbose
191137
fi
192138
193-
test-pyreindexer:
194-
strategy:
195-
matrix:
196-
os: [ubuntu-22.04, ubuntu-24.04]
197-
fail-fast: false
198-
runs-on: ${{matrix.os}}
199-
needs: build
200-
if: always()
201-
env:
202-
OS: ${{matrix.os}}
203-
steps:
204-
- name: Download ${{matrix.os}} Artifacts
205-
uses: actions/download-artifact@v4
206-
with:
207-
name: ${{matrix.os}}
208-
- name: 'Untar Artifacts'
209-
run: tar -xvf artifacts.tar
210-
- name: Prepare Environment
211-
run: |
212-
if [[ $OS == ubuntu* ]]; then
213-
sudo ./dependencies.sh
214-
python3 -m pip install setuptools build
215-
else
216-
./dependencies.sh
217-
fi
218-
- name: Install Reindexer
219-
run: |
220-
cd build
221-
if [[ $OS == ubuntu* ]]; then
222-
sudo dpkg -i reindexer-4-dev*.deb
223-
sudo apt-get install -f
224-
sudo dpkg -i reindexer-4-server*.deb
225-
sudo apt-get install -f
226-
else
227-
for f in reindexer-*.tar.gz; do tar -xvzf "$f"; done
228-
cp -R ./usr/local/include/reindexer /usr/local/include/reindexer
229-
cp -R ./usr/local/lib/reindexer /usr/local/lib/reindexer
230-
cp ./usr/local/lib/libreindexer.a /usr/local/lib/libreindexer.a
231-
cp ./usr/local/lib/libreindexer_server_library.a /usr/local/lib/libreindexer_server_library.a
232-
cp ./usr/local/lib/libreindexer_server_resources.a /usr/local/lib/libreindexer_server_resources.a
233-
cp ./usr/local/lib/pkgconfig/libreindexer.pc /usr/local/lib/pkgconfig/libreindexer.pc
234-
cp ./usr/local/lib/pkgconfig/libreindexer_server.pc /usr/local/lib/pkgconfig/libreindexer_server.pc
235-
cp ./usr/local/bin/reindexer_server /usr/local/bin/reindexer_server
236-
cp ./usr/local/etc/reindexer.conf.pkg /usr/local/etc/reindexer.conf.pkg
237-
fi
238-
- name: Clone PyReindexer
239-
uses: actions/checkout@v4
240-
with:
241-
repository: restream/reindexer-py
242-
- name: Install PyReindexer
243-
run: |
244-
python -m build
245-
python -m pip install .
246-
- name: Test PyReindexer
247-
run: |
248-
cd pyreindexer
249-
../.github/workflows/test.sh
250-

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ __pycache__
1919
*.so
2020
.pytest_cache/
2121
qa_tests/logs/
22-
qa_tests/logs/
2322
qa_tests/venv/
23+
qa_tests/.venv/
2424

2525
#ignore directory with compile commands
2626
.cache

CMakeLists.txt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
1-
cmake_minimum_required(VERSION 3.10..3.13)
1+
cmake_minimum_required(VERSION 3.18)
22

33
project(reindexer)
44

55
enable_testing()
66
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
77
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
8+
set(CMAKE_PCH_WARN_INVALID OFF)
89
set(REINDEXER_SOURCE_PATH ${PROJECT_SOURCE_DIR}/cpp_src)
10+
# Do not scan for C++ modules to save some overhead
11+
set(CMAKE_CXX_SCAN_FOR_MODULES OFF)
912

1013
add_subdirectory(cpp_src)
14+
15+
# uninstall target
16+
if(NOT TARGET uninstall)
17+
configure_file(
18+
"${PROJECT_SOURCE_DIR}/cpp_src/cmake/cmake_uninstall.cmake.in"
19+
"${PROJECT_BINARY_DIR}/cmake_uninstall.cmake"
20+
IMMEDIATE @ONLY)
21+
22+
add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${PROJECT_BINARY_DIR}/cmake_uninstall.cmake)
23+
endif()

appveyor.yml

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)