C/Go reg-test iterate

This commit is contained in:
John Kerl 2020-11-23 23:18:54 -05:00
parent 592c0c4d39
commit c13d32667e
5 changed files with 32 additions and 39 deletions

View file

@ -2377,4 +2377,4 @@ This is simply a copy of what you should see on running **man mlr** at a command
2020-11-15 MILLER(1)
2020-11-24 MILLER(1)

View file

@ -2367,4 +2367,4 @@ SEE ALSO
2020-11-15 MILLER(1)
2020-11-24 MILLER(1)

View file

@ -2,12 +2,12 @@
.\" Title: mlr
.\" Author: [see the "AUTHOR" section]
.\" Generator: ./mkman.rb
.\" Date: 2020-11-15
.\" Date: 2020-11-24
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
.TH "MILLER" "1" "2020-11-15" "\ \&" "\ \&"
.TH "MILLER" "1" "2020-11-24" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Portability definitions
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View file

@ -21,7 +21,12 @@ rrv ./reg-test/cases/case-c-dsl-triple-for-loops.sh
"Continuation statements are split into the final boolean, and the statements before (if any)."
rrv ./reg-test/cases/case-c-label.sh
* needs uniqueness-checker
* handles old/new clashes differently from C impl :^/
================================================================
ENV
rrv ./reg-test/cases/case-c-dsl-functional-tests.sh
================================================================
MULTIPLE ISSUES:
@ -43,18 +48,11 @@ rrv ./reg-test/cases/case-c-multi-character-ixs.sh
rrv ./reg-test/cases/case-c-implicit-header-csv-input.sh
rrv ./reg-test/cases/case-c-missing-final-lf.sh
================================================================
ENV
rrv ./reg-test/cases/case-c-dsl-functional-tests.sh
================================================================
PUT -S / -F / -A
rrv ./reg-test/cases/case-c-dsl-type-inference.sh
rrv -C1 ./reg-test/cases/case-c-dsl-for-srec-loops.sh
rrv -C1 ./reg-test/cases/case-c-dsl-type-inference.sh
rrv ./reg-test/cases/case-c-dsl-pythonic-division.sh
rrv -C20 ./reg-test/cases/case-c-dsl-local-map-variable-write-read.sh
rrv -C20 ./reg-test/cases/case-c-dsl-local-map-variable-write-read.sh
@ -63,6 +61,8 @@ rrv -C20 ./reg-test/cases/case-c-dsl-local-map-variable-write-read.sh
================================================================
ARRAY/MAP
rrv ./reg-test/cases/case-c-localvar-unsets.sh
rrv -C5 ./reg-test/cases/case-c-dsl-for-oosvar-loops.sh
rrv ./reg-test/cases/case-c-dsl-mapvar-assignments.sh
@ -108,16 +108,6 @@ rrv ./reg-test/cases/case-c-dsl-trailing-commas.sh
rrv ./reg-test/cases/case-c-dsl-argpass-typedecl.sh
rrv ./reg-test/cases/case-c-dsl-multipart-scripts.sh
================================================================
FORMATTING?
rrv ./reg-test/cases/case-c-dsl-forbind-typedecl.sh
rrv ./reg-test/cases/case-c-dsl-indirect-srec-assignments.sh
rrv ./reg-test/cases/case-c-dsl-operator-associativity.sh
rrv ./reg-test/cases/case-c-dsl-operator-precedence.sh
rrv ./reg-test/cases/case-c-dsl-typed-overlay.sh
rrv ./reg-test/cases/case-c-localvar-unsets.sh
================================================================
PARTIALLY IMPLEMENTED:
@ -222,19 +212,3 @@ rrv ./reg-test/cases/case-c-step.sh
rrv ./reg-test/cases/case-c-top.sh
rrv ./reg-test/cases/case-c-uniq.sh
rrv ./reg-test/cases/case-c-utf8-bom.sh
================================================================
JUST FORMATTING NOW??
rrv ./reg-test/cases/case-c-dsl-type-inference.sh
rrv -C1 ./reg-test/cases/case-c-dsl-for-srec-loops.sh
rrv -C1 ./reg-test/cases/case-c-dsl-type-inference.sh
rrv ./reg-test/cases/case-c-dsl-pythonic-division.sh
rrv -C20 ./reg-test/cases/case-c-dsl-local-map-variable-write-read.sh
rrv -C1 ./reg-test/cases/case-c-dsl-local-map-variable-write-read.sh
================================================================
rrv -C20 ./reg-test/cases/case-c-dsl-empty-statements.sh
rrv -C1 ./reg-test/cases/case-c-dsl-empty-statements.sh
================================================================

View file

@ -1,6 +1,7 @@
package mappers
import (
"errors"
"flag"
"fmt"
"os"
@ -60,9 +61,13 @@ func mapperLabelParseCLI(
argi += 1
mapper, _ := NewMapperLabel(
mapper, err := NewMapperLabel(
newNames,
)
if err != nil {
fmt.Fprint(os.Stderr, err)
return nil
}
*pargi = argi
return mapper
@ -95,6 +100,20 @@ type MapperLabel struct {
func NewMapperLabel(
newNames []string,
) (*MapperLabel, error) {
uniquenessChecker := make(map[string]bool)
for _, newName := range newNames {
_, ok := uniquenessChecker[newName]
if ok {
return nil, errors.New(
fmt.Sprintf(
"mlr label: labels must be unique; got duplicate \"%s\"\n",
newName,
),
)
}
uniquenessChecker[newName] = true
}
this := &MapperLabel{
newNames: newNames,
}