Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fuzzing updates and ci updates #28

Merged
merged 15 commits into from
Sep 3, 2024
42 changes: 42 additions & 0 deletions .github/workflows/TestDebug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Test Debug
on:
workflow_dispatch:
pull_request:
push:
branches:
- '**'
- '!main'

jobs:
build-duckdb:
name: Build DuckDB
runs-on: ubuntu-latest
timeout-minutes: 120
outputs:
duckdb-hash: ${{ steps.find-hash.outputs.hash }}
env:
BUILD_ICU: 1
BUILD_JSON: 1
BUILD_TPCH: 1
BUILD_TPCDS: 1
BUILD_PARQUET: 1
BUILD_JEMALLOC: 1
CRASH_ON_ASSERT: 1

steps:
- name: Dependencies
shell: bash
run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build ccache

- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive

- name: Setup Ccache
uses: hendrikmuhs/ccache-action@main

- name: Build and Test
shell: bash
run: |
make test_debug
2 changes: 1 addition & 1 deletion duckdb
Submodule duckdb updated 2589 files
5 changes: 5 additions & 0 deletions scripts/run_fuzzer.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
dry = False
max_queries = 1000
verification = False

for param in sys.argv:
if param == '--sqlsmith':
fuzzer = 'sqlsmith'
Expand Down Expand Up @@ -108,6 +109,9 @@ def run_shell_command(cmd):
else:
current_errors = fuzzer_helper.extract_github_issues(shell, perform_checks)

# Don't go on and fuzz if perform checks = true
if perform_checks:
exit(0)

last_query_log_file = 'sqlsmith.log'
complete_log_file = 'sqlsmith.complete.log'
Expand All @@ -118,6 +122,7 @@ def run_shell_command(cmd):
=========================================='''
)


load_script = create_db_script(db)
fuzzer_name = get_fuzzer_name(fuzzer)
fuzzer = (
Expand Down
11 changes: 11 additions & 0 deletions test/sql/call_fuzzyduck.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# name: test/sql/call_fuzzyduck.test
# description: Test fuzzyduck
# group: [fuzzyduck]

require sqlsmith

statement ok
call fuzzyduck(max_queries=2, verbose_output=1, log='sqlsmith.log', complete_log='sqlsmith.complete.log', enable_verification=True);

statement ok
call fuzzyduck(max_queries=2, verbose_output=1, log='__TEST_DIR__/logs.txt', complete_log='__TEST_DIR__/clog.txt', enable_verification=false);
2 changes: 1 addition & 1 deletion test/sql/sql_reduce.test
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# name: test/sql_reduce.test
# name: test/sql/sql_reduce.test
# description: Test reduce SQL statement
# group: [sqlsmith]

Expand Down
Loading