From cf1bb27215a46a521bb2f50d16b7dbc7441d81ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Le=20Gouguec?= Date: Thu, 28 May 2020 11:47:25 +0200 Subject: [PATCH 2/2] Add test case for symbol coercion in C Babel blocks The ORG-NEWS entry for version 9.1 suggests that this coercion was always intended, though AFAICT there was no test case for it. * testing/lisp/test-ob-C.el (ob-C/symbol-include): Check explicitly that :includes (with no double-quotes around ) will be parsed correctly. (ob-D/simple-program, ob-C/integer-var, ob-D/integer-var, ob-C/two-integer-var, ob-D/two-integer-var, ob-C/string-var, ob-D/string-var, ob-C/preprocessor): Adjust block indices. * testing/examples/ob-C-test.org (Simple tests): Add input for the new test. --- testing/examples/ob-C-test.org | 6 ++++++ testing/lisp/test-ob-C.el | 23 +++++++++++++++-------- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/testing/examples/ob-C-test.org b/testing/examples/ob-C-test.org index 0faf630b9..347607cae 100644 --- a/testing/examples/ob-C-test.org +++ b/testing/examples/ob-C-test.org @@ -10,6 +10,12 @@ return 0; #+end_src +#+source: simple +#+begin_src cpp :includes :results silent + std::cout << 42; + return 0; +#+end_src + #+source: simple #+begin_src D :results silent writefln ("%s", 42); diff --git a/testing/lisp/test-ob-C.el b/testing/lisp/test-ob-C.el index 3e4a63f88..6b6b728a2 100644 --- a/testing/lisp/test-ob-C.el +++ b/testing/lisp/test-ob-C.el @@ -32,60 +32,67 @@ (org-babel-next-src-block 1) (should (= 42 (org-babel-execute-src-block)))))) +(ert-deftest ob-C/symbol-include () + "Hello world program with unquoted :includes." + (if (executable-find org-babel-C++-compiler) + (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" + (org-babel-next-src-block 2) + (should (= 42 (org-babel-execute-src-block)))))) + (ert-deftest ob-D/simple-program () "Hello world program." (if (executable-find org-babel-D-compiler) (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" - (org-babel-next-src-block 2) + (org-babel-next-src-block 3) (should (= 42 (org-babel-execute-src-block)))))) (ert-deftest ob-C/integer-var () "Test of an integer variable." (if (executable-find org-babel-C++-compiler) (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" - (org-babel-next-src-block 3) + (org-babel-next-src-block 4) (should (= 12 (org-babel-execute-src-block)))))) (ert-deftest ob-D/integer-var () "Test of an integer variable." (if (executable-find org-babel-D-compiler) (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" - (org-babel-next-src-block 4) + (org-babel-next-src-block 5) (should (= 12 (org-babel-execute-src-block)))))) (ert-deftest ob-C/two-integer-var () "Test of two input variables" (if (executable-find org-babel-C++-compiler) (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" - (org-babel-next-src-block 5) + (org-babel-next-src-block 6) (should (= 22 (org-babel-execute-src-block)))))) (ert-deftest ob-D/two-integer-var () "Test of two input variables" (if (executable-find org-babel-D-compiler) (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" - (org-babel-next-src-block 6) + (org-babel-next-src-block 7) (should (= 22 (org-babel-execute-src-block)))))) (ert-deftest ob-C/string-var () "Test of a string input variable" (if (executable-find org-babel-C++-compiler) (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" - (org-babel-next-src-block 7) + (org-babel-next-src-block 8) (should (equal "word 4" (org-babel-execute-src-block)))))) (ert-deftest ob-D/string-var () "Test of a string input variable" (if (executable-find org-babel-D-compiler) (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" - (org-babel-next-src-block 8) + (org-babel-next-src-block 9) (should (equal "word 4" (org-babel-execute-src-block)))))) (ert-deftest ob-C/preprocessor () "Test of a string variable" (if (executable-find org-babel-C++-compiler) (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" - (org-babel-next-src-block 9) + (org-babel-next-src-block 10) (should (= 42 (org-babel-execute-src-block)))))) (ert-deftest ob-C/table () -- 2.17.1