emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
blob 39539dc9ff045b85671be1792065ba32478d02cd 2546 bytes (raw)
name: testing/examples/ob-shell-test.org 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
 
#+Title: a collection of examples for ob-shell tests
#+OPTIONS: ^:nil

* Sample data structures
#+NAME: sample_array
| one   |
| two   |
| three |

#+NAME: sample_mapping_table
| first  | one   |
| second | two   |
| third  | three |

#+NAME: sample_big_table
| bread     |  2 | kg |
| spaghetti | 20 | cm |
| milk      | 50 | dl |

* Array tests
  :PROPERTIES:
  :ID:       0ba56632-8dc1-405c-a083-c204bae477cf
  :END:
** Generic shell: no arrays
#+begin_src sh :exports results :results output :var array=sample_array
echo ${array}
#+end_src

#+RESULTS:
: one two three

** Bash shell: support for arrays
Bash will see a simple indexed array. In this test, we check that the
returned value is indeed only the first item of the array, as opposed to
the generic serialiation that will return all elements of the array as 
a single string.
#+begin_src bash :exports results :results output :var array=sample_array
echo ${array}
#+end_src

#+RESULTS:
: one

* Associative array tests (simple map)
  :PROPERTIES:
  :ID:       bec1a5b0-4619-4450-a8c0-2a746b44bf8d
  :END:
** Generic shell: no special handing
The shell will see all values as a single string.
#+begin_src sh :exports results :results output :var table=sample_mapping_table
echo ${table}
#+end_src

#+RESULTS:
: first one second two third three

** Bash shell: support for associative arrays
Bash will see a table that contains the first column as the 'index'
of the associative array, and the second column as the value.
#+begin_src bash :exports :results output results :var table=sample_mapping_table
echo ${table[second]}
#+end_src

#+RESULTS:
: two

* Associative array tests (more than 2 columns)
  :PROPERTIES:
  :ID:       82320a48-3409-49d7-85c9-5de1c6d3ff87
  :END:
** Generic shell: no special handing
#+begin_src sh :exports results :results output :var table=sample_big_table
echo ${table}
#+end_src

#+RESULTS:
: bread 2 kg spaghetti 20 cm milk 50 dl
   
** Bash shell: support for associative arrays with lists
Bash will see an associative array that contains each row as a single
string. Bash cannot handle lists in associative arrays.
#+begin_src bash :exports results :results output :var table=sample_big_table
echo ${table[spaghetti]}
#+end_src

#+RESULTS:
: 20 cm

* Header arg tests
  :PROPERTIES:
  :ID:       cc56f3c6-13ec-4026-9d83-3106efd833e2
  :END:

** stdin
#+name: an-org-reference
org reference line 1
org reference line 2

#+begin_src sh :stdin an-org-reference :results output
cat
#+end_src

#+RESULTS:
: org reference line 1
: org reference line 2



debug log:

solving 39539dc9f ...
found 39539dc9f in https://list.orgmode.org/orgmode/17d48f09729.ddbece82213631.8340272801066201269@excalamus.com/
found 2510f4f96 in https://git.savannah.gnu.org/cgit/emacs/org-mode.git
preparing index
index prepared:
100644 2510f4f96d00d0ed908ba58ee3fb781ba2fae88c	testing/examples/ob-shell-test.org

applying [1/1] https://list.orgmode.org/orgmode/17d48f09729.ddbece82213631.8340272801066201269@excalamus.com/
diff --git a/testing/examples/ob-shell-test.org b/testing/examples/ob-shell-test.org
index 2510f4f96..39539dc9f 100644

Checking patch testing/examples/ob-shell-test.org...
1:26: new blank line at EOF.
+
Applied patch testing/examples/ob-shell-test.org cleanly.
warning: 1 line adds whitespace errors.

index at:
100644 39539dc9ff045b85671be1792065ba32478d02cd	testing/examples/ob-shell-test.org

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).