From d34ccd72082c5bb1081b78ce4732543718fce4a1 Mon Sep 17 00:00:00 2001 From: rlar Date: Sun, 10 May 2015 21:47:14 +0200 Subject: [PATCH] tests/regression/model/special-names-1.cir, check "#307 define problems with the Modelname "mname" with Subcircuits" --- tests/regression/model/Makefile.am | 2 +- tests/regression/model/special-names-1.cir | 53 ++++++++++++++++++++++ tests/regression/model/special-names-1.out | 1 + 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 tests/regression/model/special-names-1.cir create mode 100644 tests/regression/model/special-names-1.out diff --git a/tests/regression/model/Makefile.am b/tests/regression/model/Makefile.am index f331090e7..211269197 100644 --- a/tests/regression/model/Makefile.am +++ b/tests/regression/model/Makefile.am @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in -TESTS = binning-1.cir +TESTS = binning-1.cir special-names-1.cir TESTS_ENVIRONMENT = ngspice_vpath=$(srcdir) $(SHELL) $(top_srcdir)/tests/bin/check.sh $(top_builddir)/src/ngspice diff --git a/tests/regression/model/special-names-1.cir b/tests/regression/model/special-names-1.cir new file mode 100644 index 000000000..a351cf835 --- /dev/null +++ b/tests/regression/model/special-names-1.cir @@ -0,0 +1,53 @@ +* check whether we can swallow special modelnames starting with a digit + +* (exec-spice "ngspice -b %s") + +* check whether we can swallow special modelnames starting with a digit +* for example 1n4002 2SK456 or 1SMB4148 +* see function is_a_modelname() in inpcom.c + +i1 1 0 dc -100u + +vm1 1 t1 dc 0 +d1 t1 0 dplain + +vm2 1 t2 dc 0 +d2 t2 0 1n4002 + +vm3 1 t3 dc 0 +d3 t3 0 2sk456 + +vm4 1 t4 dc 0 +d4 t4 0 1smb4148 + + +.model dplain d(is=1.0f) + +.model 1n4002 d(is=1.3f) +.model 2sk456 d(is=1.5f) +.model 1smb4148 d(is=1.7f) + +.control + +op + +compose result values i(vm2)/i(vm1) i(vm3)/i(vm1) i(vm4)/i(vm1) +compose gold values 1.3 1.5 1.7 + +let err = result / gold - 1 +let allowed_err = 1e-7 + +echo "Note: err =" $&err +echo "Note: allowed_err =" $&allowed_err + +if vecmax(abs(err)) > allowed_err + echo "ERROR: test failed" + quit 1 +else + echo "INFO: success" + quit 0 +end + +.endc + +.end diff --git a/tests/regression/model/special-names-1.out b/tests/regression/model/special-names-1.out new file mode 100644 index 000000000..8e9036969 --- /dev/null +++ b/tests/regression/model/special-names-1.out @@ -0,0 +1 @@ +INFO: success