|  | 
| 62 | 62 |         run: cargo clippy --tests ${{ matrix.features }} | 
| 63 | 63 |         env: | 
| 64 | 64 |           RUSTFLAGS: -D warnings | 
| 65 |  | - | 
| 66 |  | -  connection_tests: | 
|  | 65 | +           | 
|  | 66 | +  io_tests: | 
| 67 | 67 |     name: Connection tests | 
| 68 | 68 |     needs: clippy | 
| 69 | 69 |     runs-on: ubuntu-latest | 
|  | 
| 84 | 84 |  | 
| 85 | 85 |       - uses: Swatinem/rust-cache@v2 | 
| 86 | 86 | 
 | 
| 87 |  | -      - name: Unit tests | 
| 88 |  | -        timeout-minutes: ${{ fromJSON(env.TESTS_TIMEOUT) }} | 
| 89 |  | -        run: cargo test -p sqlx-exasol-impl --features migrate -- --nocapture | 
| 90 |  | -        env: | 
| 91 |  | -          DATABASE_URL: ${{ steps.exa-cluster.outputs.url }} | 
| 92 |  | - | 
| 93 | 87 |       - name: Test IO combos (no TLS, no compression) | 
| 94 | 88 |         timeout-minutes: ${{ fromJSON(env.TESTS_TIMEOUT) }} | 
| 95 | 89 |         run: cargo test --features runtime-tokio,etl -- it_works_with_io_combo --ignored --nocapture | 
| @@ -132,63 +126,8 @@ jobs: | 
| 132 | 126 |           DATABASE_URL: ${{ steps.exa-cluster.outputs.url }} | 
| 133 | 127 |           SQLX_OFFLINE: true | 
| 134 | 128 | 
 | 
| 135 |  | -      - name: Integration connection tests | 
| 136 |  | -        timeout-minutes: ${{ fromJSON(env.TESTS_TIMEOUT) }} | 
| 137 |  | -        run: cargo test --all-features -- --nocapture | 
| 138 |  | -        env: | 
| 139 |  | -          DATABASE_URL: ${{ steps.exa-cluster.outputs.url }}?compression=disabled | 
| 140 |  | -          SQLX_OFFLINE: true | 
| 141 |  | - | 
| 142 |  | -  etl_tests: | 
| 143 |  | -    name: ETL tests | 
| 144 |  | -    needs: clippy | 
| 145 |  | -    runs-on: ubuntu-latest | 
| 146 |  | -    steps: | 
| 147 |  | -      - uses: actions/checkout@v4 | 
| 148 |  | - | 
| 149 |  | -      - name: Free disk space | 
| 150 |  | -        uses: ./.github/actions/free-space | 
| 151 |  | - | 
| 152 |  | -      - name: Create Exasol cluster | 
| 153 |  | -        timeout-minutes: ${{ fromJSON(env.EXA_CLUSTER_SETUP_TIMEOUT) }} | 
| 154 |  | -        id: exa-cluster | 
| 155 |  | -        uses: ./.github/actions/exa-cluster | 
| 156 |  | -        with: | 
| 157 |  | -          exasol-version: ${{ env.EXASOL_VERSION }} | 
| 158 |  | -          num-nodes: ${{ env.NUM_NODES }} | 
| 159 |  | - | 
| 160 |  | - | 
| 161 |  | -      - uses: Swatinem/rust-cache@v2 | 
| 162 |  | - | 
| 163 |  | -      - name: ETL tests (no TLS) | 
| 164 |  | -        timeout-minutes: ${{ fromJSON(env.TESTS_TIMEOUT) }} | 
| 165 |  | -        run: | | 
| 166 |  | -          export DATABASE_URL="$BASE_DATABASE_URL?ssl-mode=disabled" | 
| 167 |  | -          cargo test --features runtime-tokio,compression,etl -- test_etl --ignored --nocapture | 
| 168 |  | -        env: | 
| 169 |  | -          BASE_DATABASE_URL: ${{ steps.exa-cluster.outputs.url }} | 
| 170 |  | -          SQLX_OFFLINE: true | 
| 171 |  | -           | 
| 172 |  | -      - name: ETL tests (NativeTLS) | 
| 173 |  | -        timeout-minutes: ${{ fromJSON(env.TESTS_TIMEOUT) }} | 
| 174 |  | -        run: | | 
| 175 |  | -          export DATABASE_URL="$BASE_DATABASE_URL?ssl-mode=required" | 
| 176 |  | -          cargo test --features runtime-tokio,compression,etl,tls-native-tls -- test_etl --ignored --nocapture | 
| 177 |  | -        env: | 
| 178 |  | -          BASE_DATABASE_URL: ${{ steps.exa-cluster.outputs.url }} | 
| 179 |  | -          SQLX_OFFLINE: true | 
| 180 |  | -           | 
| 181 |  | -      - name: ETL tests (Rustls) | 
| 182 |  | -        timeout-minutes: ${{ fromJSON(env.TESTS_TIMEOUT) }} | 
| 183 |  | -        run: | | 
| 184 |  | -          export DATABASE_URL="$BASE_DATABASE_URL?ssl-mode=required" | 
| 185 |  | -          cargo test --features runtime-tokio,compression,etl,tls-rustls-aws-lc-rs -- test_etl --ignored --nocapture | 
| 186 |  | -        env: | 
| 187 |  | -          BASE_DATABASE_URL: ${{ steps.exa-cluster.outputs.url }} | 
| 188 |  | -          SQLX_OFFLINE: true | 
| 189 |  | - | 
| 190 |  | -  compile_time_tests: | 
| 191 |  | -    name: Compile time tests | 
|  | 129 | +  driver_tests: | 
|  | 130 | +    name: Connection tests | 
| 192 | 131 |     needs: clippy | 
| 193 | 132 |     runs-on: ubuntu-latest | 
| 194 | 133 |     steps: | 
| @@ -242,8 +181,68 @@ jobs: | 
| 242 | 181 |         run: cargo test --features runtime-tokio,rust_decimal -- test_compile_time_rust_decimal --ignored --nocapture | 
| 243 | 182 |         env: | 
| 244 | 183 |           DATABASE_URL: ${{ steps.exa-cluster.outputs.url }}/test | 
|  | 184 | + | 
|  | 185 | +      - name: Unit tests | 
|  | 186 | +        timeout-minutes: ${{ fromJSON(env.TESTS_TIMEOUT) }} | 
|  | 187 | +        run: cargo test -p sqlx-exasol-impl --features migrate -- --nocapture | 
|  | 188 | +        env: | 
|  | 189 | +          DATABASE_URL: ${{ steps.exa-cluster.outputs.url }}/test | 
|  | 190 | + | 
|  | 191 | +      - name: Integration connection tests | 
|  | 192 | +        timeout-minutes: ${{ fromJSON(env.TESTS_TIMEOUT) }} | 
|  | 193 | +        run: cargo test --all-features -- --nocapture | 
|  | 194 | +        env: | 
|  | 195 | +          DATABASE_URL: ${{ steps.exa-cluster.outputs.url }}/test?ssl-mode=disabled&compression=disabled | 
| 245 | 196 | 
 | 
