From 966fe2387cb386421cf4428a09dd0811b1439fc2 Mon Sep 17 00:00:00 2001 From: Klas Lindfors Date: Mon, 10 Feb 2014 14:15:05 +0100 Subject: [PATCH] add a very simple selftest --- .gitignore | 4 ++++ Makefile.am | 2 ++ configure.ac | 1 + tests/Makefile.am | 29 +++++++++++++++++++++++++++++ tests/basic.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 77 insertions(+) create mode 100644 tests/Makefile.am create mode 100755 tests/basic.sh diff --git a/.gitignore b/.gitignore index e06372f..c6609bc 100644 --- a/.gitignore +++ b/.gitignore @@ -27,8 +27,12 @@ build-aux/depcomp build-aux/install-sh build-aux/ltmain.sh build-aux/missing +build-aux/test-driver tmp32/ tmp64/ yubico-piv-tool-*-win32.zip yubico-piv-tool-*-win64.zip yubico-piv-tool-*.tar.gz +tests/basic.sh.log +tests/basic.sh.trs +tests/test-suite.log diff --git a/Makefile.am b/Makefile.am index d5e72c0..0e82ee8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -24,6 +24,8 @@ # non-source form of such a combination shall include the source code # for the parts of OpenSSL used as well as that of the covered work. +SUBDIRS = . tests + AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS) AM_CPPFLAGS = $(OPENSSL_CFLAGS) $(PCSC_CFLAGS) diff --git a/configure.ac b/configure.ac index 6a46a57..fd4f81f 100644 --- a/configure.ac +++ b/configure.ac @@ -136,6 +136,7 @@ fi AC_CONFIG_FILES([ Makefile + tests/Makefile ]) AC_OUTPUT diff --git a/tests/Makefile.am b/tests/Makefile.am new file mode 100644 index 0000000..a96a1bc --- /dev/null +++ b/tests/Makefile.am @@ -0,0 +1,29 @@ +# Copyright (c) 2014 Yubico AB +# All rights reserved. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Additional permission under GNU GPL version 3 section 7 +# +# If you modify this program, or any covered work, by linking or +# combining it with the OpenSSL project's OpenSSL library (or a +# modified version of that library), containing parts covered by the +# terms of the OpenSSL or SSLeay licenses, We grant you additional +# permission to convey the resulting work. Corresponding Source for a +# non-source form of such a combination shall include the source code +# for the parts of OpenSSL used as well as that of the covered work. + +TESTS = basic.sh + +AM_TESTS_ENVIRONMENT = export VERSION=$(VERSION); diff --git a/tests/basic.sh b/tests/basic.sh new file mode 100755 index 0000000..6ed19dd --- /dev/null +++ b/tests/basic.sh @@ -0,0 +1,41 @@ +#!/bin/sh + +# Copyright (c) 2014 Yubico AB +# All rights reserved. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Additional permission under GNU GPL version 3 section 7 +# +# If you modify this program, or any covered work, by linking or +# combining it with the OpenSSL project's OpenSSL library (or a +# modified version of that library), containing parts covered by the +# terms of the OpenSSL or SSLeay licenses, We grant you additional +# permission to convey the resulting work. Corresponding Source for a +# non-source form of such a combination shall include the source code +# for the parts of OpenSSL used as well as that of the covered work. + +# This is a _very_ simple test shell script, really only verifying +# that we managed to build a binary and it can execute. + +set -e + +HELP_OUTPUT=$(../yubico-piv-tool --help) + +expected="yubico-piv-tool $VERSION" +VERSION_OUTPUT=$(../yubico-piv-tool --version) +if [ "x$VERSION_OUTPUT" != "x$expected" ]; then + echo "Version not matching expected output $expected." + exit 1 +fi