1 set jshn for convenience:
3 $ [ -n "$JSHN" ] && export PATH="$(dirname "$JSHN"):$PATH"
4 $ alias jshn="valgrind --quiet --leak-check=full jshn"
9 Usage: jshn [-n] [-i] -r <message>|-R <file>|-o <file>|-p <prefix>|-w
13 Usage: jshn-san [-n] [-i] -r <message>|-R <file>|-o <file>|-p <prefix>|-w
19 Failed to parse message data
23 Failed to parse message data
28 $ jshn -r '{"foo": "bar", "baz": {"next": "meep"}}'
30 json_add_string 'foo' 'bar';
31 json_add_object 'baz';
32 json_add_string 'next' 'meep';
35 $ jshn-san -r '{"foo": "bar", "baz": {"next": "meep"}}'
37 json_add_string 'foo' 'bar';
38 json_add_object 'baz';
39 json_add_string 'next' 'meep';
44 $ echo '[]' > test.json; jshn -R test.json
45 Failed to parse message data
48 $ echo '[]' > test.json; jshn-san -R test.json
49 Failed to parse message data
53 Error opening nada.json
56 $ jshn-san -R nada.json
57 Error opening nada.json
60 $ echo '{"foo": "bar", "baz": {"next": "meep"}}' > test.json; jshn -R test.json
62 json_add_string 'foo' 'bar';
63 json_add_object 'baz';
64 json_add_string 'next' 'meep';
67 $ echo '{"foo": "bar", "baz": {"next": "meep"}}' > test.json; jshn-san -R test.json
69 json_add_string 'foo' 'bar';
70 json_add_object 'baz';
71 json_add_string 'next' 'meep';
74 test json formatting without prepared environment:
79 $ jshn-san -p procd -w
87 $ jshn-san -i -p procd -w
92 $ jshn -i -n -p procd -w
97 $ jshn-san -i -n -p procd -w
102 $ jshn -p procd -o test.json; cat test.json
105 $ jshn-san -p procd -o test.json; cat test.json
108 $ jshn -i -p procd -o test.json; cat test.json
113 $ jshn-san -i -p procd -o test.json; cat test.json
118 $ jshn -i -n -p procd -o test.json; cat test.json
123 $ jshn-san -i -n -p procd -o test.json; cat test.json
128 $ chmod oug= test.json
129 $ jshn -i -n -p procd -o test.json
130 Error opening test.json
132 $ jshn-san -i -n -p procd -o test.json
133 Error opening test.json
137 test json formatting with prepared environment:
139 $ export procdJSON_CUR=J_V
140 $ export procdJ_A3_1=/sbin/urngd
141 $ export procdJ_T1_instance1=J_T2
142 $ export procdJ_T2_command=J_A3
143 $ export procdJ_V_data=J_T5
144 $ export procdJ_V_instances=J_T1
145 $ export procdJ_V_name=urngd
146 $ export procdJ_V_script=/etc/init.d/urngd
147 $ export procdJ_V_triggers=J_A4
148 $ export procdK_J_A3=1
149 $ export procdK_J_A4=
150 $ export procdK_J_T1=instance1
151 $ export procdK_J_T2=command
152 $ export procdK_J_T5=
153 $ export procdK_J_V="name script instances triggers data"
154 $ export procdT_J_A3_1=string
155 $ export procdT_J_T1_instance1=object
156 $ export procdT_J_T2_command=array
157 $ export procdT_J_V_data=object
158 $ export procdT_J_V_instances=object
159 $ export procdT_J_V_name=string
160 $ export procdT_J_V_script=string
161 $ export procdT_J_V_triggers=array
164 { "name": "urngd", "script": "\/etc\/init.d\/urngd", "instances": { "instance1": { "command": [ "\/sbin\/urngd" ] } }, "triggers": [ ], "data": { } }
166 $ jshn-san -p procd -w
167 { "name": "urngd", "script": "\/etc\/init.d\/urngd", "instances": { "instance1": { "command": [ "\/sbin\/urngd" ] } }, "triggers": [ ], "data": { } }
169 $ jshn -i -p procd -w
171 \t"name": "urngd", (esc)
172 \t"script": "/etc/init.d/urngd", (esc)
173 \t"instances": { (esc)
174 \t\t"instance1": { (esc)
175 \t\t\t"command": [ (esc)
176 \t\t\t\t"/sbin/urngd" (esc)
180 \t"triggers": [ (esc)
188 $ jshn-san -i -p procd -w
190 \t"name": "urngd", (esc)
191 \t"script": "/etc/init.d/urngd", (esc)
192 \t"instances": { (esc)
193 \t\t"instance1": { (esc)
194 \t\t\t"command": [ (esc)
195 \t\t\t\t"/sbin/urngd" (esc)
199 \t"triggers": [ (esc)
207 $ jshn -n -i -p procd -w
209 \t"name": "urngd", (esc)
210 \t"script": "/etc/init.d/urngd", (esc)
211 \t"instances": { (esc)
212 \t\t"instance1": { (esc)
213 \t\t\t"command": [ (esc)
214 \t\t\t\t"/sbin/urngd" (esc)
218 \t"triggers": [ (esc)
226 $ jshn-san -n -i -p procd -w
228 \t"name": "urngd", (esc)
229 \t"script": "/etc/init.d/urngd", (esc)
230 \t"instances": { (esc)
231 \t\t"instance1": { (esc)
232 \t\t\t"command": [ (esc)
233 \t\t\t\t"/sbin/urngd" (esc)
237 \t"triggers": [ (esc)
245 $ jshn -p procd -o test.json; cat test.json
246 { "name": "urngd", "script": "\/etc\/init.d\/urngd", "instances": { "instance1": { "command": [ "\/sbin\/urngd" ] } }, "triggers": [ ], "data": { } }
248 $ jshn-san -p procd -o test.json; cat test.json
249 { "name": "urngd", "script": "\/etc\/init.d\/urngd", "instances": { "instance1": { "command": [ "\/sbin\/urngd" ] } }, "triggers": [ ], "data": { } }
251 $ jshn -i -p procd -o test.json; cat test.json
253 \t"name": "urngd", (esc)
254 \t"script": "/etc/init.d/urngd", (esc)
255 \t"instances": { (esc)
256 \t\t"instance1": { (esc)
257 \t\t\t"command": [ (esc)
258 \t\t\t\t"/sbin/urngd" (esc)
262 \t"triggers": [ (esc)
270 $ jshn-san -i -p procd -o test.json; cat test.json
272 \t"name": "urngd", (esc)
273 \t"script": "/etc/init.d/urngd", (esc)
274 \t"instances": { (esc)
275 \t\t"instance1": { (esc)
276 \t\t\t"command": [ (esc)
277 \t\t\t\t"/sbin/urngd" (esc)
281 \t"triggers": [ (esc)
289 $ jshn -n -i -p procd -o test.json; cat test.json
291 \t"name": "urngd", (esc)
292 \t"script": "/etc/init.d/urngd", (esc)
293 \t"instances": { (esc)
294 \t\t"instance1": { (esc)
295 \t\t\t"command": [ (esc)
296 \t\t\t\t"/sbin/urngd" (esc)
300 \t"triggers": [ (esc)
308 $ jshn-san -n -i -p procd -o test.json; cat test.json
310 \t"name": "urngd", (esc)
311 \t"script": "/etc/init.d/urngd", (esc)
312 \t"instances": { (esc)
313 \t\t"instance1": { (esc)
314 \t\t\t"command": [ (esc)
315 \t\t\t\t"/sbin/urngd" (esc)
319 \t"triggers": [ (esc)
327 $ chmod oug= test.json
328 $ jshn -n -i -p procd -o test.json
329 Error opening test.json
331 $ jshn-san -n -i -p procd -o test.json
332 Error opening test.json