Manually revert maint to e85080.
[org-mode.git] / testing / lisp / test-ob-fortran.el
blob8be32875799fe2e2b30dc9b10134f6eebdce20fb
1 ;;; test-ob-fortran.el --- tests for ob-fortran.el
3 ;; Copyright (c) 2010 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)))
14 load-path)))
15 (require 'org-test)
16 (require 'org-test-ob-consts))
18 (let ((load-path (cons (expand-file-name
19 "langs"
20 (expand-file-name
21 "babel"
22 (expand-file-name
23 "contrib"
24 (expand-file-name
25 ".."
26 (expand-file-name
27 ".."
28 (file-name-directory
29 (or load-file-name buffer-file-name)))))))
30 load-path)))
32 (require 'ob-fortran))
34 (ert-deftest ob-fortran/assert ()
35 (should t))
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 ()
52 "Test :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))
87 :type 'error))
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))
94 ;; :type 'error))
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))
101 ;; :type 'error))
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