Results for gemini.test.sh

statusoshosh-cpp
pass 341341
FAIL 6363
total404404
caseoshosh-cppdescription
0pass pass 3.1.2.2 Single Quotes
1pass pass 3.1.2.3 Double Quotes
2pass pass 3.1.2.4 ANSI-C Quoting
3pass pass 3.1.2.4 ANSI-C Quoting (Unicode)
4pass pass 3.2.3 Pipelines (Basic)
5pass pass 3.2.3 Pipelines (Negation)
6pass pass 3.2.3 Pipelines (Pipefail)
7pass pass 3.2.4 Lists (AND Lists)
8pass pass 3.2.4 Lists (OR Lists)
9pass pass 3.2.5.1 Looping Constructs (for)
10pass pass 3.2.5.1 Looping Constructs (while)
11pass pass 3.2.5.1 Looping Constructs (break)
12pass pass 3.2.5.2 Conditional Constructs (if/elif/else)
13pass pass 3.2.5.2 Conditional Constructs (case)
14pass pass 3.2.5.3 Grouping Commands ()
15pass pass 3.2.5.3 Grouping Commands {}
16pass pass 3.4.1 Positional Parameters
17pass pass 3.4.2 Special Parameters ($@ vs $*)
18pass pass 3.4.2 Special Parameters ($?)
19pass pass 3.5.1 Brace Expansion
20pass pass 3.5.1 Brace Expansion (Nested)
21pass pass 3.5.3 Parameter Expansion (Default Values)
22pass pass 3.5.3 Parameter Expansion (String Length)
23pass pass 3.5.3 Parameter Expansion (Substring Removal)
24pass pass 3.5.4 Command Substitution
25pass pass 3.5.5 Arithmetic Expansion
26pass pass 3.5.6 Process Substitution (Output)
27pass pass 3.6.2 Redirecting Output
28pass pass 3.6.3 Appending Output
29pass pass 3.6.4 Redirecting Stdout and Stderr
30pass pass 3.6.6 Here Documents
31pass pass 3.6.7 Here Strings
32pass pass 3.1.2.2 Single Quotes
33pass pass 3.1.2.3 Double Quotes
34pass pass 3.1.2.4 ANSI-C Quoting
35pass pass 3.2.4 Lists (AND/OR)
36pass pass 3.2.5.1 Looping (for)
37pass pass 3.2.5.1 Looping (while)
38pass pass 3.2.5.2 Conditional (if)
39pass pass 3.2.5.2 Conditional (case)
40pass pass 3.5.1 Brace Expansion
41pass pass 3.5.3 Parameter Expansion (Default)
42pass pass 3.5.3 Parameter Expansion (Strip)
43pass pass 3.5.4 Command Substitution
44pass pass 3.5.5 Arithmetic Expansion
45pass pass 3.6 Redirection (Output)
46pass pass 3.6 Redirection (Here Doc)
47pass pass 4.1 Bourne Builtins: cd and pwd
48pass pass 4.1 Bourne Builtins: eval
49pass pass 4.1 Bourne Builtins: export
50pass pass 4.1 Bourne Builtins: read
51pass pass 4.1 Bourne Builtins: set
52pass pass 4.1 Bourne Builtins: shift
53FAIL FAIL 4.1 Bourne Builtins: trap
detailsdetails
54pass pass 4.1 Bourne Builtins: unset
55pass pass 4.2 Bash Builtins: alias
56pass pass 4.2 Bash Builtins: command
57pass pass 4.2 Bash Builtins: printf
58pass pass 4.2 Bash Builtins: type
59pass pass 5.1 Bourne Variables: IFS
60FAIL FAIL 5.2 Bash Variables: RANDOM
detailsdetails
61pass pass 5.2 Bash Variables: PIPESTATUS
62pass pass 6.4 Conditional Expressions [[ ]]
63pass pass 6.4 Conditional Expressions [[ ]] (Pattern Matching)
64pass pass 6.4 Conditional Expressions [[ ]] (Logical Ops)
65pass pass 6.5 Shell Arithmetic (( ))
66pass pass 6.5 Shell Arithmetic (Ternary)
67pass pass 6.7 Arrays (Indexed)
68pass pass 6.7 Arrays (Compound Assignment)
69pass pass 6.7 Arrays (Length)
70pass pass 6.7 Arrays (Slicing)
71pass pass 6.7 Arrays (Append)
72pass pass 6.12 Shell Compatibility (Process Substitution)
73pass pass 3.1.2.1 Escape Character
74pass pass 3.1.2.1 Escape Character (Newline)
75pass pass 3.1.2.2 Single Quotes (Concatenation)
76pass pass 3.1.2.3 Double Quotes (Variables)
77pass pass 3.1.2.3 Double Quotes (Command Sub)
78pass pass 3.1.2.3 Double Quotes (Positional)
79pass pass 3.1.2.4 ANSI-C Quoting (Alert/Backspace)
80pass pass 3.2.4 Lists (Sequence)
81pass pass 3.2.4 Lists (Asynchronous &)
82pass pass 3.2.4 Lists (AND && Chain)
83pass pass 3.2.4 Lists (OR || Chain)
84pass pass 3.2.4 Lists (Mixed && ||)
85pass pass 3.2.4 Lists (Precedence)
86pass pass 3.2.5.1 Looping (C-style for)
87pass pass 3.2.5.1 Looping (nested)
88pass pass 3.2.5.1 Looping (break N)
89pass pass 3.2.5.1 Looping (continue)
90pass pass 3.2.5.2 Conditional (if-elif-elif-else)
91pass pass 3.2.5.2 Conditional (case patterns)
92pass pass 3.2.5.2 Conditional (case fallthrough ;&)
93pass pass 3.5.1 Brace Expansion (Sequence)
94pass pass 3.5.1 Brace Expansion (Sequence Stride)
95pass pass 3.5.1 Brace Expansion (Sequence Reverse)
96pass pass 3.5.1 Brace Expansion (Zero Padding)
97pass pass 3.5.1 Brace Expansion (Preamble/Postscript)
98pass pass 3.5.3 Expansion (Use Default Values :-)
99pass pass 3.5.3 Expansion (Assign Default Values :=)
100FAIL FAIL 3.5.3 Expansion (Error if Unset :?)
detailsdetails
101pass pass 3.5.3 Expansion (Use Alternate Value :+)
102pass pass 3.5.3 Expansion (String Length #${})
103pass pass 3.5.3 Expansion (Remove Prefix # / ##)
104pass pass 3.5.3 Expansion (Remove Suffix % / %%)
105pass pass 3.5.3 Expansion (Substring :offset)
106pass pass 3.5.3 Expansion (Substring :offset:length)
107pass pass 3.5.3 Expansion (Pattern Replace /)
108pass pass 3.5.3 Expansion (Global Replace //)
109pass pass 3.5.3 Expansion (Anchored Replace # and %)
110pass pass 3.5.3 Expansion (Case Modification ^ and ,)
111pass pass 3.5.5 Arithmetic (Pre-increment)
112pass pass 3.5.5 Arithmetic (Post-increment)
113pass pass 3.5.5 Arithmetic (Bitwise)
114pass pass 3.5.5 Arithmetic (Logic)
115pass pass 3.5.5 Arithmetic (Comma Operator)
116pass pass 4.1 Bourne Builtins: cd (Relative)
117pass pass 4.1 Bourne Builtins: eval (Double Parse)
118pass pass 4.1 Bourne Builtins: exec (Redirection)
119pass pass 4.1 Bourne Builtins: exit
120pass pass 4.1 Bourne Builtins: export (Assignment)
121pass pass 4.1 Bourne Builtins: read (Backslash)
122pass pass 4.1 Bourne Builtins: read -r (Raw)
123pass pass 4.1 Bourne Builtins: shift (Multiple)
124FAIL FAIL 4.1 Bourne Builtins: trap (INT)
detailsdetails
125FAIL FAIL 4.2 Bash Builtins: declare
detailsdetails
126pass pass 4.2 Bash Builtins: declare (Read Only)
127pass pass 4.2 Bash Builtins: local
128pass pass 4.2 Bash Builtins: printf (Formatting)
129FAIL FAIL 4.2 Bash Builtins: shopt (globstar)
detailsdetails
130FAIL FAIL 5.2 Bash Variables: RANDOM (Check)
detailsdetails
131pass pass 5.2 Bash Variables: SECONDS
132pass pass 5.2 Bash Variables: UID
133pass pass 6.3.3 Interactive: set -o pipefail
134pass pass 6.7 Arrays (Indexed - Assignment)
135pass pass 6.7 Arrays (All Elements @)
136pass pass 6.7 Arrays (Element Count #)
137pass pass 6.7 Arrays (Slicing)
138pass pass 6.7 Arrays (Append +=)
139FAIL FAIL 6.7 Arrays (Associative)
detailsdetails
140FAIL FAIL 6.7 Arrays (Associative Keys)
detailsdetails
141pass pass 6.4 [[ ]] (Not !)
142pass pass 6.4 [[ ]] (And &&)
143pass pass 6.4 [[ ]] (Or ||)
144pass pass 6.4 [[ ]] (Numerical Compare)
145pass pass 6.4 [[ ]] (Regex Match =~ )
146pass pass 6.4 [[ ]] (Regex Capture)
147pass pass 3.2.5.2 Function Definition (Standard)
148pass pass 3.2.5.2 Function Definition (function keyword)
149pass pass 3.5.6 Process Substitution (Input)
150pass pass 3.5.6 Process Substitution (Output)
151pass pass 3.6.8 Duplicating File Descriptors
152pass pass 3.6.8 Closing File Descriptors
153pass pass 3.6.9 Moving File Descriptors
154pass pass 3.6.10 Opening File Descriptors for Reading and Writing
155pass pass 3.7.1 Simple Command Expansion (Variable Assignment)
156pass pass 3.7.4 Environment
157pass pass 3.7.5 Exit Status
158pass pass 4.1 Bourne Builtins: getopts
159pass pass 4.1 Bourne Builtins: umask
160pass pass 4.2 Bash Builtins: mapfile / readarray
161pass pass 4.2 Bash Builtins: hash
162pass pass 4.3.1 The Set Builtin: -u (nounset)
163pass pass 4.3.1 The Set Builtin: -C (noclobber)
164pass pass 4.3.2 The Shopt Builtin
165pass pass 5.3 Shell Parameter Expansion (Indirect ${!v})
166pass pass 5.3 Shell Parameter Expansion (Nameref declare -n)
167pass pass 6.3.2 Is this Shell Interactive?
168pass pass 6.6 Aliases
169pass pass 6.8 The Directory Stack (pushd/popd)
170pass pass B.1 SVR4.2 Differences (func def)
171FAIL FAIL B.1 SVR4.2 Differences (Select)
detailsdetails
172pass pass B.1 SVR4.2 Differences (Time)
173pass pass B.1 SVR4.2 Differences (Negation !)
174pass pass 3.5.7 Word Splitting (Standard IFS)
175pass pass 3.5.7 Word Splitting (Custom IFS)
176pass pass 3.5.7 Word Splitting (Null IFS)
177pass pass 3.5.7 Word Splitting (Empty leading/trailing)
178pass pass 3.5.8.1 Pattern Matching (*)
179pass pass 3.5.8.1 Pattern Matching (?)
180pass pass 3.5.8.1 Pattern Matching ([...])
181pass pass 3.5.9 Quote Removal
182pass pass 4.2 Bash Builtins: read -a (Array)
183pass pass 4.2 Bash Builtins: read -d (Delimiter)
184pass pass 4.2 Bash Builtins: printf -v (Variable Assign)
185pass pass 4.2 Bash Builtins: source (vs .)
186pass pass 4.2 Bash Builtins: unset -v vs -f
187pass pass 6.4 File Operators (-e -f -d)
188pass pass 6.4 File Operators (-s)
189pass pass 6.4 File Operators (-nt Newer Than)
190pass pass 6.4 String Operators (< > Sort)
191pass pass 6.5 Arithmetic Constants (Octal)
192pass pass 6.5 Arithmetic Constants (Hex)
193FAIL FAIL 6.5 Arithmetic Constants (Base#)
detailsdetails
194pass pass 6.10 Restricted Shell (readonly)
195pass pass 7.3 Job Control Variables ($!)
196pass pass 3.2.5.2 Case Statement (resume ;;&)
197pass pass 3.6.4 Redirecting Stdout and Stderr (&>)
198pass pass 3.6.6 Here Documents (Stripping Tabs <<-)
199pass pass 4.1 Bourne Builtins: break (Nested)
200pass pass 4.1 Bourne Builtins: continue (Nested)
201pass pass 4.1 Bourne Builtins: return
202pass pass 4.1 Bourne Builtins: return (Implicit Status)
203pass pass 4.2 Bash Builtins: builtin
204pass pass 4.2 Bash Builtins: local (Scoping)
205pass pass 4.2 Bash Builtins: read (Default REPLY)
206pass pass 4.3.1 The Set Builtin (-f Noglob)
207FAIL FAIL 5.2 Bash Variables: BASH_SUBSHELL
detailsdetails
208pass pass 5.2 Bash Variables: LINENO
209pass pass 5.2 Bash Variables: SHLVL
210pass pass 6.7 Arrays (Sparse)
211pass pass 6.7 Arrays (Unset Element)
212pass pass 6.7 Arrays (Keys ${!name[@]})
213pass pass 3.5.8.1 Pattern Matching (Negation [!])
214pass pass 3.5.8.1 Pattern Matching (Negation ^)
215pass pass 3.5.8.1 Extglob: ?(pattern-list)
216pass pass 3.5.8.1 Extglob: *(pattern-list)
217pass pass 3.5.8.1 Extglob: +(pattern-list)
218pass pass 3.5.8.1 Extglob: @(pattern-list)
219pass pass 3.5.8.1 Extglob: !(pattern-list)
220pass pass 6.5 Arithmetic: Exponentiation (**)
221pass pass 6.5 Arithmetic: Assignment Operators (+=, -=, *=, /=)
222pass pass 6.5 Arithmetic: Remainder (%)
223pass pass 6.5 Arithmetic: Precedence
224pass pass 3.7.2 Command Precedence (Function overrides Builtin)
225pass pass 3.7.2 Command Precedence (Builtin overrides PATH)
226pass pass 3.5.3 Expansion: Indirect Prefix List (${!prefix*})
227pass pass 3.5.3 Expansion: Indirect Prefix List (${!prefix@})
228pass pass 4.2 Bash Builtins: printf %q (Shell Quote)
229pass pass 4.2 Bash Builtins: printf %b (Backslash Expand)
230pass pass 6.4 Conditional: Variable Set (-v)
231pass pass 6.4 Conditional: String Length (-n vs -z)
232pass pass 3.1.2.4 ANSI-C Quoting (Empty String)
233pass pass 3.4.2 Special Parameters: "$@" vs "$*" with Custom IFS
234pass pass 3.4.2 Special Parameters: "$*" with Empty IFS
235pass pass 3.4.2 Special Parameters: "$*" with Multichar IFS
236pass pass 6.7 Arrays: Expansion with IFS (Unquoted)
237pass pass 6.7 Arrays: Expansion with IFS (Quoted [*])
238pass pass 6.7 Arrays: Expansion with IFS (Quoted [@])
239pass pass 6.7 Arrays: Sparse Expansion
240pass pass 4.2 Local Variable: Dynamic Scoping
241pass pass 4.2 Local Variable: Shadowing
242pass pass 4.2 Local Variable: Nested Shadowing
243pass pass 4.2 Local Variable: Unset Local
244pass pass 4.2 Local Variable: Unset -v (Function name conflict)
245pass pass 4.3.1 Set -u: Array Length (Empty)
246FAIL FAIL 4.3.1 Set -u: Array Expansion (Empty)
detailsdetails
247pass pass 4.3.1 Set -u: Positional Parameters
248pass pass 4.3.1 Set -u: Default Value Expansion
249pass pass 3.5.3 Expansion: Substring with negative offset (Space requirement)
250pass pass 3.5.3 Expansion: Pattern Replace (Greedy vs Non-Greedy)
251FAIL FAIL 3.5.3 Expansion: Case Toggle (~~)
detailsdetails
252pass pass 6.4 Conditional: Compound Logic precedence
253pass pass 6.4 Conditional: Grouping ( ) inside [[ ]]
254pass pass 6.4 Conditional: Comparison of Numbers vs Strings
255pass pass 3.7.3 Environment (Subshell Inheritance)
256pass pass 3.7.3 Environment (fd inheritance)
257FAIL FAIL 4.1 Builtins: trap (RETURN)
detailsdetails
258pass pass 4.1 Builtins: trap (DEBUG)
259pass pass 4.1 Builtins: wait -n
260FAIL FAIL 4.2 Builtins: caller
detailsdetails
261pass pass 4.2 Builtins: command -p
262pass pass 4.2 Builtins: command -v vs -V
263FAIL FAIL 4.2 Builtins: help -d
detailsdetails
264FAIL FAIL 4.2 Builtins: mapfile -C (Callback)
detailsdetails
265pass pass 4.2 Builtins: printf -v (Array Assignment)
266FAIL FAIL 4.2 Builtins: type -a
detailsdetails
267pass pass 4.2 Builtins: ulimit (Syntax)
268FAIL FAIL 6.2 Bash Startup Files (BASH_ENV)
detailsdetails
269pass pass 6.3.3 Interactive Shell Behavior (PROMPT_COMMAND)
270FAIL FAIL 6.10 The Restricted Shell (cd)
detailsdetails
271FAIL FAIL 6.10 The Restricted Shell (Redirection)
detailsdetails
272pass pass 6.11 POSIX Mode (Assignment preceding special builtin)
273FAIL FAIL 3.5.2 Tilde Expansion (~+)
detailsdetails
274FAIL FAIL 3.5.2 Tilde Expansion (~-)
detailsdetails
275FAIL FAIL 4.1 Builtins: cd (CDPATH)
detailsdetails
276FAIL FAIL 4.2 Builtins: read -t (Timeout)
detailsdetails
277pass pass 4.2 Builtins: read -n (Nchars)
278FAIL FAIL 4.2 Builtins: disown
detailsdetails
279pass pass 4.3.2 Shopt: dotglob
280FAIL FAIL 4.3.2 Shopt: nocaseglob
detailsdetails
281pass pass 4.3.2 Shopt: failglob
282FAIL FAIL 4.3.2 Shopt: xpg_echo
detailsdetails
283pass pass 4.1 Builtins: trap (ERR)
284pass pass 3.5.3 Parameter Expansion (Transformation @Q)
285pass pass 3.5.3 Parameter Expansion (Case Modification)
286pass pass 3.5.8.1 Pattern Matching: [[:digit:]]
287pass pass 3.5.8.1 Pattern Matching: [[:alnum:]]
288pass pass 3.5.8.1 Pattern Matching: [[:space:]]
289pass pass 6.5 Arithmetic: Post-increment Side Effect
290pass pass 6.5 Arithmetic: Pre-increment Side Effect
291pass pass 6.5 Arithmetic: Comma Operator Side Effects
292FAIL FAIL 3.5.3 Expansion: Transform @E (Escape)
detailsdetails
293pass pass 3.5.3 Expansion: Transform @P (Prompt)
294FAIL FAIL 3.5.3 Expansion: Transform @A (Assignment)
detailsdetails
295FAIL FAIL 6.9 Prompt: PROMPT_DIRTRIM
detailsdetails
296pass pass 6.9 Prompt: PS4 (Trace Prompt)
297FAIL FAIL 4.3.2 Shopt: shift_verbose
detailsdetails
298FAIL FAIL 4.3.2 Shopt: sourcepath
detailsdetails
299pass pass 3.6.9 Moving FD (Digit-Dash Syntax)
300pass pass 4.2 Builtins: printf Time Formatting (%(...)T)
301pass pass 4.2 Builtins: printf Time (-1 Current Time)
302pass pass 4.2 Builtins: printf Time (No Argument)
303FAIL FAIL 6.8 Directory Stack: pushd +n (Rotate Left)
detailsdetails
304FAIL FAIL 6.8 Directory Stack: popd -n (Remove from right)
detailsdetails
305pass pass 3.5.6 Process Substitution: >(list)
306FAIL FAIL 3.3 Functions: export -f
detailsdetails
307pass pass 3.3 Functions: unset -f
308pass pass 6.7 Arrays: Slicing with Negative Offset
309FAIL FAIL 5.2 Bash Variables: BASH_VERSINFO
detailsdetails
310FAIL FAIL 5.2 Bash Variables: GROUPS
detailsdetails
311pass pass 5.2 Bash Variables: HOSTNAME
312pass pass 4.2 Builtins: read -N (Exact chars)
313pass pass 4.2 Builtins: read -a (IFS splitting)
314pass pass 4.2 Builtins: read (Line Continuation)
315FAIL FAIL 9.3 History Expansion (Scripted)
detailsdetails
316FAIL FAIL 4.2 Builtins: fc -l (List)
detailsdetails
317pass pass 3.5.3 Expansion: Indirect (${!var})
318pass pass 3.5.3 Expansion: Indirect Array (Scalar)
319pass pass 3.5.3 Expansion: Indirect Array (Full)
320pass pass 6.4 Conditional: [[ -v array[index] ]]
321FAIL FAIL 6.4 Conditional: [[ -R var ]] (Nameref)
detailsdetails
322FAIL FAIL 4.3.2 Shopt: globstar (Limit)
detailsdetails
323pass pass 6.5 Arithmetic: Base 64
324pass pass 6.5 Arithmetic: Arbitrary Base (Base 2)
325FAIL FAIL 6.5 Arithmetic: Arbitrary Base (Base 36)
detailsdetails
326pass pass 6.7 Arrays: Associative Append (+=)
327FAIL FAIL 6.7 Arrays: Unset Associative Element
detailsdetails
328pass pass 5.2 Bash Variables: FUNCNAME
329pass pass 5.2 Bash Variables: BASH_SOURCE
330pass pass 4.1 Builtins: times
331pass pass 3.2.4 Lists: Group Command Exit Status
332pass pass 3.5.3 Expansion: Array Pattern Replace
333pass pass 3.5.3 Expansion: Array Case Modification
334pass pass 3.5.3 Expansion: Array Substring
335pass pass 4.2 Builtins: printf Width and Alignment
336pass pass 4.2 Builtins: printf Precision (String)
337pass pass 4.2 Builtins: printf Precision (Integer)
338pass pass 4.2 Builtins: printf Hex/Octal Output
339pass pass 4.3.1 Set: -a (allexport)
340FAIL FAIL 4.3.1 Set: -a (allexport function)
detailsdetails
341pass pass 4.3.2 Shopt: nullglob
342pass pass 4.1 Builtins: test vs [[ (Word Splitting)
343pass pass 4.1 Builtins: test (Numeric)
344pass pass 3.4.2 Special Parameters: $_ (Last Argument)
345pass pass 6.5 Arithmetic: Bitwise Negation (~)
346pass pass 6.5 Arithmetic: Logical NOT (!)
347pass pass 6.5 Arithmetic: Conditional Operator (?:) - Associativity
348FAIL FAIL 4.1 Builtins: getopts (Silent Reporting)
detailsdetails
349FAIL FAIL 4.1 Builtins: getopts (Missing Argument)
detailsdetails
350FAIL FAIL 4.1 Builtins: trap (Ignore Signal)
detailsdetails
351pass pass 4.1 Builtins: trap (Reset Signal)
352pass pass 4.2 Builtins: type -t (Types)
353pass pass 4.2 Builtins: type -P (Path force)
354pass pass 6.4 Conditional: [[ string ]] (Non-empty)
355pass pass 3.5.7 Word Splitting: IFS whitespace behavior
356pass pass 3.5.7 Word Splitting: IFS non-whitespace behavior
357FAIL FAIL 4.2 Builtins: declare -i (Integer)
detailsdetails
358FAIL FAIL 4.2 Builtins: declare -i (Reference)
detailsdetails
359FAIL FAIL 4.2 Builtins: declare -u (Uppercase)
detailsdetails
360FAIL FAIL 4.2 Builtins: declare -l (Lowercase)
detailsdetails
361pass pass 4.2 Builtins: declare -x (Export)
362pass pass 4.2 Builtins: declare +x (Remove Attribute)
363pass pass 4.3.2 Shopt: nocasematch (Case Statement)
364pass pass 4.3.2 Shopt: nocasematch ([[ ... ]])
365FAIL FAIL 6.5 Arithmetic: Unary Plus/Minus
detailsdetails
366pass pass 6.5 Arithmetic: Logical vs Bitwise Precedence
367pass pass 6.5 Arithmetic: Ternary Associativity
368pass pass 3.7.4 Environment: Command-local assignment
369FAIL FAIL 3.7.4 Environment: Function-local assignment persistence
detailsdetails
370pass pass 3.5.3 Expansion: Replace Anchored Start (#)
371pass pass 3.5.3 Expansion: Replace Anchored End (%)
372pass pass 3.5.3 Expansion: Replace Empty Pattern
373pass pass 4.1 Builtins: readonly (Assignment)
374pass pass 4.1 Builtins: readonly (Unset)
375pass pass 4.1 Builtins: readonly -p
376pass pass 4.1 Builtins: shift (Overflow)
377pass pass 4.1 Builtins: shift (Zero)
378FAIL FAIL 4.2 Builtins: let (Arithmetic)
detailsdetails
379pass pass 5.2 Bash Variables: BASH_CMDS (Hash Table)
380pass pass 4.1 Builtins: pwd -L vs -P
381pass pass 5.2 Bash Variables: OLDPWD
382pass pass 4.3.1 Set: -x (xtrace)
383FAIL FAIL 4.2 Builtins: enable -n (Disable Builtin)
detailsdetails
384FAIL FAIL 4.2 Builtins: enable -a (List)
detailsdetails
385FAIL FAIL 4.2 Builtins: typeset (Synonym)
detailsdetails
386pass pass 4.1 Builtins: eval (Nested Quoting)
387pass pass 4.1 Builtins: eval (Single Quotes inside Double)
388pass pass 4.2 Builtins: kill -l (List Signals)
389FAIL FAIL 4.2 Builtins: kill -l (Exit Status Conversion)
detailsdetails
390FAIL FAIL 5.2 Bash Variables: TIMEFORMAT
detailsdetails
391pass pass 6.4 Conditional: -o option (Legacy Check)
392pass pass 3.5.3 Expansion: Substring of Unset Variable
393pass pass 3.5.3 Expansion: Substring of Empty String
394FAIL FAIL 3.2.3 Pipelines: Variable Persistence
detailsdetails
395FAIL FAIL 3.2.3 Pipelines: While Loop Side Effects
detailsdetails
396pass pass 3.2.5.1 For Loop: Variable Scope
397pass pass 3.2.5.1 For Loop: Empty List
398pass pass 3.5 Expansion: Glob Result implies no further expansion
399pass pass 3.5 Expansion: Indirection Loop
400pass pass 4.2 Builtins: unalias -a
401pass pass 6.4 Conditional: [[ -f ]] Ambiguity
402pass pass 6.4 Conditional: [ ] with single argument
403pass pass 3.2.5.3 Grouping: Redirection on Group
682 passed, 0 OK, 0 not implemented, 0 BUG, 63 failed, 0 timeouts, 0 cases skipped
63 failed under osh

Details on runs that didn't PASS

osh53 4.1 Bourne Builtins: trap

[osh stdout] Expected 'running\nexiting\n' Got 'running\n'

stdout:
running
stderr:
osh-cpp53 4.1 Bourne Builtins: trap

[osh-cpp stdout] Expected 'running\nexiting\n' Got 'running\n'

stdout:
running
stderr:
osh60 5.2 Bash Variables: RANDOM

[osh stdout] Expected 'integers\n' Got ''

stdout:
stderr: 
osh-cpp60 5.2 Bash Variables: RANDOM

[osh-cpp stdout] Expected 'integers\n' Got ''

stdout:
stderr: 
osh100 3.5.3 Expansion (Error if Unset :?)

[osh stdout] Expected 'error_msg\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
  ( unset v; echo "${v:?error_msg}" ) 2>&1 | grep -o "error_msg"
                     ^
[ stdin ]:1: fatal: Var v is unset: 'error_msg'
osh-cpp100 3.5.3 Expansion (Error if Unset :?)

[osh-cpp stdout] Expected 'error_msg\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
  ( unset v; echo "${v:?error_msg}" ) 2>&1 | grep -o "error_msg"
                     ^
[ stdin ]:1: fatal: Var v is unset: 'error_msg'
osh124 4.1 Bourne Builtins: trap (INT)

[osh stdout] Expected 'caught\n' Got ''

stdout:
stderr: 
osh-cpp124 4.1 Bourne Builtins: trap (INT)

[osh-cpp stdout] Expected 'caught\n' Got ''

stdout:
stderr: 
osh125 4.2 Bash Builtins: declare

[osh stdout] Expected '15\n' Got '10+5\n'

stdout:
10+5
stderr:
  declare -i integer
  ^~~~~~~
[ stdin ]:1: 'declare' doesn't implement flag -i (shopt --set ignore_flags_not_impl)
osh-cpp125 4.2 Bash Builtins: declare

[osh-cpp stdout] Expected '15\n' Got '10+5\n'

stdout:
10+5
stderr:
  declare -i integer
  ^~~~~~~
[ stdin ]:1: 'declare' doesn't implement flag -i (shopt --set ignore_flags_not_impl)
osh129 4.2 Bash Builtins: shopt (globstar)

[osh stdout] Expected 'set\nunset\n' Got 'unset\n'

stdout:
unset
stderr:
  shopt -s globstar
  ^~~~~
[ stdin ]:1: 'shopt' got invalid option 'globstar'
  shopt -u globstar
  ^~~~~
[ stdin ]:3: 'shopt' got invalid option 'globstar'
osh-cpp129 4.2 Bash Builtins: shopt (globstar)

[osh-cpp stdout] Expected 'set\nunset\n' Got 'unset\n'

stdout:
unset
stderr:
  shopt -s globstar
  ^~~~~
[ stdin ]:1: 'shopt' got invalid option 'globstar'
  shopt -u globstar
  ^~~~~
[ stdin ]:3: 'shopt' got invalid option 'globstar'
osh130 5.2 Bash Variables: RANDOM (Check)

[osh stdout] Expected 'ok\n' Got 'collision\n'

stdout:
collision
stderr:
osh-cpp130 5.2 Bash Variables: RANDOM (Check)

[osh-cpp stdout] Expected 'ok\n' Got 'collision\n'

stdout:
collision
stderr:
osh139 6.7 Arrays (Associative)

[osh stdout] Expected 'value\nbar\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
  dict[key]="value"
  ^~~~~
[ stdin ]:2: fatal: Assoc array keys must be strings: $x 'x' "$x" etc. (OILS-ERR-101)
osh-cpp139 6.7 Arrays (Associative)

[osh-cpp stdout] Expected 'value\nbar\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
  dict[key]="value"
  ^~~~~
[ stdin ]:2: fatal: Assoc array keys must be strings: $x 'x' "$x" etc. (OILS-ERR-101)
osh140 6.7 Arrays (Associative Keys)

[osh stdout] Expected 'a\nb\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
  dict[a]=1
  ^~~~~
[ stdin ]:2: fatal: Assoc array keys must be strings: $x 'x' "$x" etc. (OILS-ERR-101)
osh-cpp140 6.7 Arrays (Associative Keys)

[osh-cpp stdout] Expected 'a\nb\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
  dict[a]=1
  ^~~~~
[ stdin ]:2: fatal: Assoc array keys must be strings: $x 'x' "$x" etc. (OILS-ERR-101)
osh171 B.1 SVR4.2 Differences (Select)

[osh stdout] Expected 'one\n' Got ''
[osh status] Expected 0 Got 2

stdout:
stderr: 
  select i in one; do echo $i; break; done <<EOF
                   ^~
[ stdin ]:1: Unexpected word when parsing command
osh-cpp171 B.1 SVR4.2 Differences (Select)

[osh-cpp stdout] Expected 'one\n' Got ''
[osh-cpp status] Expected 0 Got 2

stdout:
stderr: 
  select i in one; do echo $i; break; done <<EOF
                   ^~
[ stdin ]:1: Unexpected word when parsing command
osh193 6.5 Arithmetic Constants (Base#)

[osh stdout] Expected '5\n10\n' Got '5\n0\n'

stdout:
5
0
stderr:
osh-cpp193 6.5 Arithmetic Constants (Base#)

[osh-cpp stdout] Expected '5\n10\n' Got '5\n0\n'

stdout:
5
0
stderr:
osh207 5.2 Bash Variables: BASH_SUBSHELL

[osh stdout] Expected '0\n1\n' Got '\n\n'

stdout:

stderr:
osh-cpp207 5.2 Bash Variables: BASH_SUBSHELL

[osh-cpp stdout] Expected '0\n1\n' Got '\n\n'

stdout:

stderr:
osh246 4.3.1 Set -u: Array Expansion (Empty)

[osh stdout] Expected 'ok\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
  for x in "${a[@]}"; do
              ^
[ stdin ]:3: fatal: Undefined array 'a'
osh-cpp246 4.3.1 Set -u: Array Expansion (Empty)

[osh-cpp stdout] Expected 'ok\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
  for x in "${a[@]}"; do
              ^
[ stdin ]:3: fatal: Undefined array 'a'
osh251 3.5.3 Expansion: Case Toggle (~~)

[osh stdout] Expected 'aBcD\n' Got ''
[osh status] Expected 0 Got 2

stdout:
stderr: 
  echo "${v~~}"
           ^
[ stdin ]:2: Expected } to close ${
osh-cpp251 3.5.3 Expansion: Case Toggle (~~)

[osh-cpp stdout] Expected 'aBcD\n' Got ''
[osh-cpp status] Expected 0 Got 2

stdout:
stderr: 
  echo "${v~~}"
           ^
[ stdin ]:2: Expected } to close ${
osh257 4.1 Builtins: trap (RETURN)

[osh stdout] Expected 'inside\nreturning\n' Got 'inside\n'
[osh status] Expected 0 Got 2

stdout:
inside
stderr:
osh warning: The 'RETURN' hook isn't implemented
osh-cpp257 4.1 Builtins: trap (RETURN)

[osh-cpp stdout] Expected 'inside\nreturning\n' Got 'inside\n'
[osh-cpp status] Expected 0 Got 2

stdout:
inside
stderr:
osh warning: The 'RETURN' hook isn't implemented
osh260 4.2 Builtins: caller

[osh stdout] Expected 'f1\n' Got ''

stdout:
stderr: 
  f2() { caller 0 | awk '{print $2}'; } # Print the calling function name
         ^~~~~~
[ stdin ]:2: Command 'caller' not found (OILS-ERR-100)
osh-cpp260 4.2 Builtins: caller

[osh-cpp stdout] Expected 'f1\n' Got ''

stdout:
stderr: 
  f2() { caller 0 | awk '{print $2}'; } # Print the calling function name
         ^~~~~~
[ stdin ]:2: Command 'caller' not found (OILS-ERR-100)
osh263 4.2 Builtins: help -d

[osh stdout] Expected '' Got 'no help\n'

stdout:
no help
stderr:
osh-cpp263 4.2 Builtins: help -d

[osh-cpp stdout] Expected '' Got 'no help\n'

stdout:
no help
stderr:
osh264 4.2 Builtins: mapfile -C (Callback)

[osh stdout] Expected 'cb: 0 a\ncb: 1 b\ncb: 2 c\n' Got ''

stdout:
stderr: 
  mapfile -C callback -c 1 lines < map.txt
          ^~
[ stdin ]:3: 'mapfile' doesn't accept flag -C
osh-cpp264 4.2 Builtins: mapfile -C (Callback)

[osh-cpp stdout] Expected 'cb: 0 a\ncb: 1 b\ncb: 2 c\n' Got ''

stdout:
stderr: 
  mapfile -C callback -c 1 lines < map.txt
          ^~
[ stdin ]:3: 'mapfile' doesn't accept flag -C
osh266 4.2 Builtins: type -a

[osh stdout] Expected '2\n' Got '3\n'

stdout:
3
stderr:
osh-cpp266 4.2 Builtins: type -a

[osh-cpp stdout] Expected '2\n' Got '3\n'

stdout:
3
stderr:
osh268 6.2 Bash Startup Files (BASH_ENV)

[osh stdout] Expected 'loaded\nmain\n' Got 'main\n'

stdout:
main
stderr:
osh-cpp268 6.2 Bash Startup Files (BASH_ENV)

[osh-cpp stdout] Expected 'loaded\nmain\n' Got 'main\n'

stdout:
main
stderr:
osh270 6.10 The Restricted Shell (cd)

[osh stdout] Expected 'restricted\n' Got ''

stdout:
stderr: 
    set -r
        ^~
[ stdin ]:2: 'set' got invalid flag '-r'
osh-cpp270 6.10 The Restricted Shell (cd)

[osh-cpp stdout] Expected 'restricted\n' Got ''

stdout:
stderr: 
    set -r
        ^~
[ stdin ]:2: 'set' got invalid flag '-r'
osh271 6.10 The Restricted Shell (Redirection)

[osh stdout] Expected 'restricted\n' Got ''

stdout:
stderr: 
    set -r
        ^~
[ stdin ]:2: 'set' got invalid flag '-r'
osh-cpp271 6.10 The Restricted Shell (Redirection)

[osh-cpp stdout] Expected 'restricted\n' Got ''

stdout:
stderr: 
    set -r
        ^~
[ stdin ]:2: 'set' got invalid flag '-r'
osh273 3.5.2 Tilde Expansion (~+)

[osh stdout] Expected 'match\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
osh-cpp273 3.5.2 Tilde Expansion (~+)

[osh-cpp stdout] Expected 'match\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
osh274 3.5.2 Tilde Expansion (~-)

[osh stdout] Expected 'match\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
osh-cpp274 3.5.2 Tilde Expansion (~-)

[osh-cpp stdout] Expected 'match\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
osh275 4.1 Builtins: cd (CDPATH)

[osh stdout] Expected 'found subdir\n' Got ''

stdout:
stderr: 
    cd subdir >/dev/null
       ^~~~~~
[ stdin ]:4: cd '/home/uke/oil/_tmp/spec-tmp/gemini.test.sh/275-osh/subdir': No such file or directory
osh-cpp275 4.1 Builtins: cd (CDPATH)

[osh-cpp stdout] Expected 'found subdir\n' Got ''

stdout:
stderr: 
    cd subdir >/dev/null
       ^~~~~~
[ stdin ]:4: cd '/home/uke/oil/_tmp/spec-tmp/gemini.test.sh/275-osh-cpp/subdir': No such file or directory
osh276 4.2 Builtins: read -t (Timeout)

[osh stdout] Expected 'timed out\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
  if ! read -t 0.1 var; then echo "timed out"; fi
       ^~~~
[ stdin ]:1: fatal: read -t isn't implemented (except t=0)
osh-cpp276 4.2 Builtins: read -t (Timeout)

[osh-cpp stdout] Expected 'timed out\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
  if ! read -t 0.1 var; then echo "timed out"; fi
       ^~~~
[ stdin ]:1: fatal: read -t isn't implemented (except t=0)
osh278 4.2 Builtins: disown

[osh stdout] Expected 'done\n' Got '%1 26588 Running [subprog] BraceGroup\ndone\n'

stdout:
%1 26588 Running [subprog] BraceGroup
done
stderr:
  disown $!
  ^~~~~~
[ stdin ]:2: Command 'disown' not found (OILS-ERR-100)
osh-cpp278 4.2 Builtins: disown

[osh-cpp stdout] Expected 'done\n' Got '%1 26594 Running [subprog] BraceGroup\ndone\n'

stdout:
%1 26594 Running [subprog] BraceGroup
done
stderr:
  disown $!
  ^~~~~~
[ stdin ]:2: Command 'disown' not found (OILS-ERR-100)
osh280 4.3.2 Shopt: nocaseglob

[osh stdout] Expected 'CASE_TEST\n' Got 'case_tes[t]\n'

stdout:
case_tes[t]
stderr:
  shopt -s nocaseglob
  ^~~~~
[ stdin ]:2: 'shopt' got invalid option 'nocaseglob'
  shopt -u nocaseglob
  ^~~~~
[ stdin ]:4: 'shopt' got invalid option 'nocaseglob'
osh-cpp280 4.3.2 Shopt: nocaseglob

[osh-cpp stdout] Expected 'CASE_TEST\n' Got 'case_tes[t]\n'

stdout:
case_tes[t]
stderr:
  shopt -s nocaseglob
  ^~~~~
[ stdin ]:2: 'shopt' got invalid option 'nocaseglob'
  shopt -u nocaseglob
  ^~~~~
[ stdin ]:4: 'shopt' got invalid option 'nocaseglob'
osh282 4.3.2 Shopt: xpg_echo

[osh stdout] Expected 'a\nb\n' Got 'a\\nb\n'
[osh status] Expected 0 Got 2

stdout:
a\nb
stderr:
  shopt -s xpg_echo
  ^~~~~
[ stdin ]:1: 'shopt' got invalid option 'xpg_echo'
  shopt -u xpg_echo
  ^~~~~
[ stdin ]:3: 'shopt' got invalid option 'xpg_echo'
osh-cpp282 4.3.2 Shopt: xpg_echo

[osh-cpp stdout] Expected 'a\nb\n' Got 'a\\nb\n'
[osh-cpp status] Expected 0 Got 2

stdout:
a\nb
stderr:
  shopt -s xpg_echo
  ^~~~~
[ stdin ]:1: 'shopt' got invalid option 'xpg_echo'
  shopt -u xpg_echo
  ^~~~~
[ stdin ]:3: 'shopt' got invalid option 'xpg_echo'
osh292 3.5.3 Expansion: Transform @E (Escape)

[osh stdout] Expected 'tab expanded\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
  expanded="${var@E}"
                 ^~
[ stdin ]:2: fatal: Var op '@E' not implemented
osh-cpp292 3.5.3 Expansion: Transform @E (Escape)

[osh-cpp stdout] Expected 'tab expanded\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
  expanded="${var@E}"
                 ^~
[ stdin ]:2: fatal: Var op '@E' not implemented
osh294 3.5.3 Expansion: Transform @A (Assignment)

[osh stdout] Expected 'value\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
  eval "${var@A}"
             ^~
[ stdin ]:2: fatal: Var op '@A' not implemented
osh-cpp294 3.5.3 Expansion: Transform @A (Assignment)

[osh-cpp stdout] Expected 'value\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
  eval "${var@A}"
             ^~
[ stdin ]:2: fatal: Var op '@A' not implemented
osh295 6.9 Prompt: PROMPT_DIRTRIM

[osh stdout] Expected 'trimmed\n' Got ''

stdout:
stderr: 
osh-cpp295 6.9 Prompt: PROMPT_DIRTRIM

[osh-cpp stdout] Expected 'trimmed\n' Got ''

stdout:
stderr: 
osh297 4.3.2 Shopt: shift_verbose

[osh stdout] Expected 'error reported\n' Got ''
[osh status] Expected 0 Got 2

stdout:
stderr: 
  shopt -s shift_verbose
  ^~~~~
[ stdin ]:2: 'shopt' got invalid option 'shift_verbose'
  shopt -u shift_verbose
  ^~~~~
[ stdin ]:4: 'shopt' got invalid option 'shift_verbose'
osh-cpp297 4.3.2 Shopt: shift_verbose

[osh-cpp stdout] Expected 'error reported\n' Got ''
[osh-cpp status] Expected 0 Got 2

stdout:
stderr: 
  shopt -s shift_verbose
  ^~~~~
[ stdin ]:2: 'shopt' got invalid option 'shift_verbose'
  shopt -u shift_verbose
  ^~~~~
[ stdin ]:4: 'shopt' got invalid option 'shift_verbose'
osh298 4.3.2 Shopt: sourcepath

[osh stdout] Expected 'on by default\n' Got ''
[osh status] Expected 0 Got 2

stdout:
stderr: 
osh-cpp298 4.3.2 Shopt: sourcepath

[osh-cpp stdout] Expected 'on by default\n' Got ''
[osh-cpp status] Expected 0 Got 2

stdout:
stderr: 
osh303 6.8 Directory Stack: pushd +n (Rotate Left)

[osh stdout] Expected 'd2\n' Got ''

stdout:
stderr: 
  pushd +1 >/dev/null
        ^
[ stdin ]:6: pushd: '/home/uke/oil/_tmp/spec-tmp/gemini.test.sh/303-osh/d3/+1': No such file or directory
  popd >/dev/null
  ^~~~
[ stdin ]:10: popd: directory stack is empty
osh-cpp303 6.8 Directory Stack: pushd +n (Rotate Left)

[osh-cpp stdout] Expected 'd2\n' Got ''

stdout:
stderr: 
  pushd +1 >/dev/null
        ^
[ stdin ]:6: pushd: '/home/uke/oil/_tmp/spec-tmp/gemini.test.sh/303-osh-cpp/d3/+1': No such file or directory
  popd >/dev/null
  ^~~~
[ stdin ]:10: popd: directory stack is empty
osh304 6.8 Directory Stack: popd -n (Remove from right)

[osh stdout] Expected 'd1 gone\n' Got ''

stdout:
stderr: 
  popd -0 >/dev/null
       ^~
[ stdin ]:6: 'popd' doesn't accept flag -Z
osh-cpp304 6.8 Directory Stack: popd -n (Remove from right)

[osh-cpp stdout] Expected 'd1 gone\n' Got ''

stdout:
stderr: 
  popd -0 >/dev/null
       ^~
[ stdin ]:6: 'popd' doesn't accept flag -Z
osh306 3.3 Functions: export -f

[osh stdout] Expected 'exported function works\n' Got ''
[osh status] Expected 0 Got 127

stdout:
stderr: 
  export -f my_func
  ^~~~~~
[ stdin ]:2: 'export' doesn't accept -f because it's dangerous.  (The code can usually be restructured with 'source')
  my_func
  ^~~~~~~
[ -c flag ]:1: Command 'my_func' not found (OILS-ERR-100)
osh-cpp306 3.3 Functions: export -f

[osh-cpp stdout] Expected 'exported function works\n' Got ''
[osh-cpp status] Expected 0 Got 127

stdout:
stderr: 
  export -f my_func
  ^~~~~~
[ stdin ]:2: 'export' doesn't accept -f because it's dangerous.  (The code can usually be restructured with 'source')
  my_func
  ^~~~~~~
[ -c flag ]:1: Command 'my_func' not found (OILS-ERR-100)
osh309 5.2 Bash Variables: BASH_VERSINFO

[osh stdout] Expected 'ok\n' Got ''

stdout:
stderr: 
osh-cpp309 5.2 Bash Variables: BASH_VERSINFO

[osh-cpp stdout] Expected 'ok\n' Got ''

stdout:
stderr: 
osh310 5.2 Bash Variables: GROUPS

[osh stdout] Expected 'ok\n' Got ''

stdout:
stderr: 
osh-cpp310 5.2 Bash Variables: GROUPS

[osh-cpp stdout] Expected 'ok\n' Got ''

stdout:
stderr: 
osh315 9.3 History Expansion (Scripted)

[osh stdout] Expected 'history works\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
  set -H
      ^~
[ stdin ]:1: 'set' got invalid flag '-H'
  history -s "echo previous_command"
          ^~
[ stdin ]:2: 'history' doesn't accept flag -s
  history -s echo "history_entry"
          ^~
[ stdin ]:4: 'history' doesn't accept flag -s
osh-cpp315 9.3 History Expansion (Scripted)

[osh-cpp stdout] Expected 'history works\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
  set -H
      ^~
[ stdin ]:1: 'set' got invalid flag '-H'
  history -s "echo previous_command"
          ^~
[ stdin ]:2: 'history' doesn't accept flag -s
  history -s echo "history_entry"
          ^~
[ stdin ]:4: 'history' doesn't accept flag -s
osh316 4.2 Builtins: fc -l (List)

[osh stdout] Expected '2\n' Got '0\n'
[osh status] Expected 0 Got 1

stdout:
0
stderr:
  history -s "cmd1"
          ^~
[ stdin ]:1: 'history' doesn't accept flag -s
  history -s "cmd2"
          ^~
[ stdin ]:2: 'history' doesn't accept flag -s
  fc -l -2 | grep -c "cmd"
        ^~
[ stdin ]:3: 'fc' doesn't accept flag -2
osh-cpp316 4.2 Builtins: fc -l (List)

[osh-cpp stdout] Expected '2\n' Got '0\n'
[osh-cpp status] Expected 0 Got 1

stdout:
0
stderr:
  history -s "cmd1"
          ^~
[ stdin ]:1: 'history' doesn't accept flag -s
  history -s "cmd2"
          ^~
[ stdin ]:2: 'history' doesn't accept flag -s
  fc -l -2 | grep -c "cmd"
        ^~
[ stdin ]:3: 'fc' doesn't accept flag -2
osh321 6.4 Conditional: [[ -R var ]] (Nameref)

[osh stdout] Expected 'is ref\nfoo not ref\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
  if [[ -R ref ]]; then echo "is ref"; fi
     ^~
[ stdin ]:2: fatal: Id.BoolUnary_R isn't implemented
osh-cpp321 6.4 Conditional: [[ -R var ]] (Nameref)

[osh-cpp stdout] Expected 'is ref\nfoo not ref\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
  if [[ -R ref ]]; then echo "is ref"; fi
     ^~
[ stdin ]:2: fatal: Id.BoolUnary_R isn't implemented
osh322 4.3.2 Shopt: globstar (Limit)

[osh stdout] Expected 'gs/\ngs/a/\ngs/a/b/\n' Got 'gs/a/\n'
[osh status] Expected 0 Got 2

stdout:
gs/a/
stderr:
  shopt -s globstar
  ^~~~~
[ stdin ]:1: 'shopt' got invalid option 'globstar'
  shopt -u globstar
  ^~~~~
[ stdin ]:6: 'shopt' got invalid option 'globstar'
osh-cpp322 4.3.2 Shopt: globstar (Limit)

[osh-cpp stdout] Expected 'gs/\ngs/a/\ngs/a/b/\n' Got 'gs/a/\n'
[osh-cpp status] Expected 0 Got 2

stdout:
gs/a/
stderr:
  shopt -s globstar
  ^~~~~
[ stdin ]:1: 'shopt' got invalid option 'globstar'
  shopt -u globstar
  ^~~~~
[ stdin ]:6: 'shopt' got invalid option 'globstar'
osh325 6.5 Arithmetic: Arbitrary Base (Base 36)

[osh stdout] Expected '35\n' Got '0\n'

stdout:
0
stderr:
osh-cpp325 6.5 Arithmetic: Arbitrary Base (Base 36)

[osh-cpp stdout] Expected '35\n' Got '0\n'

stdout:
0
stderr:
osh327 6.7 Arrays: Unset Associative Element

[osh stdout] Expected '1\n2\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
  dict[one]=1
  ^~~~~
[ stdin ]:2: fatal: Assoc array keys must be strings: $x 'x' "$x" etc. (OILS-ERR-101)
osh-cpp327 6.7 Arrays: Unset Associative Element

[osh-cpp stdout] Expected '1\n2\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
  dict[one]=1
  ^~~~~
[ stdin ]:2: fatal: Assoc array keys must be strings: $x 'x' "$x" etc. (OILS-ERR-101)
osh340 4.3.1 Set: -a (allexport function)

[osh stdout] Expected 'func visible\n' Got ''

stdout:
stderr: 
  my_exported_func
  ^~~~~~~~~~~~~~~~
[ -c flag ]:1: Command 'my_exported_func' not found (OILS-ERR-100)
osh-cpp340 4.3.1 Set: -a (allexport function)

[osh-cpp stdout] Expected 'func visible\n' Got ''

stdout:
stderr: 
  my_exported_func
  ^~~~~~~~~~~~~~~~
[ -c flag ]:1: Command 'my_exported_func' not found (OILS-ERR-100)
osh348 4.1 Builtins: getopts (Silent Reporting)

[osh stdout] Expected 'opt: ?\narg: x\n' Got 'opt: ?\narg: \n'

stdout:
opt: ?
arg: 
stderr:
osh-cpp348 4.1 Builtins: getopts (Silent Reporting)

[osh-cpp stdout] Expected 'opt: ?\narg: x\n' Got 'opt: ?\narg: \n'

stdout:
opt: ?
arg: 
stderr:
osh349 4.1 Builtins: getopts (Missing Argument)

[osh stdout] Expected 'opt: :\narg: a\n' Got 'opt: ?\narg: \n'

stdout:
opt: ?
arg: 
stderr:
  getopts ":a:" opt
  ^~~~~~~
[ stdin ]:2: getopts: option '-a' requires an argument.
(getopts argv: -a)
osh-cpp349 4.1 Builtins: getopts (Missing Argument)

[osh-cpp stdout] Expected 'opt: :\narg: a\n' Got 'opt: ?\narg: \n'

stdout:
opt: ?
arg: 
stderr:
  getopts ":a:" opt
  ^~~~~~~
[ stdin ]:2: getopts: option '-a' requires an argument.
(getopts argv: -a)
osh350 4.1 Builtins: trap (Ignore Signal)

[osh stdout] Expected 'ignored\n' Got ''

stdout:
stderr: 
osh-cpp350 4.1 Builtins: trap (Ignore Signal)

[osh-cpp stdout] Expected 'ignored\n' Got ''

stdout:
stderr: 
osh357 4.2 Builtins: declare -i (Integer)

[osh stdout] Expected '2\n' Got '1 + 1\n'

stdout:
1 + 1
stderr:
  declare -i val
  ^~~~~~~
[ stdin ]:1: 'declare' doesn't implement flag -i (shopt --set ignore_flags_not_impl)
osh-cpp357 4.2 Builtins: declare -i (Integer)

[osh-cpp stdout] Expected '2\n' Got '1 + 1\n'

stdout:
1 + 1
stderr:
  declare -i val
  ^~~~~~~
[ stdin ]:1: 'declare' doesn't implement flag -i (shopt --set ignore_flags_not_impl)
osh358 4.2 Builtins: declare -i (Reference)

[osh stdout] Expected '15\n' Got 'ref + 5\n'

stdout:
ref + 5
stderr:
  declare -i val
  ^~~~~~~
[ stdin ]:2: 'declare' doesn't implement flag -i (shopt --set ignore_flags_not_impl)
osh-cpp358 4.2 Builtins: declare -i (Reference)

[osh-cpp stdout] Expected '15\n' Got 'ref + 5\n'

stdout:
ref + 5
stderr:
  declare -i val
  ^~~~~~~
[ stdin ]:2: 'declare' doesn't implement flag -i (shopt --set ignore_flags_not_impl)
osh359 4.2 Builtins: declare -u (Uppercase)

[osh stdout] Expected 'ABC\nMIXEDCASE\n' Got 'abc\nmixedCASE\n'

stdout:
abc
mixedCASE
stderr:
  declare -u upper
  ^~~~~~~
[ stdin ]:1: Warning: OSH doesn't implement flags -l or -u (shopt --set ignore_flags_not_impl)
osh-cpp359 4.2 Builtins: declare -u (Uppercase)

[osh-cpp stdout] Expected 'ABC\nMIXEDCASE\n' Got 'abc\nmixedCASE\n'

stdout:
abc
mixedCASE
stderr:
  declare -u upper
  ^~~~~~~
[ stdin ]:1: Warning: OSH doesn't implement flags -l or -u (shopt --set ignore_flags_not_impl)
osh360 4.2 Builtins: declare -l (Lowercase)

[osh stdout] Expected 'xyz\n' Got 'XYZ\n'

stdout:
XYZ
stderr:
  declare -l lower
  ^~~~~~~
[ stdin ]:1: Warning: OSH doesn't implement flags -l or -u (shopt --set ignore_flags_not_impl)
osh-cpp360 4.2 Builtins: declare -l (Lowercase)

[osh-cpp stdout] Expected 'xyz\n' Got 'XYZ\n'

stdout:
XYZ
stderr:
  declare -l lower
  ^~~~~~~
[ stdin ]:1: Warning: OSH doesn't implement flags -l or -u (shopt --set ignore_flags_not_impl)
osh365 6.5 Arithmetic: Unary Plus/Minus

[osh stdout] Expected '1\n-1\n1\n' Got '1\n-1\n-1\n'

stdout:
1
-1
-1
stderr:
osh-cpp365 6.5 Arithmetic: Unary Plus/Minus

[osh-cpp stdout] Expected '1\n-1\n1\n' Got '1\n-1\n-1\n'

stdout:
1
-1
-1
stderr:
osh369 3.7.4 Environment: Function-local assignment persistence

[osh stdout] Expected 'inside: temp\noutside: original\n' Got ''
[osh status] Expected 0 Got 2

stdout:
stderr: 
  func() { echo "inside: $var"; }
  ^~~~
[ stdin ]:1: func is a YSH keyword, but this is OSH.
osh-cpp369 3.7.4 Environment: Function-local assignment persistence

[osh-cpp stdout] Expected 'inside: temp\noutside: original\n' Got ''
[osh-cpp status] Expected 0 Got 2

stdout:
stderr: 
  func() { echo "inside: $var"; }
  ^~~~
[ stdin ]:1: func is a YSH keyword, but this is OSH.
osh378 4.2 Builtins: let (Arithmetic)

[osh stdout] Expected '2 4\nstatus: 1\nstatus: 0\n' Got ' \nstatus: 127\nstatus: 127\n'

stdout:
 
status: 127
status: 127
stderr:
  let "x = 1 + 1" "y = x * 2"
  ^~~
[ stdin ]:1: Command 'let' not found (OILS-ERR-100)
  let "z = 0"
  ^~~
[ stdin ]:3: Command 'let' not found (OILS-ERR-100)
  let "z = 1"
  ^~~
[ stdin ]:5: Command 'let' not found (OILS-ERR-100)
osh-cpp378 4.2 Builtins: let (Arithmetic)

[osh-cpp stdout] Expected '2 4\nstatus: 1\nstatus: 0\n' Got ' \nstatus: 127\nstatus: 127\n'

stdout:
 
status: 127
status: 127
stderr:
  let "x = 1 + 1" "y = x * 2"
  ^~~
[ stdin ]:1: Command 'let' not found (OILS-ERR-100)
  let "z = 0"
  ^~~
[ stdin ]:3: Command 'let' not found (OILS-ERR-100)
  let "z = 1"
  ^~~
[ stdin ]:5: Command 'let' not found (OILS-ERR-100)
osh383 4.2 Builtins: enable -n (Disable Builtin)

[osh stdout] Expected 'disabled\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
    enable -n echo
    ^~~~~~
[ stdin ]:2: Command 'enable' not found (OILS-ERR-100)
osh-cpp383 4.2 Builtins: enable -n (Disable Builtin)

[osh-cpp stdout] Expected 'disabled\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
    enable -n echo
    ^~~~~~
[ stdin ]:2: Command 'enable' not found (OILS-ERR-100)
osh384 4.2 Builtins: enable -a (List)

[osh stdout] Expected 'found enable\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
  enable -a | grep -q "enable" && echo "found enable"
  ^~~~~~
[ stdin ]:1: Command 'enable' not found (OILS-ERR-100)
osh-cpp384 4.2 Builtins: enable -a (List)

[osh-cpp stdout] Expected 'found enable\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
  enable -a | grep -q "enable" && echo "found enable"
  ^~~~~~
[ stdin ]:1: Command 'enable' not found (OILS-ERR-100)
osh385 4.2 Builtins: typeset (Synonym)

[osh stdout] Expected '10 20\n' Got ' 20\n'

stdout:
 20
stderr:
  typeset -i x=10
  ^~~~~~~
[ stdin ]:1: 'typeset' doesn't implement flag -i (shopt --set ignore_flags_not_impl)
osh-cpp385 4.2 Builtins: typeset (Synonym)

[osh-cpp stdout] Expected '10 20\n' Got ' 20\n'

stdout:
 20
stderr:
  typeset -i x=10
  ^~~~~~~
[ stdin ]:1: 'typeset' doesn't implement flag -i (shopt --set ignore_flags_not_impl)
osh389 4.2 Builtins: kill -l (Exit Status Conversion)

[osh stdout] Expected 'found INT\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
  kill -l 130 | grep -E "INT|SIGINT" >/dev/null && echo "found INT"
          ^~~
[ stdin ]:1: 'kill' can't translate number '130' to a name
osh-cpp389 4.2 Builtins: kill -l (Exit Status Conversion)

[osh-cpp stdout] Expected 'found INT\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
  kill -l 130 | grep -E "INT|SIGINT" >/dev/null && echo "found INT"
          ^~~
[ stdin ]:1: 'kill' can't translate number '130' to a name
osh390 5.2 Bash Variables: TIMEFORMAT

[osh stdout] Expected 'formatted\n' Got ''
[osh status] Expected 0 Got 1

stdout:
stderr: 
osh-cpp390 5.2 Bash Variables: TIMEFORMAT

[osh-cpp stdout] Expected 'formatted\n' Got ''
[osh-cpp status] Expected 0 Got 1

stdout:
stderr: 
osh394 3.2.3 Pipelines: Variable Persistence

[osh stdout] Expected '0\n' Got '1\n'

stdout:
1
stderr:
osh-cpp394 3.2.3 Pipelines: Variable Persistence

[osh-cpp stdout] Expected '0\n' Got '1\n'

stdout:
1
stderr:
osh395 3.2.3 Pipelines: While Loop Side Effects

[osh stdout] Expected '0\n' Got '2\n'

stdout:
2
stderr:
osh-cpp395 3.2.3 Pipelines: While Loop Side Effects

[osh-cpp stdout] Expected '0\n' Got '2\n'

stdout:
2
stderr: