The `async` config is meant to be set only by the time `ExUnit.Case`
is used. With these changes we make sure a proper error will be
raised if we eventually try to override it, either at the setup step,
for the whole case as a moduletag, or as a regular test tag.
* Add usage information to iex.bat
Support command line switch '--help', '-h', '/h' and '/?' to show usage information for iex.bat.
Check argument with '/I' to make the test case insensitive:
This allows showing usage information with '--HELP', '-H' and '/H'.
Use 'setlocal' and 'endlocal' so changes to the environment are local to the batch file
(https://technet.microsoft.com/en-us/library/bb491001.aspx) - so there is no need to un-set __ELIXIR_IEX_FLAGS.
* Use documented syntax 'goto label' - without leading colon before the label
* Support cli switch '/?' to show help
Use label :end to jump to the end of the batch file after showing help text -
so the call to elixir.bat is not executed when showing help.
Use 'setlocal' and 'endlocal' so that the env var 'argc' is local to this batch file.
* Support cli switch '/?' to show help for elixir.bat
Test for cli switch '/?' does not need to be case insensitive.
There are two fixes here:
* All dependencies run in a particular environment, which defaults
to prod. If two dependencies have different environments, they
will diverge but the error message wouldn't include the env flag,
which made it hard to spot the reason. This commit now always
include the :env option
* Our converger algorithm was comparing [env: :prod] with [] and
accusing a divergence but they should be the same as the default
:env is :prod. We have made sure to set the environment to :prod
for all deps
* Initial part of test noun customization.
* Adds `:type` field that defaults to `:test` to `ExUnit.Test` struct
* Adds `ExUnit.plural_rule/{1,2}`
* Group `ExUnit.Test` completions by `:type` for display in
`ExUnit.CLIFormatter`
* Adds experimental test noun customization interface and tests
* "Fix" `IEx.Helpers` test that was relying on `ExUnit` having no specs
The documentation mentioned "biggest" and "smallest" element,
but the meaning may be better conveyed by using "maximal"
and "minimal" instead (since these function start with max* and min*
anyways).
This allow developers to get feedback sooner at the cost of
ExUnit no longer having a full view of all test cases. This
means test cases are no longer shuffled, but executed as they
are loaded.