diff options
Diffstat (limited to 'gnuradio-core')
-rw-r--r-- | gnuradio-core/src/guile/tests/00_runtime_basics.test | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gnuradio-core/src/guile/tests/00_runtime_basics.test b/gnuradio-core/src/guile/tests/00_runtime_basics.test index 93dcff4d7..15bf9cb3f 100644 --- a/gnuradio-core/src/guile/tests/00_runtime_basics.test +++ b/gnuradio-core/src/guile/tests/00_runtime_basics.test @@ -108,6 +108,32 @@ (gr:connect tb src op (gr:ep dst 1))) )) +#! +;;; FIXME currently triggers core dump. +;;; The problem is that swig isn't paying attention to +;;; this throw declaration: +;;; +;;; gr_top_block.i: +;;; void start() throw (std::runtime_error); +;;; +(with-test-prefix "gr_top_block::start throw" + (let* ((src-data #(-5 -4 -3 -2 -1 0 1 2 3 4 5)) + (expected-result (vector-map (lambda (x) (* x 2)) src-data)) + (tb (gr:top-block-swig "QA top block")) + (src (gr:vector-source-i src-data #f)) + (op (gr:multiply-const-ii 2)) + (dst (gr:vector-sink-i))) + + ;; We deliberately don't connect op's output + (gr:connect tb src op) + + ;; Which should lead to an exception here... + ;; but currently triggers a core dump. + (pass-if-throw "throws std::runtime_error" #t + (gr:run tb)) + )) +!# + (with-test-prefix "io-signature-1" (let ((ios1 (gr:io-signature 1 2 8)) (ios2 (gr:io-signature2 1 2 16 32)) |