diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..3c6a302 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,46 @@ +stages: + - build + - test + - deploy + +before_script: + - ./bootstrap + - ./configure --enable-gcov + +build: + stage: build + script: + - make + +coverage:dev: + stage: test + except: + - tags + script: + - make coverage-html + - ssh ci_upload@192.168.20.60 install -d trbase + - > + rsync -vaurl --delete tests/coverage/*/ + ci_upload@192.168.20.60:~/trbase/coverage_${CI_BUILD_ID} + - > + ssh ci_upload@192.168.20.60 + ln -sf trbase/coverage_${CI_BUILD_ID} trbase/coverage_latest + +coverage:tag: + stage: test + only: + - tags + script: + - make coverage-html + - ssh ci_upload@192.168.20.60 install -d trbase + - rsync -vaurl --delete tests/coverage ci_upload@192.168.20.60:~/trbase/ + - ssh ci_upload@192.168.20.60 ln -sf trbase/coverage trbase/coverage_latest + +dist: + stage: deploy + only: + - tags + script: + - make dist + - ssh ci_upload@192.168.20.60 install -d trbase/artifacts + - scp libtrbase-*.tar.gz ci_upload@192.168.20.60:~/trbase/artifacts diff --git a/configure.ac b/configure.ac index 84f4909..db17cb5 100644 --- a/configure.ac +++ b/configure.ac @@ -3,14 +3,14 @@ AC_PREREQ([2.68]) AC_INIT([libtrbase], - [1.0.1], + [1.0.2], [Georg Hopp ]) LT_INIT AM_INIT_AUTOMAKE #AM_INIT_AUTOMAKE([subdir-objects]) AM_SILENT_RULES([yes]) -AC_COPYRIGHT([Copyright © 2013 Georg Hopp]) -AC_REVISION([1.0.1]) +AC_COPYRIGHT([Copyright © 2016 Georg Hopp]) +AC_REVISION([1.0.2]) AC_CONFIG_SRCDIR([src/interface.c]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -21,6 +21,9 @@ AC_TDD_GCOV m4_include([m4/memopt.m4]) AC_MEM_OPT +m4_include([m4/chkamd.m4]) +AC_CHK_AMD + # Checks for programs. AC_PROG_CXX AC_PROG_CC diff --git a/m4/chkamd.m4 b/m4/chkamd.m4 new file mode 100644 index 0000000..4f5d064 --- /dev/null +++ b/m4/chkamd.m4 @@ -0,0 +1,6 @@ +AC_DEFUN([AC_CHK_AMD], +[ + AM_CONDITIONAL(IS_AMD, test "AuthenticAMD" = "$(uname -i)") +]) + +# vim: set ft=m4 ts=2 sw=2: diff --git a/m4/gcov.m4 b/m4/gcov.m4 index 2c303a1..5b44348 100644 --- a/m4/gcov.m4 +++ b/m4/gcov.m4 @@ -31,7 +31,7 @@ AC_DEFUN([AC_TDD_GCOV], AC_MSG_ERROR([ccache must be disabled when --enable-gcov option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.]) fi - lcov_version_list="1.6 1.7 1.8 1.9 1.10" + lcov_version_list="1.6 1.7 1.8 1.9 1.10 1.11" AC_CHECK_PROG(LCOV, lcov, lcov) AC_CHECK_PROG(GENHTML, genhtml, genhtml) diff --git a/tests/Makefile.am b/tests/Makefile.am index ba61d03..96ffac7 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,11 +1,14 @@ ACLOCAL_AMFLAGS = -I m4 AUTOMAKE_OPTIONS = subdir-objects +if IS_AMD +else TESTS_ENVIRONMENT = valgrind \ --error-exitcode=123 \ --leak-check=full \ --suppressions=./suppress/external.supp \ --quiet +endif TESTS = classTest check_PROGRAMS = classTest @@ -43,7 +46,7 @@ coverage-html: clean clean-coverage check $(LCOV) -d $(top_srcdir) \ -a ./coverage.base -a ./coverage.run \ -o coverage.info - LANG=C $(GENHTML) --prefix $(top_srcdir) \ + LANG=C $(GENHTML) --prefix $(PWD) \ --output-directory $(cov_dir) \ --title "$(PACKAGE_NAME) $(PACKAGE_VERSION)" \ --legend --branch-coverage --show-details coverage.run @@ -51,15 +54,15 @@ coverage-html: clean clean-coverage check clean-coverage: clean-gcda clean-gcno $(LCOV) -d $(top_srcdir) -z -rm -rf coverage.info coverage.base coverage.run $(cov_dir) - + clean-gcda: @echo Removing old coverage results -find $(top_srcdir) -name '*.gcda' -print | xargs -r rm - + clean-gcno: @echo Removing old coverage results -find $(top_srcdir) -name '*.gcno' -print | xargs -r rm - + clean-local: clean-coverage endif # HAVE_GCOV diff --git a/tests/mock/mock_class.c b/tests/mock/mock_class.c index a387326..ef989bc 100644 --- a/tests/mock/mock_class.c +++ b/tests/mock/mock_class.c @@ -67,6 +67,6 @@ mockClone(void * _this, void * _base) } TR_INIT_IFACE(TR_Class, mockCtor, mockDtor, mockClone); -TR_CREATE_CLASS(MockClass, NULL, TR_IF(TR_Class)); +TR_CREATE_CLASS(MockClass, NULL, NULL, TR_IF(TR_Class)); // vim: set et ts=4 sw=4: diff --git a/tests/mock/mock_class.h b/tests/mock/mock_class.h index 5e12be2..8af7c39 100644 --- a/tests/mock/mock_class.h +++ b/tests/mock/mock_class.h @@ -36,6 +36,7 @@ void _reset(); TR_CLASS(MockClass) { int value; }; +TR_CLASSVARS_DECL(MockClass) {}; /** * ~~~ method declarations ~~~~~~~~ diff --git a/tests/runtest.c b/tests/runtest.c index d87a008..355c0dd 100644 --- a/tests/runtest.c +++ b/tests/runtest.c @@ -89,7 +89,7 @@ main(int argc, char * argv[]) if (_setUp && NULL != tearDown) { int _tearDown = tearDown(); - if ((! TEST_OK == _tearDown) && TEST_OK == result) { + if ((!(TEST_OK == _tearDown)) && TEST_OK == result) { result = _tearDown; } }