diff options
author | Lev Walkin <vlm@lionet.info> | 2014-09-11 01:28:57 -0700 |
---|---|---|
committer | Lev Walkin <vlm@lionet.info> | 2014-09-11 01:28:57 -0700 |
commit | e0d321a6502c3a3f567f16430bfa94cdefc63a53 (patch) | |
tree | 3e34ef803f182f5a1a3b8ca0469e4bce4e7a7552 /asn1c | |
parent | 5809ec65dd1b76b4f7bbd1c08ba93665a7a3b847 (diff) |
version 0.9.26
Diffstat (limited to 'asn1c')
-rw-r--r-- | asn1c/Makefile.am | 1 | ||||
-rw-r--r-- | asn1c/Makefile.in | 8 | ||||
-rwxr-xr-x | asn1c/check-parsing.sh | 36 | ||||
-rw-r--r-- | asn1c/tests/Makefile.am | 8 | ||||
-rw-r--r-- | asn1c/tests/Makefile.in | 15 | ||||
-rwxr-xr-x | asn1c/tests/check-assembly.sh | 37 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-03.-fwide-types.c (renamed from asn1c/tests/check-03.-fwide-types.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-119.-fwide-types.-gen-PER.c (renamed from asn1c/tests/check-119.-fwide-types.-gen-PER.c) | 12 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-119.-gen-PER.c (renamed from asn1c/tests/check-119.-gen-PER.c) | 12 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-126.-gen-PER.c (renamed from asn1c/tests/check-126.-gen-PER.c) | 18 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-127.-gen-PER.c (renamed from asn1c/tests/check-127.-gen-PER.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-131.-gen-PER.c (renamed from asn1c/tests/check-131.-gen-PER.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-132.-gen-PER.c (renamed from asn1c/tests/check-132.-gen-PER.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-133.-gen-PER.c (renamed from asn1c/tests/check-133.-gen-PER.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-19.c (renamed from asn1c/tests/check-19.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-22.-fwide-types.c (renamed from asn1c/tests/check-22.-fwide-types.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-24.-fwide-types.c (renamed from asn1c/tests/check-24.-fwide-types.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-25.-fwide-types.c (renamed from asn1c/tests/check-25.-fwide-types.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-30.-fwide-types.c (renamed from asn1c/tests/check-30.-fwide-types.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-31.-fwide-types.c (renamed from asn1c/tests/check-31.-fwide-types.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-32.c (renamed from asn1c/tests/check-32.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-33.c (renamed from asn1c/tests/check-33.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-35.c (renamed from asn1c/tests/check-35.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-39.c (renamed from asn1c/tests/check-39.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-41.-fwide-types.c (renamed from asn1c/tests/check-41.-fwide-types.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-41.c (renamed from asn1c/tests/check-41.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-42.c (renamed from asn1c/tests/check-42.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-43.c (renamed from asn1c/tests/check-43.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-44.c (renamed from asn1c/tests/check-44.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-46.c (renamed from asn1c/tests/check-46.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-48.c (renamed from asn1c/tests/check-48.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-50.c (renamed from asn1c/tests/check-50.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-59.c (renamed from asn1c/tests/check-59.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-60.c (renamed from asn1c/tests/check-60.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-62.c (renamed from asn1c/tests/check-62.c) | 18 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-65.c (renamed from asn1c/tests/check-65.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-70.-fwide-types.c (renamed from asn1c/tests/check-70.-fwide-types.c) | 18 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-70.c (renamed from asn1c/tests/check-70.c) | 18 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-72.-fcompound-names.c (renamed from asn1c/tests/check-72.-fcompound-names.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-73.c (renamed from asn1c/tests/check-73.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-92.-findirect-choice.c (renamed from asn1c/tests/check-92.-findirect-choice.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check-92.c (renamed from asn1c/tests/check-92.c) | 0 | ||||
-rw-r--r-- | asn1c/tests/check-src/check64-134.-gen-PER.c (renamed from asn1c/tests/check64-134.-gen-PER.c) | 0 |
43 files changed, 140 insertions, 61 deletions
diff --git a/asn1c/Makefile.am b/asn1c/Makefile.am index 01258986..a369de3f 100644 --- a/asn1c/Makefile.am +++ b/asn1c/Makefile.am @@ -23,5 +23,6 @@ noinst_HEADERS = sys-common.h dist_man1_MANS = asn1c.1 unber.1 enber.1 dist_check_SCRIPTS = check-xxber.sh check-parsing.sh +TESTS_ENVIRONMENT= top_srcdir=${top_srcdir} TESTS = $(dist_check_SCRIPTS) CLEANFILES = .check-xxber.*.tmp .check-parsing.*.tmp diff --git a/asn1c/Makefile.in b/asn1c/Makefile.in index 13cd0815..2fef6057 100644 --- a/asn1c/Makefile.in +++ b/asn1c/Makefile.in @@ -189,6 +189,7 @@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -286,13 +287,14 @@ asn1c_LDADD = \ noinst_HEADERS = sys-common.h dist_man1_MANS = asn1c.1 unber.1 enber.1 dist_check_SCRIPTS = check-xxber.sh check-parsing.sh +TESTS_ENVIRONMENT = top_srcdir=${top_srcdir} TESTS = $(dist_check_SCRIPTS) CLEANFILES = .check-xxber.*.tmp .check-parsing.*.tmp all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -317,9 +319,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) diff --git a/asn1c/check-parsing.sh b/asn1c/check-parsing.sh index ebbf399e..7d81172b 100755 --- a/asn1c/check-parsing.sh +++ b/asn1c/check-parsing.sh @@ -1,25 +1,43 @@ #!/bin/sh -tmpfile=".check-parsing.$$.tmp" - # Test diff(1) capabilities diff -a . . 2>/dev/null && diffArgs="-a" # Assume text files diff -u . . 2>/dev/null && diffArgs="$diffArgs -u" # Unified diff output ec=0 -for ref in ../tests/*.asn1.-*; do +set -o pipefail +set -e + +PROCESSING="" +print_status() { + echo "Error while processing $PROCESSING" +} + +trap print_status ERR + +if [ "x${top_srcdir}" = "x" ]; then + top_srcdir=".." +fi + +for ref in ${top_srcdir}/tests/*.asn1.-*; do + # Figure out the initial source file used to generate this output. src=`echo "$ref" | sed -e 's/\.-[-a-zA-Z0-9=]*$//'` + # Figure out compiler flags used to create the file. flags=`echo "$ref" | sed -e 's/.*\.-//'` echo "Checking $src against $ref" - ./asn1c -S../skeletons "-$flags" "$src" > "$tmpfile" || ec=$? + template=.tmp.check-parsing.$$ + oldversion=${template}.old + newversion=${template}.new + PROCESSING="$ref (from $src)" + cat "$ref" | LANG=C sed -e 's/^found in .*/found in .../' > $oldversion + (./asn1c -S ${top_srcdir}/skeletons "-$flags" "$src" | LANG=C sed -e 's/^found in .*/found in .../' > "$newversion") || ec=$? if [ $? = 0 ]; then - diff $diffArgs "$ref" "$tmpfile" || ec=$? + diff $diffArgs "$oldversion" "$newversion" || ec=$? fi - if [ "$1" != "regenerate" ]; then - rm -f "$tmpfile" - else - mv "$tmpfile" "$ref" + rm -f $oldversion $newversion + if [ "$1" = "regenerate" ]; then + ./asn1c -S ${top_srcdir}/skeletons "-$flags" "$src" > "$ref" fi done diff --git a/asn1c/tests/Makefile.am b/asn1c/tests/Makefile.am index 5f057020..f780a4a9 100644 --- a/asn1c/tests/Makefile.am +++ b/asn1c/tests/Makefile.am @@ -1,15 +1,15 @@ dist_check_SCRIPTS = check-assembly.sh -TESTS_ENVIRONMENT= CC="${CC}" CFLAGS="${TESTSUITE_CFLAGS} ${CFLAGS} -Wno-error=unused-variable" CXXFLAGS="${CXXFLAGS}" ./check-assembly.sh +TESTS_ENVIRONMENT= CC="${CC}" CFLAGS="${TESTSUITE_CFLAGS} ${CFLAGS} -Wno-error=unused-variable" CXXFLAGS="${CXXFLAGS}" srcdir=${srcdir} top_srcdir=${top_srcdir} top_builddir=${top_builddir} ${srcdir}/check-assembly.sh -TESTS = check-*.c +TESTS = ${srcdir}/check-src/check-*.c if TEST_64BIT -TESTS += check64-*.c +TESTS += ${srcdir}/check-src/check64-*.c endif EXTRA_DIST = \ - check-*.c* \ + check-src/ \ data-62 \ data-70 \ data-119 \ diff --git a/asn1c/tests/Makefile.in b/asn1c/tests/Makefile.in index 7204cc82..a191aa88 100644 --- a/asn1c/tests/Makefile.in +++ b/asn1c/tests/Makefile.in @@ -33,7 +33,7 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@TEST_64BIT_TRUE@am__append_1 = check64-*.c +@TEST_64BIT_TRUE@am__append_1 = ${srcdir}/check-src/check64-*.c subdir = asn1c/tests DIST_COMMON = README $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in @@ -95,6 +95,7 @@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -174,10 +175,10 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ dist_check_SCRIPTS = check-assembly.sh -TESTS_ENVIRONMENT = CC="${CC}" CFLAGS="${TESTSUITE_CFLAGS} ${CFLAGS} -Wno-error=unused-variable" CXXFLAGS="${CXXFLAGS}" ./check-assembly.sh -TESTS = check-*.c $(am__append_1) +TESTS_ENVIRONMENT = CC="${CC}" CFLAGS="${TESTSUITE_CFLAGS} ${CFLAGS} -Wno-error=unused-variable" CXXFLAGS="${CXXFLAGS}" srcdir=${srcdir} top_srcdir=${top_srcdir} top_builddir=${top_builddir} ${srcdir}/check-assembly.sh +TESTS = ${srcdir}/check-src/check-*.c $(am__append_1) EXTRA_DIST = \ - check-*.c* \ + check-src/ \ data-62 \ data-70 \ data-119 \ @@ -186,7 +187,7 @@ EXTRA_DIST = \ all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -211,9 +212,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: $(am__configure_deps) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): diff --git a/asn1c/tests/check-assembly.sh b/asn1c/tests/check-assembly.sh index 5858f5bf..bdcc7d9f 100755 --- a/asn1c/tests/check-assembly.sh +++ b/asn1c/tests/check-assembly.sh @@ -10,11 +10,15 @@ if [ "x$1" = "x" ]; then exit fi +set -o pipefail +set -e + # Compute the .asn1 spec name by the given file name. -source=`echo "$1" | sed -e 's/.*\///'` -testno=`echo "$source" | cut -f2 -d'-' | cut -f1 -d'.'` +source_full=$1 +source_short=`echo "$source_full" | sed -e 's/.*\///'` +testno=`echo "$source_short" | cut -f2 -d'-' | cut -f1 -d'.'` -args=`echo "$source" | sed -e 's/\.c[c]*$//'` +args=`echo "$source_short" | sed -e 's/\.c[c]*$//'` testdir=test-${args} OFS=$IFS @@ -24,16 +28,15 @@ shift IFS=$OFS AFLAGS="$@" -touch ${testdir}-FAILED # Create this file to ease post mortem analysis +# Assume the test fails. Will be removed when it passes well. +touch ${testdir}-FAILED -if [ ! -d $testdir ]; then - mkdir $testdir || exit $? -fi -cd $testdir || exit $? -rm -f ./$source 2>/dev/null -ln -fns ../$source || exit $? +mkdir -p $testdir +cd $testdir +rm -f $source_short +ln -fns ../$source_full -asn_module=`echo ../../../tests/${testno}-*.asn1` +asn_module=`echo ../${top_srcdir}/tests/${testno}-*.asn1` # Create a Makefile for the project. cat > Makefile <<EOM @@ -41,6 +44,7 @@ cat > Makefile <<EOM COMMON_FLAGS= -I. -DEMIT_ASN_DEBUG CFLAGS = \${COMMON_FLAGS} ${CFLAGS} -g -O0 +CPPFLAGS = -DSRCDIR=../${srcdir} CXXFLAGS = \${COMMON_FLAGS} ${CXXFLAGS} CC ?= ${CC} @@ -48,11 +52,11 @@ CC ?= ${CC} all: check-executable check-executable: compiled-module *.c* @rm -f *.core - \$(CC) \$(CFLAGS) -o check-executable *.c* -lm + \$(CC) \$(CPPFLAGS) \$(CFLAGS) -o check-executable *.c* -lm # Compile the corresponding .asn1 spec. -compiled-module: ${asn_module} ../../asn1c - ../../asn1c -S ../../../skeletons -Wdebug-compiler \\ +compiled-module: ${asn_module} ../${top_builddir}/asn1c/asn1c + ../${top_builddir}/asn1c/asn1c -S ../${top_srcdir}/skeletons -Wdebug-compiler \\ ${AFLAGS} ${asn_module} rm -f converter-sample.c @touch compiled-module @@ -69,8 +73,7 @@ clean: EOM # Perform building and checking -make check || exit $? +make check +# Make sure the test is not marked as failed any longer. rm -f ../${testdir}-FAILED - -exit 0 diff --git a/asn1c/tests/check-03.-fwide-types.c b/asn1c/tests/check-src/check-03.-fwide-types.c index 2c44d628..2c44d628 100644 --- a/asn1c/tests/check-03.-fwide-types.c +++ b/asn1c/tests/check-src/check-03.-fwide-types.c diff --git a/asn1c/tests/check-119.-fwide-types.-gen-PER.c b/asn1c/tests/check-src/check-119.-fwide-types.-gen-PER.c index 5877d00c..8e5c2426 100644 --- a/asn1c/tests/check-119.-fwide-types.-gen-PER.c +++ b/asn1c/tests/check-src/check-119.-fwide-types.-gen-PER.c @@ -17,6 +17,14 @@ #include <PDU.h> +#ifndef SRCDIR +#define SRCDIR_S ".." +#else +#define STRINGIFY_MACRO2(x) #x +#define STRINGIFY_MACRO(x) STRINGIFY_MACRO2(x) +#define SRCDIR_S STRINGIFY_MACRO(SRCDIR) +#endif + enum expectation { EXP_OK, /* Encoding/decoding must succeed */ EXP_CXER_EXACT, /* Encoding/decoding using CXER must be exact */ @@ -311,7 +319,7 @@ process(const char *fname) { fprintf(stderr, "\nProcessing file [../%s]\n", fname); - snprintf((char *)fbuf, sizeof(fbuf), "../data-119/%s", fname); + snprintf((char *)fbuf, sizeof(fbuf), SRCDIR_S "/data-119/%s", fname); fp = fopen((char *)fbuf, "r"); assert(fp); @@ -341,7 +349,7 @@ main() { return 0; } - dir = opendir("../data-119"); + dir = opendir(SRCDIR_S "/data-119"); assert(dir); /* diff --git a/asn1c/tests/check-119.-gen-PER.c b/asn1c/tests/check-src/check-119.-gen-PER.c index adcc6d97..a1f2f805 100644 --- a/asn1c/tests/check-119.-gen-PER.c +++ b/asn1c/tests/check-src/check-119.-gen-PER.c @@ -17,6 +17,14 @@ #include <PDU.h> +#ifndef SRCDIR +#define SRCDIR_S ".." +#else +#define STRINGIFY_MACRO2(x) #x +#define STRINGIFY_MACRO(x) STRINGIFY_MACRO2(x) +#define SRCDIR_S STRINGIFY_MACRO(SRCDIR) +#endif + enum expectation { EXP_OK, /* Encoding/decoding must succeed */ EXP_CXER_EXACT, /* Encoding/decoding using CXER must be exact */ @@ -313,7 +321,7 @@ process(const char *fname) { fprintf(stderr, "\nProcessing file [../%s]\n", fname); - snprintf((char *)fbuf, sizeof(fbuf), "../data-119/%s", fname); + snprintf((char *)fbuf, sizeof(fbuf), SRCDIR_S "/data-119/%s", fname); fp = fopen((char *)fbuf, "r"); assert(fp); @@ -343,7 +351,7 @@ main() { return 0; } - dir = opendir("../data-119"); + dir = opendir(SRCDIR_S "/data-119"); assert(dir); /* diff --git a/asn1c/tests/check-126.-gen-PER.c b/asn1c/tests/check-src/check-126.-gen-PER.c index 81ebc0e3..595a1dbf 100644 --- a/asn1c/tests/check-126.-gen-PER.c +++ b/asn1c/tests/check-src/check-126.-gen-PER.c @@ -16,6 +16,14 @@ #include <PDU.h> +#ifndef SRCDIR +#define SRCDIR_S ".." +#else +#define STRINGIFY_MACRO2(x) #x +#define STRINGIFY_MACRO(x) STRINGIFY_MACRO2(x) +#define SRCDIR_S STRINGIFY_MACRO(SRCDIR) +#endif + static unsigned char buf[4096]; static int buf_offset; @@ -229,14 +237,14 @@ xer_encoding_equal(void *obufp, size_t osize, void *nbufp, size_t nsize) { static void compare_with_data_out(const char *fname, void *datap, size_t size) { char *data = datap; - char outName[256]; + char outName[sizeof(SRCDIR_S) + 256]; unsigned char fbuf[1024]; size_t rd; FILE *f; char lastChar; int mustfail, compare; - sprintf(outName, "../data-126/%s", fname); + sprintf(outName, SRCDIR_S "/data-126/%s", fname); strcpy(outName + strlen(outName) - 3, ".out"); fprintf(stderr, "Comparing PER output with [%s]\n", outName); @@ -304,7 +312,7 @@ process_XER_data(const char *fname, unsigned char *fbuf, size_t size) { */ static int process(const char *fname) { - unsigned char fbuf[4096]; + unsigned char fbuf[sizeof(SRCDIR_S) + 4096]; char *ext = strrchr(fname, '.'); int rd; FILE *fp; @@ -314,7 +322,7 @@ process(const char *fname) { fprintf(stderr, "\nProcessing file [../%s]\n", fname); - snprintf((char *)fbuf, sizeof(fbuf), "../data-126/%s", fname); + snprintf((char *)fbuf, sizeof(fbuf), SRCDIR_S "/data-126/%s", fname); fp = fopen((char *)fbuf, "r"); assert(fp); @@ -344,7 +352,7 @@ main() { return 0; } - dir = opendir("../data-126"); + dir = opendir(SRCDIR_S "/data-126"); assert(dir); /* diff --git a/asn1c/tests/check-127.-gen-PER.c b/asn1c/tests/check-src/check-127.-gen-PER.c index 34b6d748..34b6d748 100644 --- a/asn1c/tests/check-127.-gen-PER.c +++ b/asn1c/tests/check-src/check-127.-gen-PER.c diff --git a/asn1c/tests/check-131.-gen-PER.c b/asn1c/tests/check-src/check-131.-gen-PER.c index 7cc744f4..7cc744f4 100644 --- a/asn1c/tests/check-131.-gen-PER.c +++ b/asn1c/tests/check-src/check-131.-gen-PER.c diff --git a/asn1c/tests/check-132.-gen-PER.c b/asn1c/tests/check-src/check-132.-gen-PER.c index 592425c5..592425c5 100644 --- a/asn1c/tests/check-132.-gen-PER.c +++ b/asn1c/tests/check-src/check-132.-gen-PER.c diff --git a/asn1c/tests/check-133.-gen-PER.c b/asn1c/tests/check-src/check-133.-gen-PER.c index bbd36915..bbd36915 100644 --- a/asn1c/tests/check-133.-gen-PER.c +++ b/asn1c/tests/check-src/check-133.-gen-PER.c diff --git a/asn1c/tests/check-19.c b/asn1c/tests/check-src/check-19.c index bb2f7f26..bb2f7f26 100644 --- a/asn1c/tests/check-19.c +++ b/asn1c/tests/check-src/check-19.c diff --git a/asn1c/tests/check-22.-fwide-types.c b/asn1c/tests/check-src/check-22.-fwide-types.c index 991f2626..991f2626 100644 --- a/asn1c/tests/check-22.-fwide-types.c +++ b/asn1c/tests/check-src/check-22.-fwide-types.c diff --git a/asn1c/tests/check-24.-fwide-types.c b/asn1c/tests/check-src/check-24.-fwide-types.c index 8cd54765..8cd54765 100644 --- a/asn1c/tests/check-24.-fwide-types.c +++ b/asn1c/tests/check-src/check-24.-fwide-types.c diff --git a/asn1c/tests/check-25.-fwide-types.c b/asn1c/tests/check-src/check-25.-fwide-types.c index 5564445c..5564445c 100644 --- a/asn1c/tests/check-25.-fwide-types.c +++ b/asn1c/tests/check-src/check-25.-fwide-types.c diff --git a/asn1c/tests/check-30.-fwide-types.c b/asn1c/tests/check-src/check-30.-fwide-types.c index e4a47371..e4a47371 100644 --- a/asn1c/tests/check-30.-fwide-types.c +++ b/asn1c/tests/check-src/check-30.-fwide-types.c diff --git a/asn1c/tests/check-31.-fwide-types.c b/asn1c/tests/check-src/check-31.-fwide-types.c index 2777d0b3..2777d0b3 100644 --- a/asn1c/tests/check-31.-fwide-types.c +++ b/asn1c/tests/check-src/check-31.-fwide-types.c diff --git a/asn1c/tests/check-32.c b/asn1c/tests/check-src/check-32.c index d869a90e..d869a90e 100644 --- a/asn1c/tests/check-32.c +++ b/asn1c/tests/check-src/check-32.c diff --git a/asn1c/tests/check-33.c b/asn1c/tests/check-src/check-33.c index 61638713..61638713 100644 --- a/asn1c/tests/check-33.c +++ b/asn1c/tests/check-src/check-33.c diff --git a/asn1c/tests/check-35.c b/asn1c/tests/check-src/check-35.c index 23ed3270..23ed3270 100644 --- a/asn1c/tests/check-35.c +++ b/asn1c/tests/check-src/check-35.c diff --git a/asn1c/tests/check-39.c b/asn1c/tests/check-src/check-39.c index 61638713..61638713 100644 --- a/asn1c/tests/check-39.c +++ b/asn1c/tests/check-src/check-39.c diff --git a/asn1c/tests/check-41.-fwide-types.c b/asn1c/tests/check-src/check-41.-fwide-types.c index 4dca1e65..4dca1e65 100644 --- a/asn1c/tests/check-41.-fwide-types.c +++ b/asn1c/tests/check-src/check-41.-fwide-types.c diff --git a/asn1c/tests/check-41.c b/asn1c/tests/check-src/check-41.c index 1c1b9072..1c1b9072 100644 --- a/asn1c/tests/check-41.c +++ b/asn1c/tests/check-src/check-41.c diff --git a/asn1c/tests/check-42.c b/asn1c/tests/check-src/check-42.c index db4ccb76..db4ccb76 100644 --- a/asn1c/tests/check-42.c +++ b/asn1c/tests/check-src/check-42.c diff --git a/asn1c/tests/check-43.c b/asn1c/tests/check-src/check-43.c index 4a613854..4a613854 100644 --- a/asn1c/tests/check-43.c +++ b/asn1c/tests/check-src/check-43.c diff --git a/asn1c/tests/check-44.c b/asn1c/tests/check-src/check-44.c index f7c28354..f7c28354 100644 --- a/asn1c/tests/check-44.c +++ b/asn1c/tests/check-src/check-44.c diff --git a/asn1c/tests/check-46.c b/asn1c/tests/check-src/check-46.c index 6e50f645..6e50f645 100644 --- a/asn1c/tests/check-46.c +++ b/asn1c/tests/check-src/check-46.c diff --git a/asn1c/tests/check-48.c b/asn1c/tests/check-src/check-48.c index f8a79189..f8a79189 100644 --- a/asn1c/tests/check-48.c +++ b/asn1c/tests/check-src/check-48.c diff --git a/asn1c/tests/check-50.c b/asn1c/tests/check-src/check-50.c index cfdd6006..cfdd6006 100644 --- a/asn1c/tests/check-50.c +++ b/asn1c/tests/check-src/check-50.c diff --git a/asn1c/tests/check-59.c b/asn1c/tests/check-src/check-59.c index ba970bed..ba970bed 100644 --- a/asn1c/tests/check-59.c +++ b/asn1c/tests/check-src/check-59.c diff --git a/asn1c/tests/check-60.c b/asn1c/tests/check-src/check-60.c index f871dbb4..f871dbb4 100644 --- a/asn1c/tests/check-60.c +++ b/asn1c/tests/check-src/check-60.c diff --git a/asn1c/tests/check-62.c b/asn1c/tests/check-src/check-62.c index 27e13545..7c1864bc 100644 --- a/asn1c/tests/check-62.c +++ b/asn1c/tests/check-src/check-62.c @@ -2,7 +2,7 @@ #include <stdio.h> #include <stdlib.h> #include <sys/types.h> -#include <unistd.h> /* for chdir(2) */ +#include <unistd.h> /* for chdir(2), getcwd(3) */ #include <string.h> #include <dirent.h> #include <assert.h> @@ -10,6 +10,14 @@ #include <T.h> +#ifndef SRCDIR +#define SRCDIR_S ".." +#else +#define STRINGIFY_MACRO2(x) #x +#define STRINGIFY_MACRO(x) STRINGIFY_MACRO2(x) +#define SRCDIR_S STRINGIFY_MACRO(SRCDIR) +#endif + enum expectation { EXP_OK, /* Encoding/decoding must succeed */ EXP_BROKEN, /* Decoding must fail */ @@ -142,6 +150,7 @@ process_data(enum expectation expectation, unsigned char *fbuf, ssize_t size) { */ static int process(const char *fname) { + char prevdir[256]; unsigned char fbuf[4096]; char *ext = strrchr(fname, '.'); enum expectation expectation; @@ -165,10 +174,11 @@ process(const char *fname) { fprintf(stderr, "\nProcessing file [../%s]\n", fname); - ret = chdir("../data-62"); + getcwd(prevdir, sizeof(prevdir)); + ret = chdir(SRCDIR_S "/data-62"); assert(ret == 0); fp = fopen(fname, "r"); - ret = chdir("../test-check-62"); + ret = chdir(prevdir); assert(ret == 0); assert(fp); @@ -189,7 +199,7 @@ main() { int processed_files = 0; char *str; - dir = opendir("../data-62"); + dir = opendir(SRCDIR_S "/data-62"); assert(dir); str = getenv("DATA_62_FILE"); diff --git a/asn1c/tests/check-65.c b/asn1c/tests/check-src/check-65.c index 061a3aad..061a3aad 100644 --- a/asn1c/tests/check-65.c +++ b/asn1c/tests/check-src/check-65.c diff --git a/asn1c/tests/check-70.-fwide-types.c b/asn1c/tests/check-src/check-70.-fwide-types.c index 92db99c3..3a42e99a 100644 --- a/asn1c/tests/check-70.-fwide-types.c +++ b/asn1c/tests/check-src/check-70.-fwide-types.c @@ -8,7 +8,7 @@ #include <stdio.h> #include <stdlib.h> #include <sys/types.h> -#include <unistd.h> /* for chdir(2) */ +#include <unistd.h> /* for chdir(2), getcwd(3) */ #include <string.h> #include <ctype.h> #include <dirent.h> @@ -17,6 +17,14 @@ #include <PDU.h> +#ifndef SRCDIR +#define SRCDIR_S ".." +#else +#define STRINGIFY_MACRO2(x) #x +#define STRINGIFY_MACRO(x) STRINGIFY_MACRO2(x) +#define SRCDIR_S STRINGIFY_MACRO(SRCDIR) +#endif + enum expectation { EXP_OK, /* Encoding/decoding must succeed */ EXP_CXER_EXACT, /* Encoding/decoding using CXER must be exact */ @@ -250,6 +258,7 @@ process_XER_data(enum expectation expectation, unsigned char *fbuf, size_t size) */ static int process(const char *fname) { + char prevdir[256]; unsigned char fbuf[4096]; char *ext = strrchr(fname, '.'); enum expectation expectation; @@ -275,10 +284,11 @@ process(const char *fname) { fprintf(stderr, "\nProcessing file [../%s]\n", fname); - ret = chdir("../data-70"); + getcwd(prevdir, sizeof(prevdir)); + ret = chdir(SRCDIR_S "/data-70"); assert(ret == 0); fp = fopen(fname, "r"); - ret = chdir("../test-check-70.-fwide-types"); + ret = chdir(prevdir); assert(ret == 0); assert(fp); @@ -306,7 +316,7 @@ main() { return 0; } - dir = opendir("../data-70"); + dir = opendir(SRCDIR_S "/data-70"); assert(dir); /* diff --git a/asn1c/tests/check-70.c b/asn1c/tests/check-src/check-70.c index 431a21a1..d09f095a 100644 --- a/asn1c/tests/check-70.c +++ b/asn1c/tests/check-src/check-70.c @@ -8,7 +8,7 @@ #include <stdio.h> #include <stdlib.h> #include <sys/types.h> -#include <unistd.h> /* for chdir(2) */ +#include <unistd.h> /* for chdir(2), getcwd(3) */ #include <string.h> #include <dirent.h> #include <ctype.h> /* for isspace(3) */ @@ -17,6 +17,14 @@ #include <PDU.h> +#ifndef SRCDIR +#define SRCDIR_S ".." +#else +#define STRINGIFY_MACRO2(x) #x +#define STRINGIFY_MACRO(x) STRINGIFY_MACRO2(x) +#define SRCDIR_S STRINGIFY_MACRO(SRCDIR) +#endif + enum expectation { EXP_OK, /* Encoding/decoding must succeed */ EXP_BROKEN, /* Decoding must fail */ @@ -226,6 +234,7 @@ process_XER_data(enum expectation expectation, unsigned char *fbuf, size_t size) */ static int process(const char *fname) { + char prevdir[256]; unsigned char fbuf[4096]; char *ext = strrchr(fname, '.'); enum expectation expectation; @@ -249,10 +258,11 @@ process(const char *fname) { fprintf(stderr, "\nProcessing file [../%s]\n", fname); - ret = chdir("../data-70"); + getcwd(prevdir, sizeof(prevdir)); + ret = chdir(SRCDIR_S "/data-70"); assert(ret == 0); fp = fopen(fname, "r"); - ret = chdir("../test-check-70"); + ret = chdir(prevdir); assert(ret == 0); assert(fp); @@ -278,7 +288,7 @@ main() { if(str && strncmp(str, "data-70-", 8) == 0) process(str); - dir = opendir("../data-70"); + dir = opendir(SRCDIR_S "/data-70"); assert(dir); /* diff --git a/asn1c/tests/check-72.-fcompound-names.c b/asn1c/tests/check-src/check-72.-fcompound-names.c index 322742d1..322742d1 100644 --- a/asn1c/tests/check-72.-fcompound-names.c +++ b/asn1c/tests/check-src/check-72.-fcompound-names.c diff --git a/asn1c/tests/check-73.c b/asn1c/tests/check-src/check-73.c index 9d331415..9d331415 100644 --- a/asn1c/tests/check-73.c +++ b/asn1c/tests/check-src/check-73.c diff --git a/asn1c/tests/check-92.-findirect-choice.c b/asn1c/tests/check-src/check-92.-findirect-choice.c index caa367fd..caa367fd 100644 --- a/asn1c/tests/check-92.-findirect-choice.c +++ b/asn1c/tests/check-src/check-92.-findirect-choice.c diff --git a/asn1c/tests/check-92.c b/asn1c/tests/check-src/check-92.c index caa367fd..caa367fd 100644 --- a/asn1c/tests/check-92.c +++ b/asn1c/tests/check-src/check-92.c diff --git a/asn1c/tests/check64-134.-gen-PER.c b/asn1c/tests/check-src/check64-134.-gen-PER.c index 1eaef4ee..1eaef4ee 100644 --- a/asn1c/tests/check64-134.-gen-PER.c +++ b/asn1c/tests/check-src/check64-134.-gen-PER.c |