From 28e420d8712a73e66db328cdb80a8b09f6f9a0b4 Mon Sep 17 00:00:00 2001 From: chrysn Date: Fri, 28 Jun 2013 10:50:48 +0200 Subject: replace echotest and dumptest with python scripts this solves problems of sed compatibility on different platoforms. also, the openscad binary to use is now passed in from the ctest script. diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 0282622..5a44b8a 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -876,8 +876,8 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CTestCustom.cmake ${TMP}) # Add tests -add_cmdline_test(echotest SUFFIX txt FILES ${ECHO_FILES}) -add_cmdline_test(dumptest SUFFIX csg FILES ${DUMPTEST_FILES}) +add_cmdline_test(echotest SUFFIX txt ARGS ${GUI_BINPATH} FILES ${ECHO_FILES}) +add_cmdline_test(dumptest SUFFIX csg ARGS ${GUI_BINPATH} FILES ${DUMPTEST_FILES}) add_cmdline_test(moduledumptest EXE ${GUI_BINPATH} ARGS -o SUFFIX ast FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allmodules.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allfunctions.scad diff --git a/tests/dumptest b/tests/dumptest index 0c60099..f9247c7 100755 --- a/tests/dumptest +++ b/tests/dumptest @@ -1,7 +1,12 @@ -#!/bin/sh +#!/usr/bin/env python -openscad $1 -o $2 +import re, sys, subprocess -sed 's/, timestamp = [0-9]*//' -i $2 +subprocess.check_call([sys.argv[2], sys.argv[1], '-o', sys.argv[3]]) -sed 's/-\?[0-9].[0-9]*e-[0-9]\{2,\}/0/g' -i $2 +result = open(sys.argv[3]).read() + +result = re.sub(r', timestamp = [0-9]*', '', result) +result = re.sub(r'-?[0-9].[0-9]*e-[0-9]{2,}', '0', result) + +open(sys.argv[3], 'w').write(result) diff --git a/tests/echotest b/tests/echotest index 9e29878..bad382c 100755 --- a/tests/echotest +++ b/tests/echotest @@ -1,5 +1,9 @@ -#!/bin/sh +#!/usr/bin/env python -openscad $1 -o null 2> $2 +import re, sys, subprocess -sed 's/-\?[0-9].[0-9]*e-[0-9]\{2,\}/0/g' -i $2 +result = subprocess.check_output([sys.argv[2], sys.argv[1], '-o', 'null'], stderr=subprocess.STDOUT) + +result = re.sub(r'-?[0-9].[0-9]*e-[0-9]{2,}', '0', result) + +open(sys.argv[3], 'w').write(result) -- cgit v0.10.1