File: eval-catch.exp

package info (click to toggle)
octave2.1 1%3A2.1.73-13
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 37,028 kB
  • ctags: 20,874
  • sloc: cpp: 106,508; fortran: 46,978; ansic: 5,720; sh: 4,800; makefile: 3,186; yacc: 3,132; lex: 2,892; lisp: 1,715; perl: 778; awk: 174; exp: 134
file content (50 lines) | stat: -rw-r--r-- 1,366 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

## parse empty try string
set test eval-catch-1
set prog_output "^$"
do_test eval-catch-1.m

## parse empty catch string
set test eval-catch-2
set prog_output "^$"
do_test eval-catch-2.m

## suppress error; do not execute code after error
set test eval-catch-3
set prog_output "^ans = 2"
do_test eval-catch-3.m

## execute catch clause
set test eval-catch-4
set prog_output "^ans = 1"
do_test eval-catch-4.m

## lasterr works in and out of the catch string.
set test eval-catch-5
set prog_output "ans = error: `a' undefined.*\n\nans = error: `a' undefined"
do_test eval-catch-5.m

## throw a user-defined error
set test eval-catch-6
set prog_output "ans = error: user-defined error\n\nans = error: user-defined error"
do_test eval-catch-6.m

## pass lasterr to user-defined subroutine
set test eval-catch-7
set prog_output "^ans = <error: `a' undefined.*\n>"
do_test eval-catch-7.m

## handle nested eval: eval in try-string
set test eval-catch-8
set prog_output "ans = error: `a' undefined.*\n\nans = error: `b' undefined.*\n$"
do_test eval-catch-8.m

## handle nested eval: eval nested in catch-string
set test eval-catch-9
set prog_output "ans = error: `b' undefined.*\n\nans = error: `b' undefined.*\n$"
do_test eval-catch-9.m

## re-throw an error
set test eval-catch-10
set prog_output "ans = error: rethrow: error: `a' undefined.*\n"
do_test eval-catch-10.m