CMC test suite, cleanup
This commit is contained in:
parent
f94cc3a8a0
commit
c6f674d0e1
14
ChangeLog
14
ChangeLog
|
|
@ -1,3 +1,17 @@
|
||||||
|
2011-05-29 Robert Larice
|
||||||
|
* Removed tests/hisimhv/nmos/Makefile ,
|
||||||
|
* Removed tests/hisimhv/pmos/Makefile ,
|
||||||
|
* Removed tests/hisim/nmos/Makefile ,
|
||||||
|
* Removed tests/hisim/pmos/Makefile ,
|
||||||
|
* Added tests/bin/run_cmc_check ,
|
||||||
|
* Modified tests/hisimhv/nmos/run ,
|
||||||
|
* Modified tests/hisimhv/pmos/run ,
|
||||||
|
* Modified tests/hisim/nmos/run ,
|
||||||
|
* Modified tests/hisim/pmos/run :
|
||||||
|
CMC test suite, cleanup
|
||||||
|
use /bin/sh instead of /bin/csh
|
||||||
|
replace the makefiles with a single script
|
||||||
|
|
||||||
2011-05-29 Holger Vogt
|
2011-05-29 Holger Vogt
|
||||||
* main.c, inpcom.c, numparam.h, spicenum.c, xpressn.c, compatmode.h, b3v1.c:
|
* main.c, inpcom.c, numparam.h, spicenum.c, xpressn.c, compatmode.h, b3v1.c:
|
||||||
compatibility issues
|
compatibility issues
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,141 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
#
|
||||||
|
# Example Script to run tests and check results.
|
||||||
|
#
|
||||||
|
# This is an example script for running QA tests on a
|
||||||
|
# model and then checking the simulated results against
|
||||||
|
# reference results. A separate target is defined for each
|
||||||
|
# variant of the model. The program runQaTests.pl runs the
|
||||||
|
# tests, and that program expects a perl module SIMULATOR.pm
|
||||||
|
# to be provided for each simulator that is tested.
|
||||||
|
# Examples of these are provided.
|
||||||
|
#
|
||||||
|
|
||||||
|
qaSpecFile="qaSpec"
|
||||||
|
qaResultsDirectory="results"
|
||||||
|
testProgramName="../../bin/runQaTests.pl"
|
||||||
|
testProgramFlags="-nwV"
|
||||||
|
|
||||||
|
#testProgramFlags="-d"
|
||||||
|
|
||||||
|
|
||||||
|
help() {
|
||||||
|
cat <<-EOF
|
||||||
|
Valid targets are:
|
||||||
|
|
||||||
|
all run tests and compare results for all simulators
|
||||||
|
|
||||||
|
spice run tests and compare results spice
|
||||||
|
ngspice run tests and compare results ngspice
|
||||||
|
|
||||||
|
clean remove all previously generated simulation results
|
||||||
|
|
||||||
|
NOTE: if test results exist they are not resimulated
|
||||||
|
NOTE: to force resimulation run "make clean" first
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
run_test() {
|
||||||
|
|
||||||
|
simname="$1"
|
||||||
|
|
||||||
|
localPlatform=`${testProgramName} -platform`
|
||||||
|
localVersion=`${testProgramName} -sv -s ${simname} ${qaSpecFile}`
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "******"
|
||||||
|
echo "****** ${qaSpecFile} tests for ${simname}"
|
||||||
|
echo "****** (for version ${localVersion} on platform ${localPlatform})"
|
||||||
|
echo "******"
|
||||||
|
|
||||||
|
for test in `${testProgramName} -lt -s ${simname} ${qaSpecFile}` ; do
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "****** Checking test (${simname}): ${test}"
|
||||||
|
|
||||||
|
for variant in `${testProgramName} -lv -s ${simname} ${qaSpecFile}` ; do
|
||||||
|
${testProgramName} \
|
||||||
|
${testProgramFlags} \
|
||||||
|
-s ${simname} \
|
||||||
|
-r -t ${test} \
|
||||||
|
-var ${variant} \
|
||||||
|
${qaSpecFile}
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
for version in `ls -C1 ${qaResultsDirectory}/${simname}` ; do
|
||||||
|
for platform in `ls -C1 ${qaResultsDirectory}/${simname}/${version}` ; do
|
||||||
|
|
||||||
|
if [ ${version} = ${localVersion} -a ${platform} = ${localPlatform} ]
|
||||||
|
then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "******"
|
||||||
|
echo "****** Comparing previously run ${qaSpecFile} tests for ${simname}"
|
||||||
|
echo "****** (for version ${version} on platform ${platform})"
|
||||||
|
echo "******"
|
||||||
|
|
||||||
|
for test in `${testProgramName} -lt -s ${simname} ${qaSpecFile}` ; do
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "****** Checking test (${simname}): ${test}"
|
||||||
|
|
||||||
|
for variant in `${testProgramName} -lv -s ${simname} ${qaSpecFile}` ; do
|
||||||
|
${testProgramName} \
|
||||||
|
-c ${version} ${platform} \
|
||||||
|
-s ${simname} \
|
||||||
|
-t ${test} \
|
||||||
|
-var ${variant} \
|
||||||
|
${qaSpecFile}
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#####
|
||||||
|
##### spice tests
|
||||||
|
#####
|
||||||
|
|
||||||
|
spice() {
|
||||||
|
run_test spice
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#####
|
||||||
|
##### ngspice tests
|
||||||
|
#####
|
||||||
|
|
||||||
|
ngspice() {
|
||||||
|
run_test ngspice
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
clean() {
|
||||||
|
rm -rf ${qaResultsDirectory}/spice b3v3check.log
|
||||||
|
rm -rf ${qaResultsDirectory}/ngspice ngspiceCkt*
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
all() {
|
||||||
|
spice
|
||||||
|
ngspice
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for arg in $@ ; do
|
||||||
|
case "$arg" in
|
||||||
|
all | clean | spice | ngspice)
|
||||||
|
"$arg"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
help
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
@ -1,135 +0,0 @@
|
||||||
|
|
||||||
#
|
|
||||||
# Example Makefile to run tests and check results.
|
|
||||||
#
|
|
||||||
# This is an example makefile for running QA tests on a
|
|
||||||
# model and then checking the simulated results against
|
|
||||||
# reference results. A separate target is defined for each
|
|
||||||
# variant of the model. The program runQaTests.pl runs the
|
|
||||||
# tests, and that program expects a perl module SIMULATOR.pm
|
|
||||||
# to be provided for each simulator that is tested.
|
|
||||||
# Examples of these are provided.
|
|
||||||
#
|
|
||||||
|
|
||||||
qaSpecFile = qaSpec
|
|
||||||
qaResultsDirectory = results
|
|
||||||
testProgramName = ../../bin/runQaTests.pl
|
|
||||||
testProgramFlags = -nwV
|
|
||||||
#testProgramFlags = -d
|
|
||||||
|
|
||||||
help:
|
|
||||||
@echo "" ; \
|
|
||||||
echo "Valid targets are:" ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "all run tests and compare results for all simulators" ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "spice run tests and compare results spice" ; \
|
|
||||||
echo "ngspice run tests and compare results ngspice" ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "clean remove all previously generated simulation results"; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "NOTE: if test results exist they are not resimulated" ; \
|
|
||||||
echo "NOTE: to force resimulation run \"make clean\" first" ; \
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
all: spice ngspice
|
|
||||||
|
|
||||||
#####
|
|
||||||
##### spice tests
|
|
||||||
#####
|
|
||||||
|
|
||||||
spice:
|
|
||||||
@-echo ""; \
|
|
||||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||||
localVersion=`$(testProgramName) -sv -s spice $(qaSpecFile)` ; \
|
|
||||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** $(qaSpecFile) tests for spice"; \
|
|
||||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) $(testProgramFlags) -s spice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
for version in `ls -C1 $(qaResultsDirectory)/spice` ; \
|
|
||||||
do \
|
|
||||||
for platform in `ls -C1 $(qaResultsDirectory)/spice/$$version` ; \
|
|
||||||
do \
|
|
||||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||||
then \
|
|
||||||
break ; \
|
|
||||||
fi ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** Comparing previously run $(qaSpecFile) tests for spice"; \
|
|
||||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) -c $$version $$platform -s spice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
#####
|
|
||||||
##### ngspice tests
|
|
||||||
#####
|
|
||||||
|
|
||||||
ngspice:
|
|
||||||
@-echo ""; \
|
|
||||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||||
localVersion=`$(testProgramName) -sv -s ngspice $(qaSpecFile)` ; \
|
|
||||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** $(qaSpecFile) tests for ngspice"; \
|
|
||||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) $(testProgramFlags) -s ngspice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
for version in `ls -C1 $(qaResultsDirectory)/ngspice` ; \
|
|
||||||
do \
|
|
||||||
for platform in `ls -C1 $(qaResultsDirectory)/ngspice/$$version` ; \
|
|
||||||
do \
|
|
||||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||||
then \
|
|
||||||
break ; \
|
|
||||||
fi ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** Comparing previously run $(qaSpecFile) tests for ngspice"; \
|
|
||||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) -c $$version $$platform -s ngspice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@/bin/rm -rf $(qaResultsDirectory)/spice b3v3check.log
|
|
||||||
@/bin/rm -rf $(qaResultsDirectory)/ngspice ngspiceCkt*
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
#!/bin/csh -fv
|
#!/bin/sh
|
||||||
|
|
||||||
make ngspice | tee cmcqa_nmos.log
|
../../bin/run_cmc_check clean ngspice | tee cmcqa_nmos.log
|
||||||
|
|
|
||||||
|
|
@ -1,135 +0,0 @@
|
||||||
|
|
||||||
#
|
|
||||||
# Example Makefile to run tests and check results.
|
|
||||||
#
|
|
||||||
# This is an example makefile for running QA tests on a
|
|
||||||
# model and then checking the simulated results against
|
|
||||||
# reference results. A separate target is defined for each
|
|
||||||
# variant of the model. The program runQaTests.pl runs the
|
|
||||||
# tests, and that program expects a perl module SIMULATOR.pm
|
|
||||||
# to be provided for each simulator that is tested.
|
|
||||||
# Examples of these are provided.
|
|
||||||
#
|
|
||||||
|
|
||||||
qaSpecFile = qaSpec
|
|
||||||
qaResultsDirectory = results
|
|
||||||
testProgramName = ../../bin/runQaTests.pl
|
|
||||||
testProgramFlags = -nwV
|
|
||||||
#testProgramFlags = -d
|
|
||||||
|
|
||||||
help:
|
|
||||||
@echo "" ; \
|
|
||||||
echo "Valid targets are:" ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "all run tests and compare results for all simulators" ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "spice run tests and compare results spice" ; \
|
|
||||||
echo "ngspice run tests and compare results ngspice" ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "clean remove all previously generated simulation results"; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "NOTE: if test results exist they are not resimulated" ; \
|
|
||||||
echo "NOTE: to force resimulation run \"make clean\" first" ; \
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
all: spice ngspice
|
|
||||||
|
|
||||||
#####
|
|
||||||
##### spice tests
|
|
||||||
#####
|
|
||||||
|
|
||||||
spice:
|
|
||||||
@-echo ""; \
|
|
||||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||||
localVersion=`$(testProgramName) -sv -s spice $(qaSpecFile)` ; \
|
|
||||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** $(qaSpecFile) tests for spice"; \
|
|
||||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) $(testProgramFlags) -s spice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
for version in `ls -C1 $(qaResultsDirectory)/spice` ; \
|
|
||||||
do \
|
|
||||||
for platform in `ls -C1 $(qaResultsDirectory)/spice/$$version` ; \
|
|
||||||
do \
|
|
||||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||||
then \
|
|
||||||
break ; \
|
|
||||||
fi ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** Comparing previously run $(qaSpecFile) tests for spice"; \
|
|
||||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) -c $$version $$platform -s spice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
#####
|
|
||||||
##### ngspice tests
|
|
||||||
#####
|
|
||||||
|
|
||||||
ngspice:
|
|
||||||
@-echo ""; \
|
|
||||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||||
localVersion=`$(testProgramName) -sv -s ngspice $(qaSpecFile)` ; \
|
|
||||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** $(qaSpecFile) tests for ngspice"; \
|
|
||||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) $(testProgramFlags) -s ngspice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
for version in `ls -C1 $(qaResultsDirectory)/ngspice` ; \
|
|
||||||
do \
|
|
||||||
for platform in `ls -C1 $(qaResultsDirectory)/ngspice/$$version` ; \
|
|
||||||
do \
|
|
||||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||||
then \
|
|
||||||
break ; \
|
|
||||||
fi ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** Comparing previously run $(qaSpecFile) tests for ngspice"; \
|
|
||||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) -c $$version $$platform -s ngspice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@/bin/rm -rf $(qaResultsDirectory)/spice b3v3check.log
|
|
||||||
@/bin/rm -rf $(qaResultsDirectory)/ngspice ngspiceCkt*
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
#!/bin/csh -fv
|
#!/bin/sh
|
||||||
|
|
||||||
make clean ngspice | tee cmcqa_pmos.log
|
../../bin/run_cmc_check clean ngspice | tee cmcqa_pmos.log
|
||||||
|
|
|
||||||
|
|
@ -1,135 +0,0 @@
|
||||||
|
|
||||||
#
|
|
||||||
# Example Makefile to run tests and check results.
|
|
||||||
#
|
|
||||||
# This is an example makefile for running QA tests on a
|
|
||||||
# model and then checking the simulated results against
|
|
||||||
# reference results. A separate target is defined for each
|
|
||||||
# variant of the model. The program runQaTests.pl runs the
|
|
||||||
# tests, and that program expects a perl module SIMULATOR.pm
|
|
||||||
# to be provided for each simulator that is tested.
|
|
||||||
# Examples of these are provided.
|
|
||||||
#
|
|
||||||
|
|
||||||
qaSpecFile = qaSpec
|
|
||||||
qaResultsDirectory = results
|
|
||||||
testProgramName = ../../bin/runQaTests.pl
|
|
||||||
testProgramFlags = -nwV
|
|
||||||
#testProgramFlags = -d
|
|
||||||
|
|
||||||
help:
|
|
||||||
@echo "" ; \
|
|
||||||
echo "Valid targets are:" ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "all run tests and compare results for all simulators" ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "spice run tests and compare results spice" ; \
|
|
||||||
echo "ngspice run tests and compare results ngspice" ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "clean remove all previously generated simulation results"; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "NOTE: if test results exist they are not resimulated" ; \
|
|
||||||
echo "NOTE: to force resimulation run \"make clean\" first" ; \
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
all: spice ngspice
|
|
||||||
|
|
||||||
#####
|
|
||||||
##### spice tests
|
|
||||||
#####
|
|
||||||
|
|
||||||
spice:
|
|
||||||
@-echo ""; \
|
|
||||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||||
localVersion=`$(testProgramName) -sv -s spice $(qaSpecFile)` ; \
|
|
||||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** $(qaSpecFile) tests for spice"; \
|
|
||||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) $(testProgramFlags) -s spice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
for version in `ls -C1 $(qaResultsDirectory)/spice` ; \
|
|
||||||
do \
|
|
||||||
for platform in `ls -C1 $(qaResultsDirectory)/spice/$$version` ; \
|
|
||||||
do \
|
|
||||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||||
then \
|
|
||||||
break ; \
|
|
||||||
fi ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** Comparing previously run $(qaSpecFile) tests for spice"; \
|
|
||||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) -c $$version $$platform -s spice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
#####
|
|
||||||
##### ngspice tests
|
|
||||||
#####
|
|
||||||
|
|
||||||
ngspice:
|
|
||||||
@-echo ""; \
|
|
||||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||||
localVersion=`$(testProgramName) -sv -s ngspice $(qaSpecFile)` ; \
|
|
||||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** $(qaSpecFile) tests for ngspice"; \
|
|
||||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) $(testProgramFlags) -s ngspice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
for version in `ls -C1 $(qaResultsDirectory)/ngspice` ; \
|
|
||||||
do \
|
|
||||||
for platform in `ls -C1 $(qaResultsDirectory)/ngspice/$$version` ; \
|
|
||||||
do \
|
|
||||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||||
then \
|
|
||||||
break ; \
|
|
||||||
fi ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** Comparing previously run $(qaSpecFile) tests for ngspice"; \
|
|
||||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) -c $$version $$platform -s ngspice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@/bin/rm -rf $(qaResultsDirectory)/spice b3v3check.log
|
|
||||||
@/bin/rm -rf $(qaResultsDirectory)/ngspice ngspiceCkt*
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/csh -fv
|
#!/bin/sh
|
||||||
|
|
||||||
make clean
|
../../bin/run_cmc_check clean
|
||||||
cp qaSpec.basic qaSpec
|
cp qaSpec.basic qaSpec
|
||||||
make ngspice | tee cmcqa_basic.log
|
../../bin/run_cmc_check ngspice | tee cmcqa_basic.log
|
||||||
|
|
|
||||||
|
|
@ -1,135 +0,0 @@
|
||||||
|
|
||||||
#
|
|
||||||
# Example Makefile to run tests and check results.
|
|
||||||
#
|
|
||||||
# This is an example makefile for running QA tests on a
|
|
||||||
# model and then checking the simulated results against
|
|
||||||
# reference results. A separate target is defined for each
|
|
||||||
# variant of the model. The program runQaTests.pl runs the
|
|
||||||
# tests, and that program expects a perl module SIMULATOR.pm
|
|
||||||
# to be provided for each simulator that is tested.
|
|
||||||
# Examples of these are provided.
|
|
||||||
#
|
|
||||||
|
|
||||||
qaSpecFile = qaSpec
|
|
||||||
qaResultsDirectory = results
|
|
||||||
testProgramName = ../../bin/runQaTests.pl
|
|
||||||
testProgramFlags = -nwV
|
|
||||||
#testProgramFlags = -d
|
|
||||||
|
|
||||||
help:
|
|
||||||
@echo "" ; \
|
|
||||||
echo "Valid targets are:" ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "all run tests and compare results for all simulators" ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "spice run tests and compare results spice" ; \
|
|
||||||
echo "ngspice run tests and compare results ngspice" ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "clean remove all previously generated simulation results"; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "NOTE: if test results exist they are not resimulated" ; \
|
|
||||||
echo "NOTE: to force resimulation run \"make clean\" first" ; \
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
all: spice ngspice
|
|
||||||
|
|
||||||
#####
|
|
||||||
##### spice tests
|
|
||||||
#####
|
|
||||||
|
|
||||||
spice:
|
|
||||||
@-echo ""; \
|
|
||||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||||
localVersion=`$(testProgramName) -sv -s spice $(qaSpecFile)` ; \
|
|
||||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** $(qaSpecFile) tests for spice"; \
|
|
||||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) $(testProgramFlags) -s spice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
for version in `ls -C1 $(qaResultsDirectory)/spice` ; \
|
|
||||||
do \
|
|
||||||
for platform in `ls -C1 $(qaResultsDirectory)/spice/$$version` ; \
|
|
||||||
do \
|
|
||||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||||
then \
|
|
||||||
break ; \
|
|
||||||
fi ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** Comparing previously run $(qaSpecFile) tests for spice"; \
|
|
||||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (spice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s spice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) -c $$version $$platform -s spice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
#####
|
|
||||||
##### ngspice tests
|
|
||||||
#####
|
|
||||||
|
|
||||||
ngspice:
|
|
||||||
@-echo ""; \
|
|
||||||
localPlatform=`$(testProgramName) -platform` ; \
|
|
||||||
localVersion=`$(testProgramName) -sv -s ngspice $(qaSpecFile)` ; \
|
|
||||||
localVersionAndPlatform=$$localVersion._.$$localPlatform ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** $(qaSpecFile) tests for ngspice"; \
|
|
||||||
echo "****** (for version $$localVersion on platform $$localPlatform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) $(testProgramFlags) -s ngspice -r -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
for version in `ls -C1 $(qaResultsDirectory)/ngspice` ; \
|
|
||||||
do \
|
|
||||||
for platform in `ls -C1 $(qaResultsDirectory)/ngspice/$$version` ; \
|
|
||||||
do \
|
|
||||||
versionAndPlatform=$$version._.$$platform ; \
|
|
||||||
if [ $$versionAndPlatform = $$localVersionAndPlatform ] ; \
|
|
||||||
then \
|
|
||||||
break ; \
|
|
||||||
fi ; \
|
|
||||||
echo "" ; \
|
|
||||||
echo "******"; \
|
|
||||||
echo "****** Comparing previously run $(qaSpecFile) tests for ngspice"; \
|
|
||||||
echo "****** (for version $$version on platform $$platform)"; \
|
|
||||||
echo "******"; \
|
|
||||||
for test in `$(testProgramName) -lt -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
echo ""; \
|
|
||||||
echo "****** Checking test (ngspice): $$test" ; \
|
|
||||||
for variant in `$(testProgramName) -lv -s ngspice $(qaSpecFile)` ; \
|
|
||||||
do \
|
|
||||||
$(testProgramName) -c $$version $$platform -s ngspice -t $$test -var $$variant $(qaSpecFile) ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done ; \
|
|
||||||
done
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@/bin/rm -rf $(qaResultsDirectory)/spice b3v3check.log
|
|
||||||
@/bin/rm -rf $(qaResultsDirectory)/ngspice ngspiceCkt*
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/csh -fv
|
#!/bin/sh
|
||||||
|
|
||||||
make clean
|
../../bin/run_cmc_check clean
|
||||||
cp qaSpec.basic qaSpec
|
cp qaSpec.basic qaSpec
|
||||||
make ngspice | tee cmcqa_basic.log
|
../../bin/run_cmc_check ngspice | tee cmcqa_basic.log
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue