ngspice/tests/regression/lib-processing/scope-2.cir

82 lines
1.2 KiB
Plaintext

scope-2, subckt scopes
* (exec-spice "ngspice -b %s" t)
* ----
i1001_t n1001_t 0 -1mA
x1001_t n1001_t 0 sub1
v1001_g n1001_g 0 2.0V
* ----
i1002_t n1002_t 0 -1mA
x1002_t n1002_t 0 sub2
v1002_g n1002_g 0 1.0V
* ----
i1003_t n1003_t 0 -1mA
x1003_t n1003_t 0 sub
v1003_g n1003_g 0 3.0V
* ----
.subckt sub1 n1 n2
.subckt sub n1 n2
R1 n1 n2 4k
.ends
X1 n1 n2 sub
R1 n1 n2 4k
.ends
.subckt sub n1 n2
R1 n1 n2 3k
.ends
.subckt sub2 n1 n2
.subckt sub n1 n2
R1 n1 n2 2k
.ends
X1 n1 n2 sub
R1 n1 n2 2k
.ends
.control
define mismatch(a,b,err) abs(a-b)>err
op
let total_count = 0
let fail_count = 0
let tests = 1001 + vector(3)
foreach n $&tests
set n_test = "n{$n}_t"
set n_gold = "n{$n}_g"
if mismatch(v($n_test), v($n_gold), 1e-9)
let v_test = v($n_test)
let v_gold = v($n_gold)
echo "ERROR, test failure, v($n_test) = $&v_test but should be $&v_gold"
let fail_count = fail_count + 1
end
let total_count = total_count + 1
end
if fail_count > 0
echo "ERROR: $&fail_count of $&total_count tests failed"
quit 1
else
echo "INFO: $&fail_count of $&total_count tests failed"
quit 0
end
.endc
.end