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,49 @@ 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 }}
92+
93+ - name : Install WiX
94+ if : ${{ startsWith(matrix.os, 'windows') }}
95+ shell : powershell
96+ run : |
97+ choco install wixtoolset -y
9798
9899 - name : make windows
99100 if : ${{ startsWith(matrix.os, 'windows') }}
100101 shell : powershell
101102 run : |
102- cmake -DCONC_WITH_MSI=OFF -DCONC_WITH_UNIT_TESTS=OFF -DWITH_MSI=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_SSL=SCHANNEL .
103+ cmake -DCONC_WITH_MSI=OFF -DCONC_WITH_UNIT_TESTS=OFF -DWITH_MSI=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_SSL=SCHANNEL -DDIRECT_LINK_TESTS=1 .
103104 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 }}
105+
106+ - name : Install generated MSI (Windows only)
107+ if : startsWith(matrix.os, 'windows')
108+ shell : powershell
109+ run : |
110+ pwd
111+ ls ${{ github.workspace }}\packaging\windows
112+ Get-ChildItem -Path ${{ github.workspace }}\packaging\windows\mariadb-connector-odbc-*.msi
113+ $log = "install.log"
114+ foreach ($msi in Get-ChildItem -Path ${{ github.workspace }}\packaging\windows\mariadb-connector-odbc-*.msi) {
115+ $procInstall= Start-Process msiexec.exe -ArgumentList "/i $($msi.FullName) /qn /norestart" -NoNewWindow -PassThru
116+ #$procLog = Start-Process "powershell" "Get-Content -Path `"$log`" -Wait" -NoNewWindow -PassThru
117+ #$procMain.WaitForExit()
118+ #$procLog.Kill()
119+ }
120+ Get-OdbcDriver -Platform "64-bit"
121+ Add-OdbcDsn -Name "$TEST_DRIVER" `
122+ -DriverName "MariaDB ODBC 3.1 Driver" `
123+ -DsnType "User" `
124+ -SetPropertyValue @("SERVER=$TEST_SERVER", "DATABASE=$TEST_SCHEMA", "USER=$TEST_UID", "PASSWORD=$TEST_PASSWORD", "PORT=$TEST_PORT")
111125
112126 - name : Run test suite
113127 shell : bash
114128 run : |
115129 echo "$PWD"
116130
117-
118- ls -lrt
131+ chmod 777 test
132+ ls -lrta
119133 cd ./test
120134 echo "$PWD"
121- ls -lrt
122135 if [ "$DB_TYPE" = "mysql" ] ; then
123136 cp ../libmariadb/caching_sha2_password.* ../
124137 fi
@@ -127,16 +140,16 @@ jobs:
127140 TEST_DRIVER="MariaDB ODBC 3.1 Driver"
128141 # INSTALLFOLDER=''
129142 ls ./RelWithDebInfo
130- cd ../wininstall && for msi in mariadb-connector-odbc-*.msi ; do msiexec /i $msi /qn /norestart; done
131143 set +x
132- 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"
144+ # 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"
133145 set -ex
134146 else
135- export ODBCINI="${{ github.workspace }}/test/odbc.ini"
136- export ODBCSYSINI=${{ github.workspace }}/test
137147
138- cat $ODBCSYSINI/odbcinst.ini
139- cat $ODBCSYSINI/odbc.ini | grep -v PASSWORD
148+ cat $ODBCINSTINI
149+ cat $ODBCINI | grep -v PASSWORD
150+
151+ chmod 666 $ODBCINI $ODBCSYSINI/odbcinst.ini
152+ ls -lrt
140153 fi
141154 ctest --verbose
142155
@@ -147,13 +160,7 @@ jobs:
147160 DB_TYPE : ${{ matrix.db-type }}
148161 LOCAL_DB : ${{ steps.setup-env.outputs.database-type }}
149162 os : ${{ matrix.os }}
150- TEST_DSN : maodbc_test
151163 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 }}
157164 TEST_SOCKET :
158165 SSLCERT : ${{ matrix.db-type == 'container' && format('{0}/.github/workflows/certs/server.crt', github.workspace) || '' }}
159166 MARIADB_PLUGIN_DIR : ${{ github.workspace }}
0 commit comments