| 246 | 197 |       - name: Drop database (existent) | 
| 247 | 198 |         run: cargo run -p sqlx-exasol-cli -- database drop -y | 
| 248 | 199 |         env: | 
| 249 | 200 |           DATABASE_URL: ${{ steps.exa-cluster.outputs.url }}/test | 
|  | 201 | + | 
|  | 202 | +  etl_tests: | 
|  | 203 | +    name: ETL tests | 
|  | 204 | +    needs: clippy | 
|  | 205 | +    runs-on: ubuntu-latest | 
|  | 206 | +    steps: | 
|  | 207 | +      - uses: actions/checkout@v4 | 
|  | 208 | + | 
|  | 209 | +      - name: Free disk space | 
|  | 210 | +        uses: ./.github/actions/free-space | 
|  | 211 | + | 
|  | 212 | +      - name: Create Exasol cluster | 
|  | 213 | +        timeout-minutes: ${{ fromJSON(env.EXA_CLUSTER_SETUP_TIMEOUT) }} | 
|  | 214 | +        id: exa-cluster | 
|  | 215 | +        uses: ./.github/actions/exa-cluster | 
|  | 216 | +        with: | 
|  | 217 | +          exasol-version: ${{ env.EXASOL_VERSION }} | 
|  | 218 | +          num-nodes: ${{ env.NUM_NODES }} | 
|  | 219 | + | 
|  | 220 | + | 
|  | 221 | +      - uses: Swatinem/rust-cache@v2 | 
|  | 222 | + | 
|  | 223 | +      - name: ETL tests (no TLS) | 
|  | 224 | +        timeout-minutes: ${{ fromJSON(env.TESTS_TIMEOUT) }} | 
|  | 225 | +        run: | | 
|  | 226 | +          export DATABASE_URL="$BASE_DATABASE_URL?ssl-mode=disabled" | 
|  | 227 | +          cargo test --features runtime-tokio,compression,etl -- test_etl --ignored --nocapture | 
|  | 228 | +        env: | 
|  | 229 | +          BASE_DATABASE_URL: ${{ steps.exa-cluster.outputs.url }} | 
|  | 230 | +          SQLX_OFFLINE: true | 
|  | 231 | +           | 
|  | 232 | +      - name: ETL tests (NativeTLS) | 
|  | 233 | +        timeout-minutes: ${{ fromJSON(env.TESTS_TIMEOUT) }} | 
|  | 234 | +        run: | | 
|  | 235 | +          export DATABASE_URL="$BASE_DATABASE_URL?ssl-mode=required" | 
|  | 236 | +          cargo test --features runtime-tokio,compression,etl,tls-native-tls -- test_etl --ignored --nocapture | 
|  | 237 | +        env: | 
|  | 238 | +          BASE_DATABASE_URL: ${{ steps.exa-cluster.outputs.url }} | 
|  | 239 | +          SQLX_OFFLINE: true | 
|  | 240 | +           | 
|  | 241 | +      - name: ETL tests (Rustls) | 
|  | 242 | +        timeout-minutes: ${{ fromJSON(env.TESTS_TIMEOUT) }} | 
|  | 243 | +        run: | | 
|  | 244 | +          export DATABASE_URL="$BASE_DATABASE_URL?ssl-mode=required" | 
|  | 245 | +          cargo test --features runtime-tokio,compression,etl,tls-rustls-aws-lc-rs -- test_etl --ignored --nocapture | 
|  | 246 | +        env: | 
|  | 247 | +          BASE_DATABASE_URL: ${{ steps.exa-cluster.outputs.url }} | 
|  | 248 | +          SQLX_OFFLINE: true | 
0 commit comments