2020 MYSQL_TEST_USER : root
2121 MYSQL_TEST_PASSWD : " heyPassw+-_20oRd"
2222 MYSQL_TEST_DB : testo
23+ TEST_DSN : maodbc_test
24+ TEST_UID : root
25+ TEST_SERVER : mariadb.example.com
26+ TEST_PASSWORD : " heyPassw+-_20oRd"
27+ TEST_PORT : 3306
28+ TEST_SCHEMA : testo
29+ ODBCINI : " ${{ github.workspace }}/test/odbc.ini"
30+ ODBCSYSINI : ${{ github.workspace }}/test
31+ ODBCINTSTINI : ${{ github.workspace }}/test/odbcinst.ini
2332
2433jobs :
2534 setup :
6978 sudo apt install unixodbc-dev
7079 cmake -DCONC_WITH_MSI=OFF -DCONC_WITH_UNIT_TESTS=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_SSL=OPENSSL .
7180 cmake --build . --config RelWithDebInfo
72- env :
73- TEST_DSN : maodbc_test
74- TEST_UID : ${{ env.MYSQL_TEST_USER }}
75- TEST_SERVER : ${{ env.MYSQL_TEST_HOST }}
76- TEST_PASSWORD : ${{ env.MYSQL_TEST_PASSWD }}
77- TEST_PORT : ${{ env.MYSQL_TEST_PORT }}
78- TEST_SCHEMA : ${{ env.MYSQL_TEST_DB }}
7981
8082 - name : make macos
8183 if : ${{ startsWith(matrix.os, 'mac') }}
@@ -87,38 +89,38 @@ jobs:
8789 echo "TEST_DRIVER=${{ github.workspace }}/RelWithDebInfo/libmaodbc.dylib" >> $GITHUB_ENV
8890 cmake -G Xcode -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY="" -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=NO -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO -DWITH_SIGNCODE=OFF -DODBC_LIB_DIR=/opt/homebrew/opt/libiodbc/lib -DODBC_INCLUDE_DIR=/opt/homebrew/opt/libiodbc/include -DCONC_WITH_MSI=OFF -DCONC_WITH_UNIT_TESTS=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_SSL=OPENSSL -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DOPENSSL_LIBRARIES=/usr/local/opt/openssl/lib -DWITH_EXTERNAL_ZLIB=On .
8991 cmake --build . --config RelWithDebInfo
90- env :
91- TEST_DSN : maodbc_test
92- TEST_UID : ${{ env.MYSQL_TEST_USER }}
93- TEST_SERVER : ${{ env.MYSQL_TEST_HOST }}
94- TEST_PASSWORD : ${{ env.MYSQL_TEST_PASSWD }}
95- TEST_PORT : ${{ env.MYSQL_TEST_PORT }}
96- TEST_SCHEMA : ${{ env.MYSQL_TEST_DB }}
9792
9893 - name : make windows
9994 if : ${{ startsWith(matrix.os, 'windows') }}
10095 shell : powershell
10196 run : |
102- cmake -DCONC_WITH_MSI=OFF -DCONC_WITH_UNIT_TESTS=OFF -DWITH_MSI=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_SSL=SCHANNEL .
97+ cmake -DCONC_WITH_MSI=OFF -DCONC_WITH_UNIT_TESTS=OFF -DWITH_MSI=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_SSL=SCHANNEL -DDIRECT_LINK_TESTS=1 .
10398 cmake --build . --config RelWithDebInfo
104- env :
105- TEST_DSN : maodbc_test
106- TEST_UID : ${{ env.MYSQL_TEST_USER }}
107- TEST_SERVER : ${{ env.MYSQL_TEST_HOST }}
108- TEST_PASSWORD : ${{ env.MYSQL_TEST_PASSWD }}
109- TEST_PORT : ${{ env.MYSQL_TEST_PORT }}
110- TEST_SCHEMA : ${{ env.MYSQL_TEST_DB }}
99+
100+ - name : Install generated MSI (Windows only)
101+ if : startsWith(matrix.os, 'windows')
102+ shell : powershell
103+ run : |
104+ pwd
105+ ls ${{ github.workspace }}\packaging\windows
106+ Get-ChildItem -Path ${{ github.workspace }}\packaging\windows\mariadb-connector-odbc-*.msi
107+ $log = "install.log"
108+ foreach ($msi in Get-ChildItem -Path ${{ github.workspace }}\packaging\windows\mariadb-connector-odbc-*.msi) {
109+ $procInstall= Start-Process msiexec.exe -ArgumentList "/i $($msi.FullName) /qn /norestart" -NoNewWindow -PassThru
110+ $procLog = Start-Process "powershell" "Get-Content -Path `"$log`" -Wait" -NoNewWindow -PassThru
111+ $procMain.WaitForExit()
112+ $procLog.Kill()
113+ }
111114
112115 - name : Run test suite
113116 shell : bash
114117 run : |
115118 echo "$PWD"
116119
117-
118- ls -lrt
120+ chmod 777 test
121+ ls -lrta
119122 cd ./test
120123 echo "$PWD"
121- ls -lrt
122124 if [ "$DB_TYPE" = "mysql" ] ; then
123125 cp ../libmariadb/caching_sha2_password.* ../
124126 fi
@@ -127,16 +129,16 @@ jobs:
127129 TEST_DRIVER="MariaDB ODBC 3.1 Driver"
128130 # INSTALLFOLDER=''
129131 ls ./RelWithDebInfo
130- cd ../wininstall && for msi in mariadb-connector-odbc-*.msi ; do msiexec /i $msi /qn /norestart; done
131132 set +x
132133 odbcconf CONFIGDSN "$TEST_DRIVER" "DSN=$TEST_DSN;SERVER=$TEST_SERVER;DATABASE=$TEST_SCHEMA;USER=$TEST_UID;PASSWORD=$TEST_PASSWORD;PORT=$TEST_PORT;$TEST_ADD_PARAM"
133134 set -ex
134135 else
135- export ODBCINI="${{ github.workspace }}/test/odbc.ini"
136- export ODBCSYSINI=${{ github.workspace }}/test
137136
138- cat $ODBCSYSINI/odbcinst.ini
139- cat $ODBCSYSINI/odbc.ini | grep -v PASSWORD
137+ cat $ODBCINSTINI
138+ cat $ODBCINI | grep -v PASSWORD
139+
140+ chmod 666 $ODBCINI $ODBCSYSINI/odbcinst.ini
141+ ls -lrt
140142 fi
141143 ctest --verbose
142144
@@ -147,13 +149,7 @@ jobs:
147149 DB_TYPE : ${{ matrix.db-type }}
148150 LOCAL_DB : ${{ steps.setup-env.outputs.database-type }}
149151 os : ${{ matrix.os }}
150- TEST_DSN : maodbc_test
151152 TEST_DRIVER : ${{ env.TEST_DRIVER || 'maodbc_test' }}
152- TEST_UID : ${{ env.MYSQL_TEST_USER }}
153- TEST_SERVER : ${{ env.MYSQL_TEST_HOST }}
154- TEST_PASSWORD : ${{ env.MYSQL_TEST_PASSWD }}
155- TEST_PORT : ${{ env.MYSQL_TEST_PORT }}
156- TEST_SCHEMA : ${{ env.MYSQL_TEST_DB }}
157153 TEST_SOCKET :
158154 SSLCERT : ${{ matrix.db-type == 'container' && format('{0}/.github/workflows/certs/server.crt', github.workspace) || '' }}
159155 MARIADB_PLUGIN_DIR : ${{ github.workspace }}
0 commit comments