From 9a80643a8ed08579f7a6acad15d953d7ea55ec59 Mon Sep 17 00:00:00 2001 From: Klas Lindfors Date: Wed, 31 Mar 2021 11:04:02 +0200 Subject: [PATCH 1/4] ci: start porting tests to github actions --- .github/workflows/build_and_test.yml | 34 ++++++++++++++++++++++++++++ .travis.yml | 19 ---------------- 2 files changed, 34 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/build_and_test.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml new file mode 100644 index 0000000..9af14a1 --- /dev/null +++ b/.github/workflows/build_and_test.yml @@ -0,0 +1,34 @@ +name: Build and Test +on: [push, pull_request] +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - os: ubuntu-20.04 + cc: gcc-10 + config_args: "--without-mysql" + extra: "libldap2-dev libykpers-1-dev libnet-ldap-server-perl" + - os: ubuntu-20.04 + cc: gcc-10 + config_args: "--without-ldap --without-mysql" + extra: "libykpers-1-dev" + - os: ubuntu-20.04 + cc: gcc-10 + config_args: "--without-cr --without-mysql" + extra: "libldap2-dev libnet-ldap-server-perl" + - os: ubuntu-20.04 + cc: gcc-10 + config_args: "--without-ldap --without-cr --without-mysql" + extra: "" + steps: + - uses: actions/checkout@v1 + - name: Build and test + env: + CC: ${{ matrix.cc }} + CONFIGURE_ARGS: ${{ matrix.config_args }} + EXTRA: ${{ matrix.extra }} + run: | + tests/aux/build-and-test.sh diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 71cc606..0000000 --- a/.travis.yml +++ /dev/null @@ -1,19 +0,0 @@ -language: c -os: - - linux - - osx -compiler: - - gcc - - clang -env: - - CONFIGURE_ARGS="" EXTRA="libldap2-dev libykpers-1-dev libnet-ldap-server-perl libmysqlclient-dev" - - CONFIGURE_ARGS="--without-ldap" EXTRA="libykpers-1-dev libmysqlclient-dev" - - CONFIGURE_ARGS="--without-cr" EXTRA="libldap2-dev libnet-ldap-server-perl libmysqlclient-dev" - - CONFIGURE_ARGS="--without-ldap --without-cr" EXTRA="libmysqlclient-dev" -script: tests/aux/build-and-test.sh -jobs: - install: travis_wait 30 mvn install - include: - - compiler: gcc - os: linux - env: COVERAGE="--enable-coverage" EXTRA="libldap2-dev libykpers-1-dev libnet-ldap-server-perl lcov libmysqlclient-dev" From 8538e937617c773a94046905d260b73d10c0fe8d Mon Sep 17 00:00:00 2001 From: Klas Lindfors Date: Wed, 31 Mar 2021 11:48:26 +0200 Subject: [PATCH 2/4] ci: add mysql test job --- .github/workflows/build_and_test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 9af14a1..05c3821 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -23,6 +23,10 @@ jobs: cc: gcc-10 config_args: "--without-ldap --without-cr --without-mysql" extra: "" + - os: ubuntu-20.04 + cc: gcc-10 + config_args: "" + extra: "libldap2-dev libykpers-1-dev libnet-ldap-server-perl libmysqlclient-dev" steps: - uses: actions/checkout@v1 - name: Build and test From 55a0f789727d28ae7e282706b4b4cc710bd4fb31 Mon Sep 17 00:00:00 2001 From: Klas Lindfors Date: Wed, 31 Mar 2021 12:02:59 +0200 Subject: [PATCH 3/4] mysql: use the .is_null_value member of the MYSQL_BIND structure instead of setting a pointer, this seems to have better API compatibility, also get rid of the error member that was never checked. --- util.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/util.c b/util.c index 62a0042..5582aab 100644 --- a/util.c +++ b/util.c @@ -136,8 +136,6 @@ check_user_token_mysql(const char *mysql_server, long unsigned int length; int int_data; int row_count; - my_bool is_null; - my_bool error; if(mysql_library_init(0, NULL, NULL)){ if(verbose){ @@ -195,7 +193,6 @@ check_user_token_mysql(const char *mysql_server, ps_params[0].buffer = (char *)username; ps_params[0].buffer_length = str_username; ps_params[0].length = &str_username; - ps_params[0].is_null = 0; if(otp_id != NULL) { @@ -204,7 +201,6 @@ check_user_token_mysql(const char *mysql_server, ps_params[1].buffer = (char *)otp_id; ps_params[1].buffer_length = str_otp; ps_params[1].length = &str_otp; - ps_params[1].is_null = 0; } if(mysql_stmt_bind_param(stmt, ps_params)) @@ -225,8 +221,6 @@ check_user_token_mysql(const char *mysql_server, bind[0].buffer_type = MYSQL_TYPE_LONG; bind[0].buffer = (char *)&int_data; bind[0].length = &length; - bind[0].is_null = &is_null; - bind[0].error = &error; if(mysql_stmt_bind_result(stmt, bind)) { @@ -243,7 +237,7 @@ check_user_token_mysql(const char *mysql_server, while(!mysql_stmt_fetch(stmt)) { - if(is_null) + if(bind[0].is_null_value) { D (debug_file, "mysql_stmt_fetch() failed"); } From 93c8229ea1e51cd82ce566f33ddfbb564569fa9a Mon Sep 17 00:00:00 2001 From: Klas Lindfors Date: Wed, 31 Mar 2021 12:54:56 +0200 Subject: [PATCH 4/4] ci: more ubuntus --- .github/workflows/build_and_test.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 05c3821..07e89e2 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -27,6 +27,14 @@ jobs: cc: gcc-10 config_args: "" extra: "libldap2-dev libykpers-1-dev libnet-ldap-server-perl libmysqlclient-dev" + - os: ubuntu-18.04 + cc: gcc-8 + config_args: "" + extra: "libldap2-dev libykpers-1-dev libnet-ldap-server-perl libmysqlclient-dev" + - os: ubuntu-16.04 + cc: gcc-5 + config_args: "" + extra: "libldap2-dev libykpers-1-dev libnet-ldap-server-perl libmysqlclient-dev" steps: - uses: actions/checkout@v1 - name: Build and test