1 ;;; test-ob-fortran.el --- tests for ob-fortran.el
3 ;; Copyright (c) 2010-2012 Sergey Litvinov
4 ;; Authors: Sergey Litvinov
6 ;; Released under the GNU General Public License version 3
7 ;; see: http://www.gnu.org/licenses/gpl-3.0.html
9 (org-test-for-executable "gfortran")
11 (let ((load-path (cons (expand-file-name
12 ".." (file-name-directory
13 (or load-file-name buffer-file-name
)))
16 (require 'org-test-ob-consts
))
18 (let ((load-path (cons (expand-file-name
29 (or load-file-name buffer-file-name
)))))))
32 (require 'ob-fortran
))
34 (ert-deftest ob-fortran
/assert
()
37 (ert-deftest ob-fortran
/simple-program
()
38 "Test of hello world program."
39 (org-test-at-id "459384e8-1797-4f11-867e-dde0473ea7cc"
40 (org-babel-next-src-block)
41 (should (equal "Hello world" (org-babel-execute-src-block))))
44 (ert-deftest ob-fortran
/fortran-var-program
()
45 "Test a fortran variable"
46 (org-test-at-id "459384e8-1797-4f11-867e-dde0473ea7cc"
47 (org-babel-next-src-block 2)
48 (should (= 10 (org-babel-execute-src-block))))
51 (ert-deftest ob-fortran
/input-var
()
53 (org-test-at-id "d8d1dfd3-5f0c-48fe-b55d-777997e02242"
54 (org-babel-next-src-block)
55 (should (= 15 (org-babel-execute-src-block)))))
57 (ert-deftest ob-fortran
/preprosessor-var
()
58 "Test preprocessed fortran"
59 (org-test-at-id "d8d1dfd3-5f0c-48fe-b55d-777997e02242"
60 (org-babel-next-src-block 2)
61 (should (= 42 (org-babel-execute-src-block)))))
63 ;; ;; TODO: test fails
64 ;; (ert-deftest ob-fortran/character-var ()
65 ;; "Test string input"
66 ;; (org-test-at-id "d8d1dfd3-5f0c-48fe-b55d-777997e02242"
67 ;; (org-babel-next-src-block 3)
68 ;; (should (equal "word" (org-babel-execute-src-block)))))
70 (ert-deftest ob-fortran
/list-var
()
71 "Test real array input"
72 (org-test-at-id "c28569d9-04ce-4cad-ab81-1ea29f691465"
73 (org-babel-next-src-block)
74 (should (equal "1.00 2.00 3.00" (org-babel-execute-src-block)))))
76 (ert-deftest ob-fortran
/list-var-from-table
()
77 "Test real array from a table"
78 (org-test-at-id "c28569d9-04ce-4cad-ab81-1ea29f691465"
79 (org-babel-next-src-block 2)
80 (should (equal "1.00 2.00" (org-babel-execute-src-block)))))
82 (ert-deftest ob-fortran
/no-variables-with-main
()
83 "Test :var with explicit 'program'"
84 (org-test-at-id "891ead4a-f87a-473c-9ae0-1cf348bcd04f"
85 (org-babel-next-src-block)
86 (should-error (org-babel-execute-src-block))
89 ;; (ert-deftest ob-fortran/wrong-list ()
90 ;; "Test wrong input list"
91 ;; (org-test-at-id "891ead4a-f87a-473c-9ae0-1cf348bcd04f"
92 ;; (org-babel-next-src-block 2)
93 ;; (should-error (org-babel-execute-src-block))
96 ;; (ert-deftest ob-fortran/compiler-flags ()
97 ;; "Test compiler's flags"
98 ;; (org-test-at-id "891ead4a-f87a-473c-9ae0-1cf348bcd04f"
99 ;; (org-babel-next-src-block 3)
100 ;; (should-error (org-babel-execute-src-block))
103 (ert-deftest ob-fortran
/command-arguments
()
104 "Test real array from a table"
105 (org-test-at-id "2d5330ea-9934-4737-9ed6-e1d3dae2dfa4"
106 (org-babel-next-src-block)
107 (should (= 23 (org-babel-execute-src-block)))))
109 (provide 'test-ob-fortran
)
111 ;;; test-ob-fortran.el ends here