E81013: malformed line in envvars file (no '=' separator)

Category: E81xxx-E83xxx Test configuration, execution and coverage · Classification: ENVVARS_PARSE_ERROR · All error codes

What went wrong

A line in an envvars file for a test case is malformed - it has no '=' separator, so it cannot be read as a NAME=VALUE pair.

How to fix it

  1. Give every line a '=': PORT=8080 MODE=fast
  2. Remove blank or comment-only lines that are not in NAME=VALUE form.

See also

Examples

Every example is compiled by the EK9 compiler: the first fails exactly as captioned, the others fix it.

Fails with E81013: malformed line in envvars file (no '=' separator) - reported by the test runner, not the compiler, when ek9 -t greeting.ek9 runs in this project.

bad/greeting.ek9

#!ek9
defines module error.e81013.bad

  defines function

    greeting() as pure
      -> name as String
      <- result as String: `Hello, ${name}`

bad/dev/tests.ek9

#!ek9
defines module error.e81013.bad.tests

  references
    error.e81013.bad::greeting

  defines program

    @Test
    GreetingCases()
      -> name as String
      stdout <- Stdout()
      stdout.println(greeting(name))

bad/dev/commandline_arg_simple.txt

EK9

bad/dev/envvars_arg_simple.txt

GREETING MODE loud

bad/dev/expected_case_simple.txt

Hello, EK9
$ ek9 -t greeting.ek9
ℹ️ Found 1 test:
  1 parameterized (1 cases total)

Executing 1 test...

❌ FAIL error.e81013.bad.tests::GreetingCases [Assert] (nms)
    Test configuration error: line 1: 'GREETING MODE loud' (no '=' separator)

Summary: 0 passed, 1 failed (1 total)
Types: 1 assert
Duration: nms
ek9: tests failed (exit 11)
E81013: malformed line in envvars file (no '=' separator)
  line 1: 'GREETING MODE loud' (no '=' separator)
  See: ek9 -h E81013

Fixed: Every line of the envvars file is NAME=VALUE

good/greeting.ek9

#!ek9
defines module error.e81013.good

  defines function

    greeting() as pure
      -> name as String
      <- result as String: `Hello, ${name}`

good/dev/tests.ek9

#!ek9
defines module error.e81013.good.tests

  references
    error.e81013.good::greeting

  defines program

    @Test
    GreetingCases()
      -> name as String
      stdout <- Stdout()
      stdout.println(greeting(name))

good/dev/commandline_arg_simple.txt

EK9

good/dev/envvars_arg_simple.txt

GREETING_MODE=loud

good/dev/expected_case_simple.txt

Hello, EK9
$ ek9 -t greeting.ek9
ℹ️ Found 1 test:
  1 parameterized (1 cases total)

Executing 1 test...

✅ PASS error.e81013.good.tests::GreetingCases [Param:simple] (nms)

Summary: 1 passed, 0 failed (1 total)
Types: 1 parameterized
Duration: nms