---
date_published: 2026-05-13
date_modified: 2026-05-13
canonical_url: https://jawk.io/surefire.html
---

# Surefire Report

## [Summary](#summary)

[[Summary](#summary)] [[Package List](#package-list)] [[Test Cases](#test-cases)]

  

| Tests | Errors | Failures | Skipped | Success Rate | Time |
| --- | --- | --- | --- | --- | --- |
| 421 | 0 | 0 | 11 | 97.4% | 0.755 s |

  

Note: failures are anticipated and checked for with assertions while errors are unanticipated.

  

## [Package List](#package-list)

[[Summary](#summary)] [[Package List](#package-list)] [[Test Cases](#test-cases)]

  

| Package | Tests | Errors | Failures | Skipped | Success Rate | Time |
| --- | --- | --- | --- | --- | --- | --- |
| [io.jawk](#io-jawk) | 417 | 0 | 0 | 11 | 97.4% | 0.755 s |
| [io.jawk.jrt](#io-jawk-jrt) | 3 | 0 | 0 | 0 | 100% | 0 s |
| [io.jawk.backend](#io-jawk-backend) | 1 | 0 | 0 | 0 | 100% | 0 s |

  

Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.

### [io.jawk](#io-jawk)

| - | Class | Tests | Errors | Failures | Skipped | Success Rate | Time |
| --- | --- | --- | --- | --- | --- | --- | --- |
| [#io-jawk-jrtconsumeinputtest](#io-jawk-jrtconsumeinputtest) | [JRTConsumeInputTest](#io-jawk-jrtconsumeinputtest) | 5 | 0 | 0 | 0 | 100% | 0.004 s |
| [#io-jawk-regexptupleandcachingtest](#io-jawk-regexptupleandcachingtest) | [RegexpTupleAndCachingTest](#io-jawk-regexptupleandcachingtest) | 4 | 0 | 0 | 0 | 100% | 0.011 s |
| [#io-jawk-conditionpairtest](#io-jawk-conditionpairtest) | [ConditionPairTest](#io-jawk-conditionpairtest) | 2 | 0 | 0 | 0 | 100% | 0.045 s |
| [#io-jawk-awktupleoptimizationtest](#io-jawk-awktupleoptimizationtest) | [AwkTupleOptimizationTest](#io-jawk-awktupleoptimizationtest) | 27 | 0 | 0 | 0 | 100% | 0.025 s |
| [#io-jawk-extensiontest](#io-jawk-extensiontest) | [ExtensionTest](#io-jawk-extensiontest) | 7 | 0 | 0 | 0 | 100% | 0.018 s |
| [#io-jawk-bsdrandomtest](#io-jawk-bsdrandomtest) | [BSDRandomTest](#io-jawk-bsdrandomtest) | 1 | 0 | 0 | 0 | 100% | 0 s |
| [#io-jawk-streaminputsourcetest](#io-jawk-streaminputsourcetest) | [StreamInputSourceTest](#io-jawk-streaminputsourcetest) | 13 | 0 | 0 | 0 | 100% | 0.062 s |
| [#io-jawk-posixconformancetest](#io-jawk-posixconformancetest) | [PosixConformanceTest](#io-jawk-posixconformancetest) | 92 | 0 | 0 | 9 | 90.2% | 0.088 s |
| [#io-jawk-listinputsourcetest](#io-jawk-listinputsourcetest) | [ListInputSourceTest](#io-jawk-listinputsourcetest) | 4 | 0 | 0 | 0 | 100% | 0.004 s |
| [#io-jawk-awktest](#io-jawk-awktest) | [AwkTest](#io-jawk-awktest) | 111 | 0 | 0 | 0 | 100% | 0.169 s |
| [#io-jawk-scriptenginetest](#io-jawk-scriptenginetest) | [ScriptEngineTest](#io-jawk-scriptenginetest) | 2 | 0 | 0 | 0 | 100% | 0.034 s |
| [#io-jawk-jrttest](#io-jawk-jrttest) | [JRTTest](#io-jawk-jrttest) | 16 | 0 | 0 | 2 | 87.5% | 0.013 s |
| [#io-jawk-inputsourcetest](#io-jawk-inputsourcetest) | [InputSourceTest](#io-jawk-inputsourcetest) | 30 | 0 | 0 | 0 | 100% | 0.036 s |
| [#io-jawk-clioptiontest](#io-jawk-clioptiontest) | [CliOptionTest](#io-jawk-clioptiontest) | 21 | 0 | 0 | 0 | 100% | 0.095 s |
| [#io-jawk-assocarraytest](#io-jawk-assocarraytest) | [AssocArrayTest](#io-jawk-assocarraytest) | 25 | 0 | 0 | 0 | 100% | 0.021 s |
| [#io-jawk-awkparsertest](#io-jawk-awkparsertest) | [AwkParserTest](#io-jawk-awkparsertest) | 12 | 0 | 0 | 0 | 100% | 0.068 s |
| [#io-jawk-dynamicfieldtest](#io-jawk-dynamicfieldtest) | [DynamicFieldTest](#io-jawk-dynamicfieldtest) | 8 | 0 | 0 | 0 | 100% | 0.009 s |
| [#io-jawk-availableextensionstest](#io-jawk-availableextensionstest) | [AvailableExtensionsTest](#io-jawk-availableextensionstest) | 4 | 0 | 0 | 0 | 100% | 0 s |
| [#io-jawk-awkevaltest](#io-jawk-awkevaltest) | [AwkEvalTest](#io-jawk-awkevaltest) | 33 | 0 | 0 | 0 | 100% | 0.053 s |

### [io.jawk.jrt](#io-jawk-jrt)

| - | Class | Tests | Errors | Failures | Skipped | Success Rate | Time |
| --- | --- | --- | --- | --- | --- | --- | --- |
| [#io-jawk-jrt-jrtcomparisonnumbertest](#io-jawk-jrt-jrtcomparisonnumbertest) | [JRTComparisonNumberTest](#io-jawk-jrt-jrtcomparisonnumbertest) | 3 | 0 | 0 | 0 | 100% | 0 s |

### [io.jawk.backend](#io-jawk-backend)

| - | Class | Tests | Errors | Failures | Skipped | Success Rate | Time |
| --- | --- | --- | --- | --- | --- | --- | --- |
| [#io-jawk-backend-regexruntimesupporttest](#io-jawk-backend-regexruntimesupporttest) | [RegexRuntimeSupportTest](#io-jawk-backend-regexruntimesupporttest) | 1 | 0 | 0 | 0 | 100% | 0 s |

  

## [Test Cases](#test-cases)

[[Summary](#summary)] [[Package List](#package-list)] [[Test Cases](#test-cases)]

### [JRTConsumeInputTest](#jrtconsumeinputtest)

| ** | testArgcOnlyScriptCanForceStdinTraversal | 0 s |
| --- | --- | --- |
| ** | testVariableAssignmentBetweenFilesIncrementsNR | 0 s |
| ** | testOperandArgcAssignmentAffectsTraversalWithoutArgvOffset | 0.001 s |
| ** | testOversizedOperandArgcAssignmentDoesNotOverflowTraversal | 0.002 s |
| ** | testLargeOperandArgcAssignmentStillTraversesBoundedArgvView | 0.001 s |

### [RegexpTupleAndCachingTest](#regexptupleandcachingtest)

| ** | literalRegexpEmitsPrecompiledPattern | 0 s |
| --- | --- | --- |
| ** | serializedEvalTuplesPreserveSetNumGlobalsOptimization | 0.003 s |
| ** | serializedTuplesPreservePrecompiledPattern | 0.006 s |
| ** | variableRegexpCompilesAtRuntime | 0.001 s |

### [ConditionPairTest](#conditionpairtest)

| ** | testEdgeTransitions | 0.004 s |
| --- | --- | --- |
| ** | test | 0 s |

### [AwkTupleOptimizationTest](#awktupleoptimizationtest)

| ** | foldsLabeledTernaryFieldAccessesInFullScript | 0.001 s |
| --- | --- | --- |
| ** | keepsArgcSynchronizedForPreIncrement | 0.001 s |
| ** | retainsRecursiveFunctionBodies | 0.001 s |
| ** | foldsLabeledTernaryLiteralBranchesInFullScript | 0.001 s |
| ** | preservesRuntimeFailureForFoldedNegativeFieldInScriptBranch | 0.002 s |
| ** | removesTrailingPlaceholderNop | 0.001 s |
| ** | optimizeSkipsPostProcessingWhenPointersPersist | 0 s |
| ** | retargetsBranchesAwayFromPlaceholderTuples | 0 s |
| ** | emitsArgcOffsetButNotArgvOffsetWhenUnreferenced | 0.001 s |
| ** | doesNotFoldNumericConcatenation | 0 s |
| ** | emitsArgcAndArgvOffsetsWhenArgvReferenced | 0.001 s |
| ** | removesGotoImmediatelyBeforeFunctionReturn | 0.001 s |
| ** | rejectsNegativeLiteralFieldIndex | 0.001 s |
| ** | compilesLiteralInputFieldWithoutPush | 0.001 s |
| ** | foldsLiteralComparison | 0 s |
| ** | compilesGetlineIntoVariableWithDedicatedTargetOpcode | 0.002 s |
| ** | compilesDollarZeroWithConstOpcode | 0 s |
| ** | foldsLiteralUnaryArithmetic | 0.001 s |
| ** | removesInstructionsAfterExit | 0.001 s |
| ** | foldsNestedLiteralArithmetic | 0.001 s |
| ** | skipsOptimizationWhenDisabled | 0 s |
| ** | foldsLiteralStringConcatenation | 0.001 s |
| ** | emitsArgcOffsetWhenArgcReferencedOnly | 0.002 s |
| ** | compilesExpressionBasedFieldWithConstOpcode | 0 s |
| ** | foldsLiteralBinaryArithmetic | 0.001 s |
| ** | consumesFileOperandsWithoutArgvOffset | 0.001 s |
| ** | removesUnconditionalRuleWrapperAndLeadingGoto | 0.001 s |

### [ExtensionTest](#extensiontest)

| ** | testAnnotatedAssocArrayMustAcceptMap | 0.001 s |
| --- | --- | --- |
| ** | testVarArgAssocArraySemanticValidation | 0.002 s |
| ** | testAnnotatedAssocArrayMustNotUseConcreteMapImplementation | 0.001 s |
| ** | testVarArgAssocArrayInvocation | 0.002 s |
| ** | testVarArgAssocArrayRuntimeValidation | 0.001 s |
| ** | testExtension | 0.006 s |
| ** | testAnnotatedExtensionArgumentValidation | 0 s |

### [BSDRandomTest](#bsdrandomtest)

| ** | testDeterministicSequence | 0 s |
| --- | --- | --- |

### [StreamInputSourceTest](#streaminputsourcetest)

| ** | testExpressionEvalThroughStreamInputSource | 0.033 s |
| --- | --- | --- |
| ** | testMultipleFilesWithFnrReset | 0.008 s |
| ** | testStdinReadsThroughStreamInputSource | 0 s |
| ** | testNrCountsRecordsFromStdin | 0.001 s |
| ** | testFsSplittingWorksWithStreamInputSource | 0.002 s |
| ** | testEndCanReadLastRecordAfterFinalEofProbe | 0.001 s |
| ** | testEmptyStdinRunsBeginAndEnd | 0 s |
| ** | testGetlineFromStdin | 0 s |
| ** | testMissingArgvFilePropagatesFileNotFoundException | 0 s |
| ** | testRsChangeAppliedToStreamInputSource | 0.002 s |
| ** | testVariableAssignmentInArgv | 0.002 s |
| ** | testFileInputThroughArgv | 0.001 s |
| ** | testFileInputThroughInjectedLongKeyArgvMap | 0.002 s |

### [PosixConformanceTest](#posixconformancetest)

| ** | posix42ExponentiationRightAssociative | 0 s |
| --- | --- | --- |
| ** | posix122BackslashNewlineIgnored | 0 s |
| ** | posix102SrandRepeatsSequence | 0 s |
| ** | posix89ExitSetsStatus | 0 s |
| ** | posix15EndRunsAfterLastRecord | 0 s |
| [#io-jawk-posixconformancetest-posix16emptyprogramexitszero](#io-jawk-posixconformancetest-posix16emptyprogramexitszero) | [posix16EmptyProgramExitsZero](#io-jawk-posixconformancetest-posix16emptyprogramexitszero) [+ - [ Detail ]](javascript:toggleDisplay('io.jawk.PosixConformanceTest.posix16EmptyProgramExitsZero');) | 0 s |
| - | Empty programs are not yet supported by the CLI | - |
| ** | posix81ElseBindsNearestIf | 0 s |
| ** | posix93PrintfPercentCUsesFirstCharacter | 0 s |
| ** | posix36AssigningToExistingFieldRecomputesDollarZero | 0.003 s |
| ** | posix22DashVAssignsBeforeBegin | 0.001 s |
| ** | posix14BeginRunsBeforeFirstRecord | 0.002 s |
| ** | posix152NewlineStatementTerminator | 0 s |
| ** | posix111MultidimensionalIndexesUseSubsep | 0 s |
| ** | posix97CloseReturnsZeroOnSuccess | 0 s |
| ** | posix61RegexLiteralMatchesDollarZero | 0.001 s |
| ** | posix106SubstrFunction | 0 s |
| ** | posix112InOperatorDoesNotCreateElements | 0.001 s |
| ** | posix49StringConversionUsesConvfmt | 0.001 s |
| ** | posix991PipelineWritesDataToFile | 0.006 s |
| ** | posix13MultipleBeginEndExecuteInOrder | 0.001 s |
| ** | posix44CompoundAssignmentsModifyOnce | 0.001 s |
| ** | posix63StringRegexDoubleEscapes | 0 s |
| [#io-jawk-posixconformancetest-posix33fsasere](#io-jawk-posixconformancetest-posix33fsasere) | [posix33FsAsEre](#io-jawk-posixconformancetest-posix33fsasere) [+ - [ Detail ]](javascript:toggleDisplay('io.jawk.PosixConformanceTest.posix33FsAsEre');) | 0 s |
| - | Jawk does not yet normalize whitespace when FS is an ERE | - |
| ** | posix17PatternRangesInclusiveAndRepeat | 0 s |
| ** | posix62RegexEscapeSlash | 0 s |
| [#io-jawk-posixconformancetest-posix98fflushreturnszero](#io-jawk-posixconformancetest-posix98fflushreturnszero) | [posix98FflushReturnsZero](#io-jawk-posixconformancetest-posix98fflushreturnszero) [+ - [ Detail ]](javascript:toggleDisplay('io.jawk.PosixConformanceTest.posix98FflushReturnsZero');) | 0 s |
| - | fflush() is not available in Jawk | - |
| ** | posix96AppendRedirection | 0 s |
| ** | posix95RedirectionTruncatesAndReuses | 0.002 s |
| ** | posix53MatchSetsRstartAndRlength | 0 s |
| ** | posix32FsSingleCharacterSplitsEachOccurrence | 0 s |
| ** | posix310DynamicFieldSelection | 0.001 s |
| ** | posix151FunctionCallWithoutWhitespace | 0 s |
| ** | posix1010SplitDeletesExistingElements | 0.001 s |
| ** | posix82WhileLoop | 0.001 s |
| ** | posix54OfsAndOrsAffectPrint | 0.001 s |
| [#io-jawk-posixconformancetest-posix132unreadablefileproducesdiagnostic](#io-jawk-posixconformancetest-posix132unreadablefileproducesdiagnostic) | [posix132UnreadableFileProducesDiagnostic](#io-jawk-posixconformancetest-posix132unreadablefileproducesdiagnostic) [+ - [ Detail ]](javascript:toggleDisplay('io.jawk.PosixConformanceTest.posix132UnreadableFileProducesDiagnostic');) | 0 s |
| - | Jawk throws FileNotFoundException instead of reporting a diagnostic | - |
| [#io-jawk-posixconformancetest-posix35rsemptyparagraphmode](#io-jawk-posixconformancetest-posix35rsemptyparagraphmode) | [posix35RsEmptyParagraphMode](#io-jawk-posixconformancetest-posix35rsemptyparagraphmode) [+ - [ Detail ]](javascript:toggleDisplay('io.jawk.PosixConformanceTest.posix35RsEmptyParagraphMode');) | 0 s |
| - | RS="" paragraph mode is not implemented | - |
| ** | posix121HashIntroducesComment | 0.001 s |
| ** | posix65RegexCannotMatchRsChar | 0.001 s |
| ** | posix34RsDefaultExcludesNewline | 0 s |
| ** | posix101IntTruncatesTowardZero | 0 s |
| ** | posix64FsRegexRunsOfDelimiters | 0.001 s |
| ** | posix113DeleteArrayClearsAll | 0 s |
| ** | posix91PrintDefaultIsDollarZero | 0 s |
| ** | posix1011SprintfFormatting | 0 s |
| [#io-jawk-posixconformancetest-posix142localenumericinput](#io-jawk-posixconformancetest-posix142localenumericinput) | [posix142LocaleNumericInput](#io-jawk-posixconformancetest-posix142localenumericinput) [+ - [ Detail ]](javascript:toggleDisplay('io.jawk.PosixConformanceTest.posix142LocaleNumericInput');) | 0 s |
| - | Locale-aware numeric parsing is not available | - |
| ** | posix99PipelineWriteClose | 0.005 s |
| ** | posix37AssigningToDollarZeroResetsFields | 0.001 s |
| ** | posix23AssignmentsOccurBeforeFollowingFile | 0.002 s |
| ** | posix141DotRecognizedAsDecimalPoint | 0 s |
| ** | posix39AssigningFutureFieldExpandsRecord | 0.001 s |
| ** | posix31DefaultFsSkipsBlanks | 0 s |
| ** | posix56NoOperandsReadsStdinWithDashFilename | 0.001 s |
| ** | posix52FilenameUnsetInBegin | 0.001 s |
| ** | posix123OctalEscapesInString | 0 s |
| ** | posix48NumericVsStringComparison | 0.004 s |
| ** | posix46LogicalOperatorsShortCircuit | 0 s |
| ** | posix85ForInDeleteAll | 0 s |
| ** | posix47ConditionalOperatorRightAssociative | 0 s |
| ** | posix104LengthOfArray | 0 s |
| ** | posix24DashFConcatenatesProgramFiles | 0.001 s |
| ** | posix72RangePatternRestarts | 0.001 s |
| ** | posix87NextSkipsCurrentRecord | 0 s |
| ** | posix43ModuloUsesFmod | 0 s |
| ** | posix109SubAndGsub | 0 s |
| ** | posix411DivisionOperator | 0.001 s |
| ** | posix1015CommandGetlineAndSystem | 0.005 s |
| ** | posix12MissingPatternMatchesAllRecords | 0.001 s |
| ** | posix105IndexFunction | 0.001 s |
| ** | posix131ExitStatusZeroOnSuccess | 0 s |
| ** | posix107ToLowerUpper | 0.001 s |
| ** | posix51NrAndFnrCounts | 0.001 s |
| ** | posix410PrintUsesOfmt | 0.001 s |
| ** | posix45PrePostIncrementDecrement | 0.001 s |
| ** | posix21DashFDefinesFs | 0 s |
| ** | posix71ExpressionPatternTruthiness | 0.001 s |
| ** | posix86BreakAndContinue | 0.001 s |
| [#io-jawk-posixconformancetest-posix26dashvsetsregexfs](#io-jawk-posixconformancetest-posix26dashvsetsregexfs) | [posix26DashVSetsRegexFs](#io-jawk-posixconformancetest-posix26dashvsetsregexfs) [+ - [ Detail ]](javascript:toggleDisplay('io.jawk.PosixConformanceTest.posix26DashVSetsRegexFs');) | 0 s |
| - | Jawk does not treat -v FS assignments as regular expressions yet | - |
| ** | posix1012CloseAndGetlineReuse | 0.001 s |
| ** | posix108MatchFunction | 0 s |
| ** | posix41ConcatenationPrecedence | 0.001 s |
| [#io-jawk-posixconformancetest-posix94printfstarwidthprecision](#io-jawk-posixconformancetest-posix94printfstarwidthprecision) | [posix94PrintfStarWidthPrecision](#io-jawk-posixconformancetest-posix94printfstarwidthprecision) [+ - [ Detail ]](javascript:toggleDisplay('io.jawk.PosixConformanceTest.posix94PrintfStarWidthPrecision');) | 0 s |
| - | Dynamic width/precision in printf requires printf4j support | - |
| ** | posix92PrintfBasicConversions | 0.001 s |
| ** | posix84ForLoopClassic | 0 s |
| [#io-jawk-posixconformancetest-posix88nextfileskipsrestofcurrentfile](#io-jawk-posixconformancetest-posix88nextfileskipsrestofcurrentfile) | [posix88NextfileSkipsRestOfCurrentFile](#io-jawk-posixconformancetest-posix88nextfileskipsrestofcurrentfile) [+ - [ Detail ]](javascript:toggleDisplay('io.jawk.PosixConformanceTest.posix88NextfileSkipsRestOfCurrentFile');) | 0 s |
| - | nextfile is not supported by Jawk | - |
| ** | posix38ReferencingNonexistentFieldIsUninitialized | 0 s |
| ** | posix11DefaultActionPrintsRecord | 0.003 s |
| ** | posix55DeletingArgvPreventsOperandProcessing | 0.001 s |
| ** | posix1013GetlineSetsDollarZero | 0.002 s |
| ** | posix83DoWhileLoopExecutesAtLeastOnce | 0 s |
| ** | posix1014GetlineVarFromCurrentInput | 0.001 s |
| ** | posix103LengthOnDollarZeroAndString | 0 s |

### [ListInputSourceTest](#listinputsourcetest)

| ** | testGetFieldsReturnsSnapshotOfCurrentRow | 0 s |
| --- | --- | --- |
| ** | testIsFromFilenameListAlwaysFalse | 0 s |
| ** | testNextRecordReturnsExpectedSequence | 0 s |
| ** | testGetRecordUsesConfiguredSeparator | 0 s |

### [AwkTest](#awktest)

| ** | testBinaryExpressionLeftAssociativity | 0 s |
| --- | --- | --- |
| ** | testAtan2ArgumentsLeftAssociativity | 0 s |
| ** | testSubsepChangeAfterIndexCreation | 0 s |
| ** | testArraysOfArraysMembershipDeleteAndIteration | 0.002 s |
| ** | publicRunSuppressesZeroExitCode | 0 s |
| ** | testArraysOfArraysReportLineNumberWhenArrayUsedAsScalarSubscript | 0 s |
| ** | testEvalFailsStatement | 0.003 s |
| ** | testChainedComparisonLeftAssociativity | 0 s |
| ** | testArraysOfArraysSupportsSplitIntoSubarray | 0 s |
| ** | testTwoRules | 0.004 s |
| ** | testChainedAdditionsAndSubtractionsLeftAssociativity | 0 s |
| ** | testMultiDimensionalArrayWithSubsep | 0 s |
| ** | sandboxSkipsArgcAndArgvOffsetsWhenUnreferenced | 0.002 s |
| ** | testUninitializedVarible2 | 0.001 s |
| ** | zeroLengthRegexRecordSeparatorConsumesWholeInput | 0.001 s |
| ** | testDontPanic | 0.001 s |
| ** | testArraysOfArraysSupportsNestedIncrement | 0 s |
| ** | testArraysOfArraysReportLineNumberWhenScalarUsedAsArray | 0 s |
| ** | testChainedLogicalAndLeftAssociativity | 0.001 s |
| ** | executeWithSinkCapturesStructuredPrintArguments | 0 s |
| ** | testConcatenationLeftAssociativity | 0.001 s |
| ** | testEvalNumericExpression | 0 s |
| ** | sandboxRejectsSystemFunction | 0 s |
| ** | testUninitializedVarible | 0.002 s |
| ** | testNot | 0.001 s |
| ** | testSubArray | 0.003 s |
| ** | executePersistingGlobalsRejectedBaselineFunctionNameDoesNotNormalizeMapValue | 0 s |
| ** | executePersistingGlobalsPersistsSeededCompiledAndUncompiledUserGlobals | 0 s |
| ** | testPrintComparison | 0.003 s |
| ** | testMailListLiList | 0.001 s |
| ** | testArraysOfArraysInDoesNotAutovivifyMissingSubarray | 0.001 s |
| ** | testExit | 0.002 s |
| ** | systemStderrGoesToExplicitErrorStream | 0.014 s |
| ** | loadSerializedProgram | 0.007 s |
| ** | executeToOutputStream | 0.001 s |
| ** | executeDefaultOrsIsNewline | 0 s |
| ** | rejectsInvalidVariableName | 0.001 s |
| ** | testArraysOfArraysHandlesNestedLengthIterationAndMutation | 0.002 s |
| ** | testArraysOfArraysRejectArrayAsScalarSubscript | 0 s |
| ** | testPrintfC | 0.001 s |
| ** | compileFromReader | 0 s |
| ** | compileFromString | 0.001 s |
| ** | testSubVariable | 0.001 s |
| ** | sandboxRejectsArgcAssignment | 0 s |
| ** | testDavideBrini | 0.002 s |
| ** | testArraysOfArraysPostfixOperatorsUseNumericOldValue | 0.001 s |
| ** | testAssignmentRightToLeft | 0.001 s |
| ** | testArraysOfArraysSupportsSubOnNestedElement | 0.001 s |
| ** | compileTuplesRequiresFilename | 0 s |
| ** | sandboxRejectsOutputRedirectionDuringCompile | 0.001 s |
| ** | testComparisonArgumentsLeftAssociativity | 0.001 s |
| ** | executeToAppendable | 0 s |
| ** | testSubReplaceWithMatchReference | 0.001 s |
| ** | testComplexExpressionLeftAssociativity | 0 s |
| ** | localeAffectsCapturedOutput | 0.036 s |
| ** | compileRejectsEmptyParenthesizedPrintStatements | 0.001 s |
| ** | testArraysOfArraysReadAutovivifiesMissingParentSubarray | 0.001 s |
| ** | systemStderrMergesIntoOutputByDefault | 0.002 s |
| ** | executePersistingGlobalsRetainsGlobalsAcrossRepeatedRunsOfSameProgram | 0.001 s |
| ** | persistentMemorySnapshotRestoresGlobalsIntoAnotherAvm | 0 s |
| ** | executePersistingGlobalsReappliesBaselineVariablesBeforeBegin | 0 s |
| ** | existingExecuteDoesNotPersistGlobals | 0 s |
| ** | compileRejectsPrintfWithoutArguments | 0.001 s |
| ** | testArraysOfArraysAssignmentAndLookup | 0.001 s |
| ** | crlfInputFileProducesCleanRecords | 0.001 s |
| ** | testArraysOfArraysSupportsGetlineIntoSubarray | 0.001 s |
| ** | test1 | 0.004 s |
| ** | testEmptyPattern | 0 s |
| ** | testGetlineDefaultVariable | 0 s |
| ** | testArraysOfArraysSupportsDeletingPassedSubarrays | 0 s |
| ** | perExecutionSinkOverridesDefault | 0 s |
| ** | awkTestSupportCanExecuteScriptFromPath | 0 s |
| ** | testSubDollarZero | 0.003 s |
| ** | sandboxRejectsRedirectionAtRuntime | 0 s |
| ** | testPrintParenthesizedExpressionConcatenation | 0.001 s |
| ** | testArraysOfArraysRejectScalarAsArray | 0.001 s |
| ** | sandboxAllowsReadingArgc | 0 s |
| ** | sandboxAllowsReadingArgv | 0.001 s |
| ** | captureCollectsOutput | 0 s |
| ** | testArraysOfArraysForInDoesNotAutovivifyMissingSubarray | 0 s |
| ** | testChainedLogicalOrLeftAssociativity | 0 s |
| ** | testArrayStringKey2 | 0.001 s |
| ** | executePersistingGlobalsAcceptsListSeedForArrayGlobal | 0 s |
| ** | testArrayStringKey | 0.002 s |
| ** | testSubDollarReference | 0 s |
| ** | avmCanReuseSameRuntimeAcrossProgramRunsWithPerExecutionOutput | 0.001 s |
| ** | testDontPanicAdvice | 0.002 s |
| ** | executePersistingGlobalsImportsGlobalsFromPreviousExecute | 0.001 s |
| ** | clearPersistentGlobalsRemovesOnlyPersistentUserGlobals | 0 s |
| ** | testEvalNF | 0 s |
| ** | testIncDec | 0.003 s |
| ** | testChainedExponentiationRightAssociativity | 0 s |
| ** | executePersistingGlobalsDoesNotPersistBuiltInsAndKeepsArraysOnlyForGlobals | 0.002 s |
| ** | testChainedMultiplicationsAndDivisionsLeftAssociativity | 0 s |
| ** | executePersistingGlobalsRejectedOverrideFunctionNameDoesNotNormalizeMapValue | 0.001 s |
| ** | testChainedStringConcatenationLeftAssociativity | 0 s |
| ** | testArraysOfArraysSupportsFunctionArrayParameters | 0.001 s |
| ** | compileTuplesViaCLI | 0.005 s |
| ** | testRanges | 0.005 s |
| ** | testPrintParenthesizedExpressionOperators | 0.004 s |
| ** | testSubstr | 0.001 s |
| ** | testFunctionArgumentsLeftAssociativity | 0 s |
| ** | executePersistingGlobalsDefersRuntimeArgumentAssignmentsUntilInputTraversal | 0.001 s |
| ** | testEvalFieldExtraction | 0 s |
| ** | cliEnablesSandboxMode | 0 s |
| ** | testArraysOfArraysSupportsMixedCommaSubscripts | 0.001 s |
| ** | appendableSinkHandlesSplitMultiByteUtf8 | 0 s |
| ** | sandboxRejectsInputRedirectionDuringCompile | 0.001 s |
| ** | executePersistingGlobalsSharesUserGlobalsAcrossPrograms | 0 s |
| ** | executePersistingGlobalsPersistsMutationsBeforeExitAndIoFailure | 0.002 s |
| ** | invokeWithExplicitExtensions | 0 s |

### [ScriptEngineTest](#scriptenginetest)

| ** | testJawkScriptEngineAcceptsListBinding | 0.032 s |
| --- | --- | --- |
| ** | testJawkScriptEngine | 0.001 s |

### [JRTTest](#jrttest)

| ** | testPrintfSpecialCharacters | 0 s |
| --- | --- | --- |
| [#io-jawk-jrttest-testspawnprocessmore](#io-jawk-jrttest-testspawnprocessmore) | [testSpawnProcessMore](#io-jawk-jrttest-testspawnprocessmore) [+ - [ Detail ]](javascript:toggleDisplay('io.jawk.JRTTest.testSpawnProcessMore');) | 0 s |
| - | got: <false>, expected: is <true> | - |
| ** | testCompare2NumericStrings | 0 s |
| ** | testRegexFsKeepsLeadingAndTrailingSeparators | 0.001 s |
| ** | testSpawnProcessCat | 0.004 s |
| ** | testToDouble | 0 s |
| [#io-jawk-jrttest-testsystempipewindows](#io-jawk-jrttest-testsystempipewindows) | [testSystemPipeWindows](#io-jawk-jrttest-testsystempipewindows) [+ - [ Detail ]](javascript:toggleDisplay('io.jawk.JRTTest.testSystemPipeWindows');) | 0 s |
| - | got: <false>, expected: is <true> | - |
| ** | testCompare2MixedNumberAndString | 0 s |
| ** | testSplitSetsFieldZero | 0 s |
| ** | testSystemPipe | 0.003 s |
| ** | testCompare2NumericOperands | 0 s |
| ** | testCompare2FallsBackToStringComparison | 0 s |
| ** | testSplitRegexWhitespace | 0 s |
| ** | testCompare2Uninitialized | 0.001 s |
| ** | testToLong | 0 s |
| ** | testSplitUsesLongIndexesForPlainMap | 0 s |

### [InputSourceTest](#inputsourcetest)

| ** | testTextOnlyInputSourceUsesFsActiveWhenRecordWasRead | 0.002 s |
| --- | --- | --- |
| ** | testFieldsOnlyInputSourceSupportsBareRegexpRules | 0.004 s |
| ** | testGetlineIntoVariableMaterializesCurrentRecordBeforeAdvance | 0.002 s |
| ** | testBasicFieldAccess | 0.002 s |
| ** | testGetlineSynthesizesDollarZeroWithSanitizedNullFields | 0.001 s |
| ** | testEvalWithInputSourceNoInput | 0 s |
| ** | testDynamicFieldAccessAvoidsRecordTextLookup | 0 s |
| ** | testFieldsOnlyInputSourceRegexpUsesCurrentDollarZeroAfterFieldMutation | 0.001 s |
| ** | testFileListVariableAssignmentsAreAppliedWithInputSource | 0.001 s |
| ** | testFieldModificationRebuildsDollarZero | 0 s |
| ** | testEvalWithTextOnlyInputSourceAndFieldParsing | 0.002 s |
| ** | testNrCountsRecordsFromInputSource | 0 s |
| ** | testOfsUsedWhenDollarZeroIsRebuilt | 0 s |
| ** | testEvalWithInputSourcePreSplitFields | 0 s |
| ** | testFieldsOnlyInputSourceSupportsFieldAccessWithoutRecordText | 0.001 s |
| ** | testDollarZeroAccessAvoidsFieldLookup | 0.001 s |
| ** | testDeprecatedGetRecordCompatibilityStillWorks | 0.001 s |
| ** | testRedirectedGetlineDoesNotReuseInputSourceFields | 0.002 s |
| ** | testNfModificationTruncatesRecord | 0.001 s |
| ** | testGetlineConsumesNextRecord | 0.001 s |
| ** | testDollarZeroUsesInputSourceRecord | 0.002 s |
| ** | testEvalWithInputSourceFieldAccess | 0 s |
| ** | testFieldOnlyAccessAvoidsRecordTextLookup | 0 s |
| ** | testEvalWithPrecompiledTuplesAndInputSource | 0.001 s |
| ** | testEmptyInputSourceRunsBeginAndEndOnly | 0 s |
| ** | testNfReflectsInputRowSize | 0.001 s |
| ** | testFieldsOnlyInputSourceSynthesizesDollarZeroUsingLiteralFs | 0 s |
| ** | testGetlineUsesPreSplitFieldsWhenProvided | 0.001 s |
| ** | testEvalWithInputSourceAndSettingsFieldSeparator | 0 s |
| ** | testNullFieldsFallsBackToFsSplitting | 0.001 s |

### [CliOptionTest](#clioptiontest)

| ** | profileOptionRecordsFunctionThatExitsWithoutReturning | 0.023 s |
| --- | --- | --- |
| ** | persistOptionPersistsAssociativeArraysAcrossCliRuns | 0.014 s |
| ** | posixOptionStillAllowsClassicMultidimensionalSubscripts | 0.003 s |
| ** | persistOptionPersistsUserGlobalsAcrossCliRuns | 0 s |
| ** | shortNoOptimizeOptionDisablesOptimization | 0.002 s |
| ** | posixLoadOptionWithoutFilenameReportsMissingArgument | 0.001 s |
| ** | profileOptionPrintsReportToStderr | 0.006 s |
| ** | posixOptionRejectsNestedArrays | 0.001 s |
| ** | persistOptionWithoutFilenameReportsMissingArgument | 0.001 s |
| ** | helpOutputDoesNotAdvertiseUnsupportedOutputOption | 0.001 s |
| ** | profileOptionWithEmptyFilenameIsRejected | 0 s |
| ** | posixOptionRejectsPrecompiledProgramsInEitherOrder | 0.017 s |
| ** | persistOptionWithWrongSerializedTypeThrowsFriendlyError | 0.001 s |
| ** | persistOptionOverridesPersistentMemoryEnvironmentVariable | 0.003 s |
| ** | loadOptionWithWrongSerializedTypeThrowsFriendlyError | 0.002 s |
| ** | profileOptionWriteFailureIsReportedAsIoFailure | 0.002 s |
| ** | longNoOptimizeOptionDisablesOptimization | 0 s |
| ** | posixOptionDisablesArraysOfArrays | 0.001 s |
| ** | persistOptionFlushesOutputBeforeSaveFailure | 0.001 s |
| ** | profileOptionWithFilenameWritesReportToFile | 0.008 s |
| ** | persistentMemoryEnvironmentVariablePersistsUserGlobalsAcrossCliRuns | 0.003 s |

### [AssocArrayTest](#assocarraytest)

| ** | testInjectMapVariableMutatesOriginalMap | 0.001 s |
| --- | --- | --- |
| ** | testRemoveNumericStringKey | 0 s |
| ** | testMissingInjectedMapElementDoesNotReturnRawNull | 0.001 s |
| ** | testInjectLinkedListVariableUsesZeroBasedIndexes | 0.001 s |
| ** | testInjectAssocArrayIterateForIn | 0.003 s |
| ** | testDeleteArrayClearsInjectedMap | 0 s |
| ** | testInjectListVariableUsesZeroBasedIndexes | 0.001 s |
| ** | testInOperatorWithNullKey | 0 s |
| ** | testIgnoredVariableAssignmentDoesNotNormalizeMapValue | 0.001 s |
| ** | testUninitializedIndexUsesEmptyString | 0 s |
| ** | testInOperatorWithNumericAndStringKeys | 0 s |
| ** | testRemoveNumericKeyFromString | 0 s |
| ** | testRemoveMissingKey | 0 s |
| ** | testInjectAssocArrayVariable | 0.001 s |
| ** | testInjectImmutableMapOfListVariableThrowsClearException | 0.003 s |
| ** | testInjectScalarIntoArrayVariableThrows | 0 s |
| ** | testInjectMapOfListVariable | 0 s |
| ** | testInjectListOfMapVariable | 0.003 s |
| ** | testDeleteArrayKeepsInjectedMapBoundForLaterWrites | 0.001 s |
| ** | testRejectedFunctionNameAssignmentDoesNotNormalizeMapValue | 0.001 s |
| ** | testInjectMapVariableDoesNotNormalizeKeys | 0 s |
| ** | testCreateAssocArrayFromListUsesZeroBasedIndexes | 0.001 s |
| ** | testNormalizeMapValueKeepsMapAndConvertsNestedList | 0 s |
| ** | testSplitMutatesInjectedMapDirectly | 0.001 s |
| ** | testInjectMapVariable | 0 s |

### [AwkParserTest](#awkparsertest)

| ** | testPow | 0 s |
| --- | --- | --- |
| ** | testGron | 0.046 s |
| ** | testArraysOfArraysCanBeDisabled | 0.002 s |
| ** | testRegExpConstant | 0.003 s |
| ** | testOperatorPrecedence | 0.003 s |
| ** | testMultiLineStatement | 0.004 s |
| ** | testPowAssignment | 0.001 s |
| ** | testTernaryAfterPrintParentheses | 0.001 s |
| ** | testNestedTernaryExpression | 0 s |
| ** | testStringParsing | 0.004 s |
| ** | testTernaryExpression | 0 s |
| ** | testUnaryPlus | 0.001 s |

### [RegexRuntimeSupportTest](#regexruntimesupporttest)

| ** | testPrepareReplacement | 0 s |
| --- | --- | --- |

### [DynamicFieldTest](#dynamicfieldtest)

| ** | testNumericStringFieldIndex | 0 s |
| --- | --- | --- |
| ** | testNegativeFieldIndex | 0 s |
| ** | testEmptyStringFieldIndex | 0 s |
| ** | testFloatStringFieldIndex | 0.006 s |
| ** | testFloatVariableFieldIndex | 0 s |
| ** | testExponentStringFieldIndex | 0 s |
| ** | testUninitializedVariableFieldIndex | 0.001 s |
| ** | testNonNumericFieldIndex | 0.001 s |

### [JRTComparisonNumberTest](#jrtcomparisonnumbertest)

| ** | testIsComparisonNumberAcceptsDecimalForms | 0 s |
| --- | --- | --- |
| ** | testIsComparisonNumberRejectsInvalidDecimalForms | 0 s |
| ** | testIsComparisonNumberRejectsHexadecimal | 0 s |

### [AvailableExtensionsTest](#availableextensionstest)

| ** | testExtensionKeywords | 0 s |
| --- | --- | --- |
| ** | testExtensionNames | 0 s |
| ** | testListAvailableExtensions | 0 s |
| ** | testDuplicateExtensionInstancesAreRejected | 0 s |

### [AwkEvalTest](#awkevaltest)

| ** | testDirectAvmEvalLeavesBoundInputSourceOpenUntilClose | 0.016 s |
| --- | --- | --- |
| ** | testCompileExpressionTernaryFoldsLabeledBinaryLiteralBranch | 0.001 s |
| ** | testPrepareForEvalClosesPreviousCloseableInputSourceWhenRebinding | 0 s |
| ** | testEvalHonorsSettingsChangesBetweenCalls | 0.001 s |
| ** | testPrepareForEvalCanAdvanceAcrossRecordsOnSameSource | 0 s |
| ** | testCompileExpressionNegativeFieldBranchStillFailsOnlyAtRuntime | 0.002 s |
| ** | testReusedAvmEvalUsesPreparedRuntimeSetup | 0.001 s |
| ** | testCompileExpressionTernaryExpressionStartsWithoutGoto | 0.001 s |
| ** | testCompileExpressionOmitsSetNumGlobalsForFieldOnlyExpression | 0 s |
| ** | testCompileExpressionStatefulGlobalExpressionStartsWithoutGoto | 0.002 s |
| ** | testStatefulEvalUsesFreshAvmPerInvocation | 0.002 s |
| ** | testVariableOverridesDoNotLeakAcrossReusedAvmEvalCalls | 0.001 s |
| ** | testPrepareEvalRejectsDifferentStatefulTupleLayoutsWithoutReprepare | 0.002 s |
| ** | testEvalSourceAliasesStructuredInputEvaluation | 0 s |
| ** | testPrepareEvalClosesSourceWhenPreparationThrows | 0 s |
| ** | testEvalStringInputRepresentsSingleRecord | 0.002 s |
| ** | testPrepareEvalIntentionallyCarriesJrtStateAcrossExpressions | 0.001 s |
| ** | testInterpretClosesPreviousCloseableInputSourceWhenRebinding | 0.001 s |
| ** | testPrepareEvalRejectsExhaustedSource | 0 s |
| ** | testAwkEvalClosesStructuredInputSourceAfterOneShotEval | 0.001 s |
| ** | testOptimizeRemainsIdempotentForEvalTuples | 0.001 s |
| ** | testFieldOnlyEvalUsesFreshAvmPerInvocation | 0 s |
| ** | testPreparedAvmCanCloseBoundInputSource | 0.001 s |
| ** | testCompileExpressionTernaryFoldsAllLiteralFieldAccessesIncludingLabeledEntries | 0.001 s |
| ** | testPrepareEvalIntentionallyCarriesStateAcrossRepeatedTupleRuns | 0 s |
| ** | testReusedAvmPreparesStatefulExecutionOnEachRun | 0.001 s |
| ** | testReusableEvalResetsStructuredInputStateBetweenRuns | 0 s |
| ** | testCompileExpressionUnoptimizedTernaryExpressionResolvesBranchTargets | 0 s |
| ** | testCompileExpressionSimpleFieldExpressionFoldsToConstFieldAccess | 0 s |
| ** | testPrepareEvalReusesOneStringRecordAcrossSeveralExpressions | 0 s |
| ** | testPrepareEvalReusesOneStructuredRecordAcrossSeveralExpressions | 0 s |
| ** | testReusableEvalResetsStringInputStateBetweenRuns | 0 s |
| ** | testCompileExpressionKeepsSetNumGlobalsWhenGlobalMetadataIsNeeded | 0.001 s |

  

## [Failure Details](#failure-details)

[[Summary](#summary)] [[Package List](#package-list)] [[Test Cases](#test-cases)]

  

| ** | posix16EmptyProgramExitsZero |
| --- | --- |
| - | skipped: Empty programs are not yet supported by the CLI |
| ** | posix33FsAsEre |
| - | skipped: Jawk does not yet normalize whitespace when FS is an ERE |
| ** | posix98FflushReturnsZero |
| - | skipped: fflush() is not available in Jawk |
| ** | posix132UnreadableFileProducesDiagnostic |
| - | skipped: Jawk throws FileNotFoundException instead of reporting a diagnostic |
| ** | posix35RsEmptyParagraphMode |
| - | skipped: RS="" paragraph mode is not implemented |
| ** | posix142LocaleNumericInput |
| - | skipped: Locale-aware numeric parsing is not available |
| ** | posix26DashVSetsRegexFs |
| - | skipped: Jawk does not treat -v FS assignments as regular expressions yet |
| ** | posix94PrintfStarWidthPrecision |
| - | skipped: Dynamic width/precision in printf requires printf4j support |
| ** | posix88NextfileSkipsRestOfCurrentFile |
| - | skipped: nextfile is not supported by Jawk |
| ** | testSpawnProcessMore |
| - | skipped: got: <false>, expected: is <true> |
| ** | testSystemPipeWindows |
| - | skipped: got: <false>, expected: is <true> |
