Commit Graph
413 Commits
Author SHA1 Message Date
José Valim d311e10bea Change HashDict implementation to use tries with compound nodes
The new implementation is basically a tree of tuples (tries) but
they allow compond nodes (a node with a key-value pair and a
sub-tree). This removes the need for node-expansion and also simplifies
the design structure to not require multiple stages nor buckets.

The end result is a faster HashDict implementation (about 10% faster
on access, 30% on updates), which is still small for small dicts
but about 30% bigger for large dicts (in terms of memory) and with
a much simpler implementation.
2014-01-19 13:58:45 +01:00
José Valim adf7834529 Ensure ExUnit doesn't hang on linked failures
Thanks to @pminten for reporting this issue.
2014-01-18 19:41:19 +01:00
José Valim 5a2e838def Deprecate <-/2 in favor of send/2 2014-01-14 18:27:41 +01:00
Eric Meadows-Jönsson ab538670d3 Add :records, :binaries and :char_lists options to inspect/2
Deprecate :raw in favor of :records
2014-01-11 00:25:23 +01:00
John Warwick afd5ebb563 Fixing doc typos in ExUnit 2014-01-07 23:03:54 -05:00
José Valim 0aff2a3139 Compile with relative paths and include apps in stacktraces
Closes #1964, closes #1861
2014-01-07 11:30:44 +01:00
José Valim d37b7b3702 Ensure teardown test case is returned 2014-01-05 18:33:53 +01:00
José Valim 84cc7d5eb0 Only run setup_all if there are tests in the case 2014-01-05 17:38:21 +01:00
José Valim 1ee1a3f687 Support @moduletag in ExUnit 2014-01-05 12:24:37 +01:00
José Valim 05c6f9f822 include in ExUnit only has effect after an exclude 2014-01-05 12:08:08 +01:00
José Valim 79faa1f706 Do not export case and receive vars 2014-01-04 10:45:13 +01:00
José Valim 5e2ea082d1 Deprecate __FILE__ in favor of __DIR__ or __ENV__.file 2014-01-02 18:10:59 +01:00
Eric Meadows-Jonsson f67022267f Reset tags for every test 2013-12-31 20:25:32 +01:00
Eric Meadows-Jonsson 8d59c007c8 ex_unit teardown should run even if setup fails 2013-12-31 18:51:56 +01:00
José Valim 9c9d8e855e Merge pull request #1943 from ericmj/doctest-inspect
Add raw string compare in doctests for #Module<...>
2013-12-31 08:39:26 -08:00
José Valim 9afc1043c9 Move filters functionality to ExUnit.Filters 2013-12-31 17:31:20 +01:00
José Valim 1622eb63b4 Merge pull request #1909 from vanstee/exunit-support-filters
Support ExUnit filters
2013-12-31 08:04:05 -08:00
José Valim 7836493d23 Do not leak clause heads, closes #1948 2013-12-30 23:12:44 +01:00
José Valim f8b019c7c8 Move to the new expansion on the front-end 2013-12-28 23:14:55 +01:00
José Valim b39c762557 Rename redundant is_ prefix in internal APIs 2013-12-24 23:06:59 +01:00
vanstee b536a2ac7c Write in-depth docs on how to use filters as flags 2013-12-18 14:58:47 -05:00
Eric Meadows-Jonsson afb7efd11b Add raw string compare in doctests for #Module<...>
Will now do raw string compare for doctests of #Module<...> format:

    iex> HashDict.new a: 0, b: 1, c: 2
    #HashDict<[a: 0, b: 1, c: 2]>
2013-12-18 15:52:23 +01:00
vanstee a5602a71fa Update docs to define include and exclude filters 2013-12-17 01:48:41 -05:00
vanstee 0bd45a090a Display include and exclude filters separately 2013-12-17 01:39:55 -05:00
vanstee f0456b6377 Refactor filter evaluation
Thanks for the help @josevalim and @christhekeele
2013-12-17 00:05:03 -05:00
vanstee d4729a3795 Add support for include and exclude flags 2013-12-16 14:48:37 -05:00
vanstee c7da787265 Support separate inclusion and exclusion filters 2013-12-15 21:12:27 -05:00
vanstee eab8b46879 Support filters for multiple tags 2013-12-14 13:34:38 -05:00
vanstee 67e0367987 Match filters with a case 2013-12-14 13:33:21 -05:00
John Warwick 24725090f5 Cleaning up ExUnit.CaptureIO docs 2013-12-11 12:20:04 +01:00
Alexei Sholik c19ea55ed7 Simplify the logic of translate_assert
There is no visible need to pass the fallback function through all the
cases of translate_assert. It's makes the code simpler if we keep
the conditional logic at the beginning.
2013-12-09 16:28:12 +02:00
vanstee 04623a6edf Always run tests without matching tags 2013-12-03 02:35:11 -05:00
vanstee a3afaeec8e Reverse filter match happy path to make more sense 2013-12-03 01:57:22 -05:00
vanstee 5d7a1cf7a0 Support exclusion of any tag key-value pair 2013-12-03 01:35:51 -05:00
vanstee 4e29f274c5 Move filter parsing logic to a more testable place 2013-12-02 20:28:25 -05:00
vanstee 05a321dc8c Ensure filter is always a list 2013-12-02 20:13:51 -05:00
vanstee 7818551e6a Don't hold on to the filter after printing it 2013-12-02 19:51:41 -05:00
vanstee 01e31cf3c3 Filters apply to tests instead of cases 2013-12-01 23:15:31 -05:00
vanstee 640cc06d63 Fix warning about unused variable 2013-12-01 23:11:22 -05:00
vanstee b2f97f5406 Don't count tests that were skipped 2013-12-01 23:11:22 -05:00
vanstee d510356f20 Skip tests with a mismatched filter 2013-12-01 17:34:44 -05:00
vanstee cb6753742b Print formatted filters before running tests 2013-12-01 17:34:44 -05:00
vanstee 73253206f2 Add helper function to format filters 2013-12-01 17:34:44 -05:00
vanstee 90f9162e3f Write test exercising case filtering 2013-12-01 17:34:44 -05:00
José Valim bbc0fe0a63 Slightly refactor and improve doctests code 2013-11-29 23:23:06 +01:00
John Warwick 895852f1d2 Removed hard links to modules. Relying on ExDoc to autolink 2013-11-28 23:48:34 -05:00
John Warwick d416b700e3 Cleaning up ex_unit docs 2013-11-27 22:53:14 -05:00
José Valim d3055a9d2a Store tags in context, remove records from context 2013-11-27 13:03:38 +01:00
José Valim 5263610aac Move test outcome to an explicit state 2013-11-27 10:34:46 +01:00
José Valim 5d53abc5ff Support ExUnit tags for customizing tests in callbacks 2013-11-27 09:38:53 +01:00