Support sanitizer test and fix uaf (#55) #134
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
test-ubuntu-with-redis-5: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: clone and make redis | |
run: | | |
sudo apt-get install git | |
git clone https://github.com/redis/redis | |
cd redis | |
git checkout 5.0 | |
make REDIS_CFLAGS='-Werror' BUILD_TLS=yes | |
- name: make tairhash | |
run: | | |
mkdir build | |
cd build | |
cmake ../ | |
make | |
- name: test | |
run: | | |
sudo apt-get install tcl8.6 tclx | |
work_path=$(pwd) | |
module_path=$work_path/lib | |
sed -e "s#your_path#$module_path#g" tests/tairhash.tcl > redis/tests/unit/type/tairhash.tcl | |
sed -i 's#unit/type/string#unit/type/tairhash#g' redis/tests/test_helper.tcl | |
cd redis | |
./runtest --stack-logging --single unit/type/tairhash | |
test-ubuntu-with-redis-6: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: clone and make redis | |
run: | | |
sudo apt-get install git | |
git clone https://github.com/redis/redis | |
cd redis | |
git checkout 6.2 | |
make REDIS_CFLAGS='-Werror' BUILD_TLS=yes | |
- name: make tairhash | |
run: | | |
mkdir build | |
cd build | |
cmake ../ | |
make | |
- name: test | |
run: | | |
sudo apt-get install tcl8.6 tclx | |
work_path=$(pwd) | |
module_path=$work_path/lib | |
sed -e "s#your_path#$module_path#g" tests/tairhash.tcl > redis/tests/unit/type/tairhash.tcl | |
sed -i 's#unit/type/string#unit/type/tairhash#g' redis/tests/test_helper.tcl | |
cd redis | |
./runtest --stack-logging --single unit/type/tairhash | |
test-ubuntu-with-redis-7: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: clone and make redis | |
run: | | |
sudo apt-get install git | |
git clone https://github.com/redis/redis | |
cd redis | |
git checkout 7.0 | |
make REDIS_CFLAGS='-Werror' BUILD_TLS=yes | |
- name: Install LCOV | |
run: | | |
sudo apt-get --assume-yes install lcov > /dev/null | |
- name: make tairhash | |
run: | | |
mkdir build | |
cd build | |
cmake ../ -DGCOV_MODE=TRUE | |
make | |
- name: test | |
run: | | |
sudo apt-get install tcl8.6 tclx | |
work_path=$(pwd) | |
module_path=$work_path/lib | |
sed -e "s#your_path#$module_path#g" tests/tairhash.tcl > redis/tests/unit/type/tairhash.tcl | |
sed -i 's#unit/type/string#unit/type/tairhash#g' redis/tests/test_helper.tcl | |
cd redis | |
./runtest --stack-logging --single unit/type/tairhash | |
- name: lcov collection | |
run: | | |
cd build | |
lcov -c -d ./ -o cover.info | |
- uses: codecov/codecov-action@v1 | |
with: | |
file: build/cover.info | |
token: ${{ secrets.CODECOV_TOKEN }} | |
verbose: true | |
test-ubuntu-with-redis-7-sort-mode: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: clone and make redis | |
run: | | |
sudo apt-get install git | |
git clone https://github.com/redis/redis | |
cd redis | |
git checkout 7.0 | |
make REDIS_CFLAGS='-Werror' BUILD_TLS=yes | |
- name: Install LCOV | |
run: | | |
sudo apt-get --assume-yes install lcov > /dev/null | |
- name: make tairhash | |
run: | | |
mkdir build | |
cd build | |
cmake ../ -DSORT_MODE=yes | |
make | |
- name: test | |
run: | | |
sudo apt-get install tcl8.6 tclx | |
work_path=$(pwd) | |
module_path=$work_path/lib | |
sed -e "s#your_path#$module_path#g" tests/tairhash.tcl > redis/tests/unit/type/tairhash.tcl | |
sed -i 's#unit/type/string#unit/type/tairhash#g' redis/tests/test_helper.tcl | |
cd redis | |
./runtest --stack-logging --single unit/type/tairhash | |
- name: lcov collection | |
run: | | |
cd build | |
lcov -c -d ./ -o cover.info | |
- uses: codecov/codecov-action@v1 | |
with: | |
file: build/cover.info | |
token: ${{ secrets.CODECOV_TOKEN }} | |
verbose: true | |
test-ubuntu-with-redis-7-slab-mode: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: clone and make redis | |
run: | | |
sudo apt-get install git | |
git clone https://github.com/redis/redis | |
cd redis | |
git checkout 7.0 | |
make REDIS_CFLAGS='-Werror' BUILD_TLS=yes | |
- name: Install LCOV | |
run: | | |
sudo apt-get --assume-yes install lcov > /dev/null | |
- name: make tairhash | |
run: | | |
mkdir build | |
cd build | |
cmake ../ -DSLAB_MODE=yes | |
make | |
- name: test | |
run: | | |
sudo apt-get install tcl8.6 tclx | |
work_path=$(pwd) | |
module_path=$work_path/lib | |
sed -e "s#your_path#$module_path#g" tests/tairhash.tcl > redis/tests/unit/type/tairhash.tcl | |
sed -i 's#unit/type/string#unit/type/tairhash#g' redis/tests/test_helper.tcl | |
cd redis | |
./runtest --stack-logging --single unit/type/tairhash | |
- name: lcov collection | |
run: | | |
cd build | |
lcov -c -d ./ -o cover.info | |
- uses: codecov/codecov-action@v1 | |
with: | |
file: build/cover.info | |
token: ${{ secrets.CODECOV_TOKEN }} | |
verbose: true | |
test-sanitizer-address-scan-mode: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: clone and make redis | |
run: | | |
sudo apt-get install git | |
git clone https://github.com/redis/redis | |
cd redis | |
git checkout 7.0 | |
make SANITIZER=address REDIS_CFLAGS='-Werror' BUILD_TLS=yes MALLOC=libc | |
- name: Install LCOV | |
run: | | |
sudo apt-get --assume-yes install lcov > /dev/null | |
- name: make tairhash | |
run: | | |
mkdir build | |
cd build | |
cmake ../ -DSANITIZER_MODE=address | |
make | |
- name: test | |
run: | | |
sudo apt-get install tcl8.6 tclx | |
work_path=$(pwd) | |
module_path=$work_path/lib | |
sed -e "s#your_path#$module_path#g" tests/tairhash.tcl > redis/tests/unit/type/tairhash.tcl | |
sed -i 's#unit/type/string#unit/type/tairhash#g' redis/tests/test_helper.tcl | |
cd redis | |
./runtest --stack-logging --single unit/type/tairhash | |
- name: lcov collection | |
run: | | |
cd build | |
lcov -c -d ./ -o cover.info | |
- uses: codecov/codecov-action@v1 | |
with: | |
file: build/cover.info | |
token: ${{ secrets.CODECOV_TOKEN }} | |
verbose: true | |
test-sanitizer-address-sort-mode: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: clone and make redis | |
run: | | |
sudo apt-get install git | |
git clone https://github.com/redis/redis | |
cd redis | |
git checkout 7.0 | |
make SANITIZER=address REDIS_CFLAGS='-Werror' BUILD_TLS=yes MALLOC=libc | |
- name: Install LCOV | |
run: | | |
sudo apt-get --assume-yes install lcov > /dev/null | |
- name: make tairhash | |
run: | | |
mkdir build | |
cd build | |
cmake ../ -DSANITIZER_MODE=address -DSORT_MODE=yes | |
make | |
- name: test | |
run: | | |
sudo apt-get install tcl8.6 tclx | |
work_path=$(pwd) | |
module_path=$work_path/lib | |
sed -e "s#your_path#$module_path#g" tests/tairhash.tcl > redis/tests/unit/type/tairhash.tcl | |
sed -i 's#unit/type/string#unit/type/tairhash#g' redis/tests/test_helper.tcl | |
cd redis | |
./runtest --stack-logging --single unit/type/tairhash | |
- name: lcov collection | |
run: | | |
cd build | |
lcov -c -d ./ -o cover.info | |
- uses: codecov/codecov-action@v1 | |
with: | |
file: build/cover.info | |
token: ${{ secrets.CODECOV_TOKEN }} | |
verbose: true |