Просмотр исходного кода

passing some session tests, but still failing some tests

Eric Schulte 16 лет назад
Родитель
Сommit
08f92aebe5
2 измененных файлов с 87 добавлено и 45 удалено
  1. 1 0
      lisp/langs/org-babel-ruby.el
  2. 86 45
      org-babel.org

+ 1 - 0
lisp/langs/org-babel-ruby.el

@@ -70,6 +70,7 @@ specifying a var of the same value."
 (defun org-babel-ruby-table-or-results (results)
 (defun org-babel-ruby-table-or-results (results)
   "If the results look like a table, then convert them into an
   "If the results look like a table, then convert them into an
 Emacs-lisp table, otherwise return the results as a string."
 Emacs-lisp table, otherwise return the results as a string."
+  (message "results are %s" results)
   (org-babel-read
   (org-babel-read
    (if (string-match "^\\[.+\\]$" results)
    (if (string-match "^\\[.+\\]$" results)
        (org-babel-read
        (org-babel-read

+ 86 - 45
org-babel.org

@@ -1947,6 +1947,9 @@ As an example eval the following.  Adding a line to test
 [3, 4, 5]
 [3, 4, 5]
 #+end_src
 #+end_src
 
 
+#+resname: simple-ruby-array
+| 3 | 4 | 5 |
+
 #+srcname: ruby-array-test
 #+srcname: ruby-array-test
 #+begin_src ruby :var ar = simple-ruby-array :results silent
 #+begin_src ruby :var ar = simple-ruby-array :results silent
 ar.first
 ar.first
@@ -2010,43 +2013,50 @@ org-babel functionality.
 of these tests may fail.
 of these tests may fail.
 
 
 #+TBLNAME: org-babel-tests
 #+TBLNAME: org-babel-tests
-| functionality           | block                      | arg |    expected |     results | pass |
-|-------------------------+----------------------------+-----+-------------+-------------+------|
-| basic evaluation        |                            |     |             |             | pass |
-|-------------------------+----------------------------+-----+-------------+-------------+------|
-| emacs lisp              | basic-elisp                |     |           5 |           5 | pass |
-| shell                   | basic-shell                |     |           6 |           6 | pass |
-| ruby                    | basic-ruby                 |     |   org-babel |   org-babel | pass |
-| python                  | basic-python               |     | hello world | hello world | pass |
-| R                       | basic-R                    |     |          13 |          13 | pass |
-|-------------------------+----------------------------+-----+-------------+-------------+------|
-| tables                  |                            |     |             |             | pass |
-|-------------------------+----------------------------+-----+-------------+-------------+------|
-| emacs lisp              | table-elisp                |     |           3 |           3 | pass |
-| ruby                    | table-ruby                 |     |       1-2-3 |       1-2-3 | pass |
-| python                  | table-python               |     |           5 |           5 | pass |
-| R                       | table-R                    |     |         3.5 |         3.5 | pass |
-|-------------------------+----------------------------+-----+-------------+-------------+------|
-| source block references |                            |     |             |             | pass |
-|-------------------------+----------------------------+-----+-------------+-------------+------|
-| all languages           | chained-ref-last           |     |       Array |       Array | pass |
-|-------------------------+----------------------------+-----+-------------+-------------+------|
-| source block functions  |                            |     |             |             | pass |
-|-------------------------+----------------------------+-----+-------------+-------------+------|
-| emacs lisp              | defun-fibb                 |     |       fibbd |       fibbd | pass |
-| run over                | Fibonacci                  |   0 |           1 |           1 | pass |
-| a                       | Fibonacci                  |   1 |           1 |           1 | pass |
-| variety                 | Fibonacci                  |   2 |           2 |           2 | pass |
-| of                      | Fibonacci                  |   3 |           3 |           3 | pass |
-| different               | Fibonacci                  |   4 |           5 |           5 | pass |
-| arguments               | Fibonacci                  |   5 |           8 |           8 | pass |
-|-------------------------+----------------------------+-----+-------------+-------------+------|
-| bugs and tasks          |                            |     |             |             | pass |
-|-------------------------+----------------------------+-----+-------------+-------------+------|
-| simple ruby arrays      | ruby-array-test            |     |           3 |           3 | pass |
-| R number evaluation     | bug-R-number-evaluation    |     |           2 |           2 | pass |
-| multi-line ruby blocks  | multi-line-ruby-test       |     |           2 |           2 | pass |
-| forcing vector results  | test-forced-vector-results |     |       Array |       Array | pass |
+| functionality           | block                      | arg |    expected |     results | pass                          |
+|-------------------------+----------------------------+-----+-------------+-------------+-------------------------------|
+| basic evaluation        |                            |     |             |             | pass                          |
+|-------------------------+----------------------------+-----+-------------+-------------+-------------------------------|
+| emacs lisp              | basic-elisp                |     |           5 |           5 | pass                          |
+| shell                   | basic-shell                |     |           6 |           6 | pass                          |
+| ruby                    | basic-ruby                 |     |   org-babel |   org-babel | pass                          |
+| python                  | basic-python               |     | hello world | hello world | pass                          |
+| R                       | basic-R                    |     |          13 |          13 | pass                          |
+|-------------------------+----------------------------+-----+-------------+-------------+-------------------------------|
+| tables                  |                            |     |             |             | pass                          |
+|-------------------------+----------------------------+-----+-------------+-------------+-------------------------------|
+| emacs lisp              | table-elisp                |     |           3 |           3 | pass                          |
+| ruby                    | table-ruby                 |     |       1-2-3 |       1-2-3 | pass                          |
+| python                  | table-python               |     |           5 |           5 | pass                          |
+| R                       | table-R                    |     |         3.5 |         3.5 | pass                          |
+|-------------------------+----------------------------+-----+-------------+-------------+-------------------------------|
+| source block references |                            |     |             |             | pass                          |
+|-------------------------+----------------------------+-----+-------------+-------------+-------------------------------|
+| all languages           | chained-ref-last           |     |       Array |       Array | pass                          |
+|-------------------------+----------------------------+-----+-------------+-------------+-------------------------------|
+| source block functions  |                            |     |             |             | pass                          |
+|-------------------------+----------------------------+-----+-------------+-------------+-------------------------------|
+| emacs lisp              | defun-fibb                 |     |       fibbd |       fibbd | pass                          |
+| run over                | Fibonacci                  |   0 |           1 |           1 | pass                          |
+| a                       | Fibonacci                  |   1 |           1 |           1 | pass                          |
+| variety                 | Fibonacci                  |   2 |           2 |           2 | pass                          |
+| of                      | Fibonacci                  |   3 |           3 |           3 | pass                          |
+| different               | Fibonacci                  |   4 |           5 |           5 | pass                          |
+| arguments               | Fibonacci                  |   5 |           8 |           8 | pass                          |
+|-------------------------+----------------------------+-----+-------------+-------------+-------------------------------|
+| bugs and tasks          |                            |     |             |             | pass                          |
+|-------------------------+----------------------------+-----+-------------+-------------+-------------------------------|
+| simple ruby arrays      | ruby-array-test            |     |           3 |      #ERROR | expected "3" but was "#ERROR" |
+| R number evaluation     | bug-R-number-evaluation    |     |           2 |           2 | pass                          |
+| multi-line ruby blocks  | multi-line-ruby-test       |     |           2 |           2 | pass                          |
+| forcing vector results  | test-forced-vector-results |     |       Array |       Array | pass                          |
+|-------------------------+----------------------------+-----+-------------+-------------+-------------------------------|
+| sessions                |                            |     |             |             | pass                          |
+|-------------------------+----------------------------+-----+-------------+-------------+-------------------------------|
+| set ruby session        | set-ruby-session-var       |     |        :set |        :set | pass                          |
+| get from ruby session   | get-ruby-session-var       |     |           3 |           3 | pass                          |
+| set python session      | set-python-session-var     |     |         set |         set | pass                          |
+| get from python session | get-python-session-var     |     |           4 |           4 | pass                          |
 #+TBLFM: $5='(if (= (length $3) 1) (progn (message (format "running %S" '(sbe $2 (n $3)))) (sbe $2 (n $3))) (sbe $2))::$6='(if (string= $4 $5) "pass" (format "expected %S but was %S" $4 $5))
 #+TBLFM: $5='(if (= (length $3) 1) (progn (message (format "running %S" '(sbe $2 (n $3)))) (sbe $2 (n $3))) (sbe $2))::$6='(if (string= $4 $5) "pass" (format "expected %S but was %S" $4 $5))
 
 
 ** basic tests
 ** basic tests
@@ -2164,7 +2174,7 @@ table.class.name
 (fibbd n)
 (fibbd n)
 #+end_src
 #+end_src
 
 
-** sbe tests
+** sbe tests (these don't seem to be working...)
 Testing the insertion of results into org-mode tables.
 Testing the insertion of results into org-mode tables.
 
 
 #+srcname: multi-line-output
 #+srcname: multi-line-output
@@ -2178,9 +2188,7 @@ even a third"
 #+end_src
 #+end_src
 
 
 #+resname:
 #+resname:
-: the first line ends here
-: 	     and this is the second one
-: 	return even a third
+: the first line ends here\n\n\n     and this is the second one\n\neven a third
 
 
 #+srcname: multi-line-error
 #+srcname: multi-line-error
 #+begin_src ruby :results replace
 #+begin_src ruby :results replace
@@ -2188,9 +2196,7 @@ raise "oh nooooooooooo"
 #+end_src
 #+end_src
 
 
 #+resname:
 #+resname:
-: -:5: warning: parenthesize argument(s) for future version
-: -:5:in `main': oh nooooooooooo (RuntimeError)
-: 	from -:8
+: oh nooooooooooo
 
 
 | the first line ends here... | -:5: warning: parenthesize argument(s) for future version... |
 | the first line ends here... | -:5: warning: parenthesize argument(s) for future version... |
 #+TBLFM: $1='(sbe "multi-line-output")::$2='(sbe "multi-line-error")
 #+TBLFM: $1='(sbe "multi-line-output")::$2='(sbe "multi-line-error")
@@ -2207,6 +2213,41 @@ raise "oh nooooooooooo"
 triv.class.name
 triv.class.name
 #+end_src
 #+end_src
 
 
+** sessions
+
+#+srcname: set-ruby-session-var
+#+begin_src ruby :session rb-testing
+var = [1, 2, 3]
+:set
+#+end_src
+
+#+srcname: get-ruby-session-var
+#+begin_src ruby :session rb-testing
+var.size
+#+end_src
+
+#+srcname: set-python-session-var
+#+begin_src python :session py-testing
+var=4
+'set'
+#+end_src
+
+#+srcname: get-python-session-var
+#+begin_src python :session py-testing
+var
+#+end_src
+
+#+srcname: set-R-session-var
+#+begin_src R :session R-testing
+a <- 5
+'set'
+#+end_src
+
+#+srcname: get-R-session-var
+#+begin_src R :session R-testing
+a
+#+end_src
+
 
 
 * Sandbox
 * Sandbox
   :PROPERTIES:
   :PROPERTIES:
@@ -2258,7 +2299,7 @@ of the source code block into an org table.  It's using the classic
 out...
 out...
 
 
 1. evaluate [[file:lisp/org-babel-init.el]] to load org-babel and friends
 1. evaluate [[file:lisp/org-babel-init.el]] to load org-babel and friends
-2. evaluate the transpose definition =\C-c\C-c= on the beginning of
+2. evaluate the transpose definition =\C-c\\C-c= on the beginning of
    the source block
    the source block
 3. evaluate the next source code block, this should read in the table
 3. evaluate the next source code block, this should read in the table
    because of the =:var table=previous=, then transpose the table, and
    because of the =:var table=previous=, then transpose the table, and