Commit Graph

778 Commits

Author SHA1 Message Date
Adithya Kumar
c361a315e3 Add some test cases for unboxed array 2022-07-08 16:51:03 +05:30
Ranjeet Kumar Ranjan
8ac1ad15c2 Implement nub as Fold 2022-07-04 17:55:33 +05:30
Adithya Kumar
3e76123e53 Add couple of test cases for foreign mutable array 2022-06-30 17:51:39 +05:30
Adithya Kumar
adc2e75b5d Abstract out Unboxing helpers and comment out IOVec code 2022-06-23 16:09:57 +05:30
Adithya Kumar
0d2ce6ca76 Deprecate variance and stdDev in folds 2022-06-11 19:18:01 +05:30
Adithya Kumar
1ee11e87ec Increase the build memory limit for test:Data.Parser 2022-06-09 21:55:06 +05:30
Adithya Kumar
f3b07c2922 Add an option to preserve quotes in wordQuotedBy 2022-06-09 21:55:06 +05:30
Harendra Kumar
d36f02ff12 Implement min/max/range without dequeue 2022-06-09 16:46:13 +05:30
Ishan Bhanuka
9d68f58a21 Implement concatSequence for parser
concatSequence collects sequential parses of
parsers in a serial stream using a fold.

* Wrapper and internal implementation
* Benchmark and tests
* Documentation update
2022-05-30 12:07:09 +05:30
Harendra Kumar
2aae2da54c Add Word8 stream splitting tests 2022-05-29 00:29:39 +05:30
Ranjeet Kumar Ranjan
509fc06729 Fix takeFramedByEsc_ test case 2022-05-28 23:58:02 +05:30
Harendra Kumar
e715e4a115 Rename fold_/parse_/foldOn
fold_ to foldBreak
foldOn to foldContinue
parse_ to parseBreak

Use Parser instead of ParserD in parseBreak API
2022-05-19 23:57:56 +05:30
Harendra Kumar
420f387a20 Deprecate the "next" parser, use "one" fold instead 2022-05-19 23:26:49 +05:30
Ranjeet Kumar Ranjan
93e33d3292 Add parser tests cases
* takeEndBy
* takeEndByEsc
* takeFramedByEsc
* takeStartBy_
2022-05-12 16:59:07 +05:30
Harendra Kumar
9e034c738e Add takeWhileP test 2022-05-09 13:02:49 +05:30
Harendra Kumar
6ed0c935c5 Rename some parser APIs, reorg the export list
And add some proposed commented APIs.
2022-05-08 10:51:52 +05:30
Harendra Kumar
0409d4bbec Add a test for deintercalate 2022-05-06 16:51:30 +05:30
Harendra Kumar
e4418a5f06 Fix dependencies and package names
For bench-runner and test-runner
2022-05-06 16:51:30 +05:30
Harendra Kumar
b7b3aa8d02 Rename benchmark driver exe to bench-runner
To keep it consistent with test-runner for test driver
2022-04-28 23:35:26 +05:30
Harendra Kumar
5435aa1b16 Use Haskell based test driver
Replace bin/test.sh with a Haskell implementation
2022-04-28 23:13:45 +05:30
Ranjeet Kumar Ranjan
a849812d99 Maintain a list of top w elements in the stream 2022-04-22 19:55:41 +05:30
Ranjeet Kumar Ranjan
8569fdd383 Fix test case for takeBetween 2022-04-21 19:30:57 +05:30
Harendra Kumar
02578386da Use the demux input to determine the fold
We may want to use the entire value to determine the fold and not just
the key. For example, we may have the key as an Int that uniquely
determines the fold (for example a connection/request id). Once the
fold starts we can always lookup the fold using this key. However, to
determine what fold to use initially we may need more information than
just the request-id (e.g. the type of the message).
2022-04-11 18:41:37 +05:30
Adithya Kumar
5b135b5bfe Symlink a few moved dev files 2022-04-11 01:16:09 +05:30
Adithya Kumar
72a0199c67 Move the README of benchmarks and tests into the developer docs 2022-04-11 01:16:09 +05:30
Harendra Kumar
800ae8a8f8 Use monadic action to generate fold in demux* 2022-04-06 17:43:15 +05:30
Ranjeet Kumar Ranjan
d31f3329f1 Rename some unfold APIs 2022-04-06 17:41:47 +05:30
Ranjeet Kumar Ranjan
4f70b0d4e6 Rename Socket BufferOf APIs 2022-04-03 15:30:56 +05:30
Harendra Kumar
6b2f1c1669 Change demux fold APIs and implementations 2022-04-02 03:32:42 +05:30
Ranjeet Kumar Ranjan
7886550a71 Add bubbleAsc function
Fix review comments

Fix last element

Fix empty arraay check
2022-04-01 14:40:43 +05:30
Ranjeet Kumar Ranjan
3a59974ed8 Rename unfold scan to postscan, add benchmark, test 2022-03-25 15:18:27 +05:30
Ranjeet Kumar Ranjan
3b3bda74fb Add a test for Fold.postscan
Fix review comments

Fix review comments
2022-03-25 15:09:57 +05:30
Ranjeet Kumar Ranjan
af68c08a71 Rename some filesystem APIs 2022-03-25 14:04:00 +05:30
Harendra Kumar
0eadd04ada Add doc, powersums and mean
Rename "whole" to "cumulative"
2022-03-25 12:33:58 +05:30
Ranjeet Kumar Ranjan
f95fcbd82f Add a module for sliding window folds
Moved some basic incremental folds from 'streamly-statistics" package.
2022-03-25 12:33:58 +05:30
Ranjeet Kumar Ranjan
e0cf3aa3cf Add test case for Fold.scan 2022-03-25 00:17:32 +05:30
Harendra Kumar
5ddfb45764 Split Serial module into Serial and WSerial 2022-03-24 12:55:08 +05:30
Harendra Kumar
cc7ac6cad9 Remove remaining code meant for GHC < 8.4 2022-03-24 02:24:27 +05:30
Ranjeet Kumar Ranjan
07bf70d5f8 Drop GHC 8.x to 8.2.x Support 2022-03-24 02:23:45 +05:30
Ranjeet Kumar Ranjan
1b8043f6ef Fix joinOuter 2022-03-24 02:19:44 +05:30
Ranjeet Kumar Ranjan
3012ae95e5 Change the argument order of Unfold.many 2022-03-19 11:49:15 +05:30
Harendra Kumar
f8afdaf7e2 Fix docspec for Data.Fold 2022-03-14 11:47:42 +05:30
Ranjeet Kumar Ranjan
faabb9a01f Add mutable array "strip" operation 2022-03-14 02:29:41 +05:30
Ranjeet Kumar Ranjan
4b49390286 Fix uniqBy and rollingMap
Fix hlint

Fix review comments

Add Functor contraint

Fix review comments
2022-03-11 13:46:05 +05:30
Adithya Kumar
29ba5decc5 Extract streamly-core out of streamly 2022-03-10 01:25:49 +05:30
Adithya Kumar
064b1d9db7 Rename unsafeCast as castUnsafe 2022-03-07 03:54:51 +05:30
Ranjeet Kumar Ranjan
f30eafd440 Add -Wmissing-export-lists flag 2022-03-01 13:41:50 +05:30
Ranjeet Kumar Ranjan
e65c5db97e Add a takeEndBy transformation
Fix review comments

Fix review comments

Use fromStreamD and toStreamD instead of fromStreamS and add a test case

Move test case to Common

Fix hlint
2022-02-28 17:26:51 +05:30
Ranjeet Kumar Ranjan
64e9eeafc5 Add test cases for async 2022-02-11 03:59:34 +05:30
Ranjeet Kumar Ranjan
4d4732577d Add a test for wAsync behavior check 2022-02-11 03:59:34 +05:30
Harendra Kumar
ec20f5fdff Fix/simplify intersectBySorted
* Remove MonadIO and Eq constraints
* Simplify implementation
* Simplify tests
* Fix formatting
* Use longer benchmarks
2022-02-10 17:22:28 +05:30
Ranjeet Kumar Ranjan
160393c8e0 Implement intersectBySorted API 2022-02-10 14:47:01 +05:30
Adithya Kumar
7cd7a185d3 Change the working array position in the APIs of Foreign(.Type) 2022-02-06 03:52:44 +05:30
Adithya Kumar
64c476f34b Change the working array position in the APIs of Foreign.Mut.Type 2022-02-06 03:52:44 +05:30
Ranjeet Kumar Ranjan
582410afda Implement joinLeftHash API 2022-02-02 12:36:43 +05:30
Harendra Kumar
870958d766 Fix review suggestions for joinOuterHash 2022-02-02 07:04:37 +05:30
Harendra Kumar
c8d1ca3fc7 Fix joinOuterMap operation
The streams were used multiple times, now they are used only once.
2022-02-02 07:04:37 +05:30
Ranjeet Kumar Ranjan
72a2b1fa43 Implement joinOuterHash API 2022-02-02 07:04:37 +05:30
Harendra Kumar
1ca5137562 Bump hspec upper bound for GHC-9.3 2022-02-01 11:09:58 +05:30
Ranjeet Kumar Ranjan
0a35315923 Fix joinInnerMap test case failure 2022-02-01 11:07:24 +05:30
Harendra Kumar
66fe3d1ec9 Optimize and rename joinInnerHash to joinInnerMap 2022-01-15 02:26:26 +05:30
Ranjeet Kumar Ranjan
9fdce7a10a Add test cases for joinInnerHash 2022-01-15 01:28:02 +05:30
adithyaov
8145347bbc Constraint the upper bound of base to the latest major range
Don't include the invalid (non-existent) major ranges
2022-01-05 08:10:23 +05:30
adithyaov
5998dd8c41 Apply hlint suggesstions on common array test file 2021-12-17 17:43:23 +05:30
adithyaov
9c04f40999 Completely remove the unclean common array test code 2021-12-17 17:43:23 +05:30
adithyaov
6f65e4af2e Plug in common array test code cleanly in Data.SmallArray 2021-12-17 17:43:23 +05:30
adithyaov
420ee10869 Plug in common array test code cleanly in Data.Array.Prim.Pinned 2021-12-17 17:43:23 +05:30
adithyaov
561ec1edf1 Plug in common array test code cleanly in Data.Array.Prim 2021-12-17 17:43:23 +05:30
adithyaov
a2f7e570ab Plug in common array test code cleanly in Data.Array.Foreign 2021-12-17 17:43:23 +05:30
adithyaov
db254e10b7 Move common array test code cleanly out and plug it in Data.Array 2021-12-17 17:43:23 +05:30
adithyaov
5add04dd8d Add a test case for concurrent applicative 2021-12-09 15:13:58 +05:30
Harendra Kumar
03c154c645 Increase the build memory for Prelude.ZipAsync 2021-12-08 11:28:56 +05:30
Harendra Kumar
d0b45e3122 Restrict version bounds to < next major version
Restrict hspec to < 2.9.3 as 2.9.3 does not build for ghcjs.
2021-12-08 11:24:01 +05:30
Harendra Kumar
2bde24e5d2 Comment out incorrect test
The test is unpredictable as we create the watch dir before starting the
watch, we may miss the event.
2021-12-08 10:15:19 +05:30
Harendra Kumar
4ce545e30c Update documentation remove redundant comments 2021-11-30 16:30:25 +05:30
Ranjeet Kumar Ranjan
842d0ca9e7 Fix inappropriate type (Not a directory) error
In Linux module for File paths in recursive mode.
2021-11-30 15:47:59 +05:30
Harendra Kumar
f41693f01c Bump versions of transformers and tasty-bench 2021-11-26 03:54:22 +05:30
Harendra Kumar
4512fa476f Overhaul file system event testing
Remove watchRecursive from common fs event module as this is unreliable
on Linux platform.

Change default config to use non-recursive watch to make it same as the
behavior of the common module.
2021-11-14 12:31:48 +05:30
Harendra Kumar
e8fbfa8d31 Fix windows/linux builds 2021-11-14 12:31:48 +05:30
Ranjeet Kumar Ranjan
212559e9d5 Seperate platform specific Events 2021-11-14 12:31:48 +05:30
Ranjeet Kumar Ranjan
6b0b50207b Fix docs and enable test cases for common FS Event module 2021-11-14 12:31:48 +05:30
Ranjeet Kumar Ranjan
3b8932e74c Implement common FS events
Fix mac compile issue

Redue lower version of filepath

Fix review comments

 Fix Mac compile issue

Fix review comments
2021-11-14 12:31:48 +05:30
Harendra Kumar
6e52834cb2 Fix groupByRollingEither
* Change the signature to return different types in Either
* Fix a case to return correct Either value
* Fix and enhance benchmarks
* Implement sortBy using groupByRollingEither
2021-11-07 10:34:03 +05:30
Harendra Kumar
e4e8797202 Move sortBy to correct test group 2021-11-07 00:46:04 +05:30
Ranjeet Kumar Ranjan
732a916fdc Add tests for sort and mergeBy 2021-11-07 00:46:04 +05:30
Julian Ospald
d70b57c039 Add 'next' to Parsers 2021-11-06 21:54:26 +05:30
Harendra Kumar
0d6a0aa943 Rename unsafeIndex and unsafeWriteIndex
To getIndexUnsafe and putIndexUnsafe.
2021-10-22 01:13:53 +05:30
Harendra Kumar
58b7b77857 Make the seed in foldIterateM monadic 2021-10-10 14:17:06 +05:30
Harendra Kumar
209433807f Rename unsafeSlice to getSliceUnsafe 2021-10-09 22:59:01 +05:30
Harendra Kumar
02e884f264 Fix the takeBetween test
Fixes #1099
2021-10-09 22:53:18 +05:30
Harendra Kumar
1953900342 Ensure asserts are on in debug/dev/non-opt builds 2021-10-09 22:50:37 +05:30
Harendra Kumar
b38ae55fb0 Add test for writeN fold applied multiple times 2021-10-09 22:50:37 +05:30
Harendra Kumar
bb6856e0fd Add a basic test for concatPairsWith 2021-09-29 22:55:31 +05:30
Ranjeet Kumar Ranjan
c6bc13963f Make sequence concurrent 2021-09-28 09:30:35 +05:30
Harendra Kumar
f6b88dc488 Add a flag for flaky tests 2021-09-14 23:19:54 +05:30
Harendra Kumar
b82985820e Disable rate tests taking too much memory 2021-09-14 23:11:17 +05:30
Harendra Kumar
ea50a6cb50 Add use-large-mem flag
To include tests that require large amounts of RAM
2021-09-14 23:11:17 +05:30
Harendra Kumar
9d7bd5293a Make the test more reliable and add diag info 2021-09-14 23:11:17 +05:30
Harendra Kumar
70e7f94691 Move IsStream definition out of low level modules
The IsStream type class contains MonadAsync type in the consM method.
This refactor allows lifting MonadAsync, therefore, dependency on
monad-control out of the low level modules.
2021-09-14 23:11:17 +05:30
Adithya Kumar
62675bf529 Fix test:Unicode.Char static path for bin/test.sh 2021-09-13 18:48:12 +05:30
Adithya Kumar
705d2cf79f Move test:Unicode.Char into dev build 2021-09-13 18:48:12 +05:30
Harendra Kumar
932f7b26f0 Refactor and reformat readChunksFromToWith 2021-09-09 10:36:21 +05:30
Ranjeet Ranjan
debc6a95d4 Add readChunksFromToWith, read ranges from Handle 2021-09-09 10:36:21 +05:30
Ranjeet Kumar Ranjan
878d734dd7 Implement some undefined functions in Fold module
Implement Some undefined in Internal.Data.Fold module

Add test cases for newly added functions

Add bench marks for newly added Data.Fold functions
2021-09-05 05:39:45 +05:30
Harendra Kumar
d5a8ebe185 Refactor, rename, reorg code, update docs
* Add enumerateFromStepNum as a common function to implement two others
* Rename, Bounded suffix means the API has a Bounded constraint
* Move some functions in relevant sections
* Update some docs
2021-08-24 08:44:48 +05:30
Harendra Kumar
1eed4e1212 Make some formatting, doc changes 2021-08-24 08:44:21 +05:30
Ranjeet Kumar Ranjan
ba9a4e8f6a Change signature of enumerate functions 2021-08-24 08:44:21 +05:30
Adithya Kumar
1af938999b Add tests for retry 2021-08-09 21:21:33 +05:30
adithyaov
08ee39b078 Add unicode normalization test-suite 2021-08-09 19:43:40 +05:30
Adithya Kumar
3017898716 Add tests for Parser.choice 2021-08-09 16:36:48 +05:30
Ranjeet Kumar Ranjan
0b877054f8 Add test cases for newly added functions
Fix formatting

Fix review comments

Change Data.Fold.map to Data.Fold.lmap
2021-08-05 15:05:48 +05:30
Adithya Kumar
00240ed531 Add tests for takeP 2021-08-04 20:58:44 +05:30
Adithya Kumar
65758bab4d Make API in Array.Foreign.Mut monadic in IO 2021-07-30 19:00:38 +05:30
Adithya Kumar
c9232b0e25 Extracted IO related common functions into a new module 2021-07-29 15:35:16 +05:30
Adithya Kumar
9bda2e67b9 Change the API of unsafeWriteIndex and add fromListIO 2021-07-29 15:35:16 +05:30
Harendra Kumar
3339c2082d Add fold and parse for array streams
The test and benchmark code is taken from Adithya's original double
ended lists based implementation.
2021-07-26 18:14:46 +05:30
Harendra Kumar
f5470713c2 Update CI test matrix requirements and the script
Also, fix a few test issues to make the CIs work.
2021-06-22 22:54:41 +05:30
Harendra Kumar
eb50b94bd2 Add ability to pass arguments to doctest
* Also, use --fast by default
* Add documentation for running doctests in the test README
2021-06-11 02:10:52 +05:30
Pranay Sashank
7d9256e283 Rename Parser.yield, yieldM to fromPure, fromEffect. 2021-05-30 22:24:54 +05:30
Pranay Sashank
f24ddc0bdf Rename Unfold.yield, yieldM to fromPure, fromEffect. 2021-05-30 22:24:54 +05:30
Harendra Kumar
79defeb5ec Make minor refactoring changes for fromPure/fromEffect
* Move deprecated functions next to original ones, keep them in the generate
  section itself.
* Rename constructWithYield to constructWithFromPure
* Fix typo
2021-05-29 14:31:44 +05:30
Pranay Sashank
70faf014ca Rename Streamly.Prelude.yieldM to fromEffect.
- Deprecate yieldM.
2021-05-29 02:05:01 +05:30
Pranay Sashank
4dfc6bf9ee Rename Streamly.Prelude.yield to fromPure.
- Deprecate yield.
2021-05-29 01:22:02 +05:30
Harendra Kumar
03cf686ca7 Export some pre-release array APIs
* getIndex
* casting ops
* writeLastN
* readRev
2021-04-27 13:37:56 +05:30
Harendra Kumar
ae1ffbf520 Export forSocketM, rename transformBytesWith 2021-04-24 16:17:39 +05:30
Harendra Kumar
dc647f4a4e Change the argument order of intercalate and interpose 2021-04-24 16:17:39 +05:30
Ranjeet Kumar Ranjan
ac215ad43f Rename serially etc. to fromSerial etc. #1029 2021-04-16 00:20:54 +05:30
Ranjeet Kumar Ranjan
f203fa8c5d Rename fold constructors in Data.Fold #1016 2021-04-12 13:01:24 +05:30
Pranay Sashank
10b03bf59f Fix tests under dev flag. 2021-04-06 17:11:59 +05:30
Adithya Kumar
d3cc553ef9 Add a test case for Mut.unsafeWriteIndex 2021-04-06 02:34:29 +05:30
Adithya Kumar
833ad1f591 Add a basic array slicing combinator 2021-04-05 23:50:38 +05:30
Harendra Kumar
549d7fd492 Add lifting inner monad section
Expose liftInner, runStateT, runReaderT
2021-04-02 21:35:32 +05:30
Adithya Kumar
ac5c311242 Prefix tests with module names
Solves https://github.com/composewell/streamly/issues/858
2021-03-31 19:32:42 +05:30
Adithya Kumar
27ccdf4d94 Move compilation memory restrictions under a flag 2021-03-26 16:40:43 +05:30
Harendra Kumar
0954511144 Refactor/rename/add basic unfold constructors 2021-03-24 21:19:18 +05:30
Harendra Kumar
8af1c368c6 Change signatures of zipWith/zipWithM 2021-03-24 20:38:56 +05:30
Harendra Kumar
c5b2ad3740 Refactor/add cross product APIs 2021-03-24 04:00:21 +05:30
Harendra Kumar
a6e8e23062 Make enumerateFromStepNum numerically stable 2021-03-24 03:59:24 +05:30
Harendra Kumar
a5e483b610 Refactor Unfold module
* Rearrange exports, export additional functions
* Update docs
* Disable applicative/monad/category/arrow instances
* Rename const to yieldM and add yield
* Remove "effect", it can be expressed by yieldM
* Change order of arguments for some functions
2021-03-24 01:40:30 +05:30
Ranjeet Kumar Ranjan
b73b5ffa3a Rename concatUnfold to unfoldMany #986 2021-03-22 19:05:17 +05:30
Ranjeet Kumar Ranjan
7759cc0082 Rename Unfold.concat to Unfold.many #985 2021-03-20 00:40:13 +05:30
Pranay Sashank
7650587baa Implement fold in terms of fold_.
- Add test for fold_.
2021-03-18 13:11:23 +05:30
Harendra Kumar
3b1a26cee5 Update Fold module docs and expose some APIs 2021-03-16 01:46:51 +05:30
Adithya Kumar
f261f02d15 Make the behaviour of splitMany similar to that of parseMany 2021-03-13 03:33:17 +05:30
Adithya Kumar
7950a0a967 Add a test case for Fold.many 2021-03-12 01:01:51 +05:30
Ranjeet Kumar Ranjan
87ebad51cb Rename Types.hs modules to Type.hs 2021-03-11 15:12:08 +05:30
Harendra Kumar
bb72e18365 Remove mkAccum* fold constructors 2021-03-10 19:29:12 +05:30
Ranjeet Kumar Ranjan
4da398aa00 Change argument order in parser combinators #969
Keep the collecting fold as the last argument for ease of composition.
Data flows from one fold to the next, so the next fold in the chain
should be the last argument.
2021-03-09 23:10:43 +05:30
Adithya Kumar
eda484641a Add tests for foldIterateM 2021-03-09 07:56:12 +05:30
Harendra Kumar
ad9308ea6b Rearrange tests in the same order as in Data.Fold 2021-03-08 22:50:53 +05:30
Harendra Kumar
d2e3430348 Rename some fold combinators
This commit has no functional change, only renaming and doc edits.
2021-03-07 23:04:41 +05:30
Ranjeet Kumar Ranjan
df38c4a8a4 Change splitWith to serialWith in folds and parsers 2021-03-05 11:46:59 +05:30
Ranjeet Kumar Ranjan
0414fe8ec6 Rename takeLE to take 2021-03-05 11:43:48 +05:30
Harendra Kumar
ca29fd279e Make it build for GHC-9.0 2021-03-04 18:25:45 +05:30
Harendra Kumar
c8b9fac92b Move parse functions to Source module
Plus:

* Fix returning buffer in the "parse" function
* Some more minor formatting/doc fixups.
2021-02-21 01:58:20 +05:30
Harendra Kumar
2a7e3ccdbc Rename the resumable Unfold type to Producer 2021-02-21 01:58:20 +05:30
Harendra Kumar
7c95ccaaad Use an explicit state to represent nested loops 2021-02-21 01:58:20 +05:30
Harendra Kumar
c93bad0134 Simplify the type of resumable Unfold 2021-02-21 01:58:20 +05:30
Harendra Kumar
22c83f40fd Add resumable unfolds for efficient nested parsing
Instead of using a closed loop we can stop an unfold and then resume it
later. This allows us to break the loop and restart it at some other
point. For example, we can parse a block from an input stream from a
file handle or a socket and then return the socket/handle plus nay
buffered data (due to backtracking) so that we can resume reading from
it later on after doing some processing.
2021-02-21 01:58:20 +05:30
Harendra Kumar
77d11d37bb Add Monad instance for Unfold 2021-02-20 08:54:28 +05:30
Harendra Kumar
3947fee691 Add Applicative instance for Unfold 2021-02-20 08:51:30 +05:30
Adithya Kumar
521d9cfa7e Add a termination test for wSerialMin 2021-02-18 13:45:40 +05:30
Harendra Kumar
f6522bdd17 Remove sliceSepByMax
It can be expressed as:

sliceSepByMax p n = sliceSepBy p . takeLE n
2021-02-11 00:32:42 +05:30
Harendra Kumar
2131682e9a Update bin/test.sh cli help, add it to test/README.md 2021-02-10 02:00:33 +05:30
Harendra Kumar
7de5d6d7ff Allow -Werror without inspection/fusion-plugin
We may want to use the -Werror build locally but fusion-plugin takes too
much time to build, so separate the two.
2021-02-09 02:12:48 +05:30
Anurag Hooda
e4e1d25647 make sliceBeginWith fail when first element fails predicate 2021-02-07 20:05:01 +05:30
Anurag Hooda
fb9f05e4fb Add sliceBeginWith, tests and benchmarks 2021-02-07 20:05:01 +05:30
Pranay Sashank
ed030cc134 Rename some modules.
- Streamly.Internal.Memory.ArrayStream =>
  Streamly.Internal.Data.Array.Stream.Foreign
- Streamly.Memory.Ring =>
  Streamly.Internal.Ring.Foreign
- Streamly.FileSystem.IOVec =>
  Streamly.Internal.FileSystem.IOVec
- Streamly.FileSystem.FDIO =>
  Streamly.Internal.FileSystem.FDIO
- Streamly.FileSystem.FD =>
  Streamly.Internal.FileSystem.FD

Closes #873.
2021-02-01 21:39:22 +05:30
Pranay Sashank
5c018c7e45 Rename Data.Array.Storable.Foreign to Data.Array.Foreign.
Closes #854.
2021-02-01 21:31:06 +05:30
Harendra Kumar
525d2b0c1d Increase heap limits for Data.Parser/Prelude.Serial 2021-01-30 20:11:58 +05:30
Harendra Kumar
95ebb7b177 Increase the memory limit for streamly-tests library 2021-01-28 01:19:44 +05:30
Harendra Kumar
7e9f2a5a5c Print more information in failing tests 2021-01-27 19:09:51 +05:30
Harendra Kumar
c30184d2da Add reverse' test 2021-01-27 19:09:51 +05:30
Adithya Kumar
e40c09ccaa Add tests for ParserD.groupByRolling 2021-01-26 20:56:25 +05:30
Adithya Kumar
9473e6bbbe Deprecate mapM and sequence in favor of rmapM and rsequence 2021-01-16 17:48:06 +05:30
Adithya Kumar
084cdea601 Rename Fold.ltake to Fold.takeLE 2021-01-16 07:12:16 +05:30
adithyaov
bdedb6949b Make the initial value of Fold a Step type
Review changes in this commit were done by Harendra Kumar (@harendra-kumar)
2021-01-15 05:02:23 +05:30
Anurag Hooda
86745a756d Rename slicesepby to slicesepbyP, some formatting changes 2021-01-14 19:17:31 +05:30
Anurag Hooda
5ccf51dcae Implement slicesepby, add tests and benchmarks 2021-01-14 19:17:31 +05:30
Anurag Hooda
05613cd6cf Fix formatting for parsers 2021-01-04 18:30:38 +05:30
Anurag Hooda
656bfc6bc8 Add tests and benchmarks for takeBetween 2021-01-04 18:30:29 +05:30
Harendra Kumar
d0f5261d76 List test suites in sorted order 2021-01-04 02:39:38 +05:30
Harendra Kumar
00a2f7b1f5 Use a basePort var, rename test, add to targets.sh
fix hlint
small cleanups
2021-01-04 02:30:20 +05:30
Ranjeet Ranjan
51774339fe Address review comments and rebase with master 2021-01-04 02:12:16 +05:30
Ranjeet Ranjan
75deef10c3 Add test cases in Unicode.Stream module
Fix hlint issues
2021-01-04 02:10:31 +05:30
Ranjeet Ranjan
198a45a57f Add test cases for Inet.TCP module 2021-01-04 02:10:31 +05:30
Ranjeet Ranjan
e82ad7eacc Add test cases for Network.Socket module
Add comment for Buffered Writer behaviour
2021-01-04 02:10:31 +05:30
Harendra Kumar
c3b506b68b Refactor, cleanup, hlint - fold and handle tests 2021-01-04 01:26:39 +05:30
Ranjeet Ranjan
0bd1586175 Add test cases for Data.Fold/Array, FileSystem.Handle
Added the following test cases to Data.Fold:

drain, drainBy, mean, stdDev, variance, mconcat, foldMap, foldMapM,
lookup, mapM, teeWithLength, teeWithMax, distribute, partition, unzip

Added the following test cases to Data.Array.Storable.Foreign

* fromList and fromListN

Added FileSystem.Handle module
2021-01-04 01:24:25 +05:30
Harendra Kumar
9522eb15df Fix -DCOVERAGE_BUILD 2021-01-01 02:06:15 +05:30
Harendra Kumar
08588c958b Use memory restrictions when building tests 2020-12-31 01:12:50 +05:30
Adithya Kumar
6bc64a47ba Add a simple test for ArrayStream.concat 2020-12-29 19:48:25 +05:30
Harendra Kumar
1b1cbbd16d Do not use threading/rts options in library 2020-12-28 23:56:18 +05:30
Harendra Kumar
f6d05d3f52 Refactor bench.sh to use build-lib.sh 2020-12-28 23:56:18 +05:30
Harendra Kumar
299bdffdd6 Add a script to run tests
This allows us to build and run individual tests or groups of tests. The
script is supposed to be extended to run hpc/coverage manually after
running the tests.

Note: cabal fails to run coverage if the test module is separated from
the library.
2020-12-28 23:56:18 +05:30
Adithya Kumar
4d3f9b41ed Implement Data.Parser.ParserD.wordBy
- Modify Data.Parser.wordBy accordingly
- Add tests for both
- Add benchmarks for both
2020-12-23 00:15:32 +05:30
Adithya Kumar
9fefed37d5 Small description fix for test:Data.Parser.takeWhile1 2020-12-17 04:21:18 +05:30
Adithya Kumar
b6ce6a3624 Implement Data.Parser.ParserD.groupBy
- Modify Data.Parser.groupBy accordingly
- Add tests for both
- Add benchmarks for both
2020-12-17 04:21:18 +05:30
Harendra Kumar
b677d0ddc9 Separate streamly tests into another package
To be able to use an internal test library, we need to have it as a
separate package. See comments in streamly-benchmarks.cabal for details.

Use a test library for common test modules
Also, added "opt" flag to control optimization levels.

Add a README for tests.
Update benchmarks readme.
2020-12-15 17:48:34 +05:30
Harendra Kumar
d5af0bfb5d Remove redundant parsers, update docs
Remove the parsers that are covered by terminating folds.
2020-12-11 18:37:59 +00:00
Adithya Kumar
c191f9c488 Add property tests for splitOn and splitOnSuffix
These tests are implemented along with splitOnSeq and splitOnSuffixSeq
2020-12-11 20:25:29 +05:30
Harendra Kumar
2888bf5ce3 Review/update docs, combinators in Fold module
Data.Fold.Types:
* Remove takeSepBy:  This function does not do what the name. Also,
`takeSepBy p` is the same as (sliceSepBy (not . p)). We can just remove
this in favor of sliceSepBy.

Data.Fold:

* Reorganize exports
* Add some skeleton/unimplemented combinators.
* Add/update haddock documentation
* Add sliceSepByMax fold - It was in parsers but it can be implemented
  as a fold.
* Rename drainSepBy to drainWhile
* Rename sliceSepWith to sliceEndWith
* Remove distribute_ as it can be implemented using distribute and has
  not perf advantage.
* Remove demuxWithDefault_ and implement demuxDefaultWith instead, which
  does not discard the results. Discarding results has no perf
  advantage.
* Implement demuxWith in terms of demuxDefaultWith, it has no perf
  advantage over the latter.
* Remove demuxWith_, use demuxWith instead.
* Remove demuxDefault_, use demuxDefault instead.
* Some code/comment cleanups

Benchmarks:

* Changes corresponding to the source changes
* Some code cleanups
* Reorder benchmarks
2020-12-11 17:23:53 +05:30
Pranay Sashank
425adca3e4 Hide failing parallel tests behind a DEVBUILD. 2020-12-06 13:57:20 +00:00
Pranay Sashank
b6fe73397d Add better tests for before and after. 2020-12-06 13:57:20 +00:00
Pranay Sashank
aba2860914 Remove duplicated test. 2020-12-06 13:57:20 +00:00
Pranay Sashank
38505ee78b Fix hlint warnings in Common, Serial test modules. 2020-12-06 13:57:20 +00:00
Pranay Sashank
dd30e2fca1 Fix formatting. 2020-12-06 13:57:20 +00:00
Harendra Kumar
b3fea143aa Fix partial eval tests for bracket/finally
Added a small delay to let the cleanup run.
2020-12-06 13:57:20 +00:00
pranaysashank
48c640408d Fix failing build on GHC < 8.6. 2020-12-06 13:57:20 +00:00
pranaysashank
60a72a0f62 Add test for zipAsyncApplicative. 2020-12-06 13:57:20 +00:00
pranaysashank
7263bf5c90 Add construction tests for serial streams. 2020-12-06 13:57:20 +00:00
pranaysashank
a6341ee5ec Add test for drainWhile. 2020-12-06 13:57:20 +00:00
pranaysashank
a94dc1278c Add test for handle. 2020-12-06 13:57:20 +00:00
pranaysashank
2701894400 Add test for onException and finally. 2020-12-06 13:57:20 +00:00
pranaysashank
edab41601c Add tests for bracket. 2020-12-06 13:57:20 +00:00
pranaysashank
babd1a2974 Add tests for before and after. 2020-12-06 13:57:20 +00:00
pranaysashank
5fe15b9bcc Add test for concatMapM and concatUnfold. 2020-12-06 13:57:20 +00:00
pranaysashank
b223994b26 Add test for groupsByRolling. 2020-12-06 13:57:20 +00:00
pranaysashank
bee479ea04 Add test for S.groups. 2020-12-06 13:57:20 +00:00
pranaysashank
d8a2bba2e6 Add construction tests.
- Add constructWithYield, yieldM, repeat, repeatM, enumerate,
enumerateTo, fromList, fromListM, zipAsyncApplicative.
2020-12-06 13:57:20 +00:00
pranaysashank
57f43838a5 Add tests for cons, consM, .:, |:. 2020-12-06 13:57:20 +00:00
Harendra Kumar
a187768fac
Merge pull request #795 from composewell/terminatin-folds-2
Enhance the fold type to capture terminating folds
2020-12-06 10:52:15 +05:30
Harendra Kumar
e36bfcfff7 Move/reorg some code, use base ver instead of GHC 2020-12-02 10:01:31 +00:00
Ranjeet Ranjan
fe33167ea6 Fix Windows build issues 2020-12-02 07:39:05 +00:00
Harendra Kumar
48e9b1ad89 Refactor test driver 2020-12-02 07:39:05 +00:00
Harendra Kumar
583149c1ed Refactor to move events along with the test
That way its easier to understand what the test is doing, at one place.
2020-12-02 07:39:05 +00:00
Harendra Kumar
e085852068 Move fs ops to test description table
* factor out the common "dispatch" part.
2020-12-02 07:39:05 +00:00
Harendra Kumar
bb4b378bab Factor out common code from event handlers 2020-12-02 07:39:05 +00:00
Ranjeet Ranjan
5ead27a1c4 Refactor to common dispatch function for FSops 2020-12-02 07:39:05 +00:00
Ranjeet Ranjan
d21c0b7f22 Factor out duplicate code to common function 2020-12-02 07:39:05 +00:00
Ranjeet Ranjan
ce2426d175 Fix CI build issues
Fix Semigroup import for GHC 8.2.2 and Windows build issues.
2020-12-02 07:39:05 +00:00
Harendra Kumar
b85002bddb Simplify the implementation
* Do not use a seperate traversal of dirs, instead just call addToWatch
  recursively.
* Keep rel path of subdir in the map instead of keeping absolute path
* Keep the same default for recursive watch on Windows/Linux
* Use watchTreesWith to implement watchPathsWith using recursive flag

Refactor, add some todos for test code
2020-12-02 07:39:05 +00:00
Ranjeet Ranjan
f00008b321 Add recursive directory tree events in Linux 2020-12-02 07:39:05 +00:00
adithyaov
8f7c0ddd1e Modify the current Fold type to handle terminating Folds
This commit also includes:
- Changing all other modules accordingly.
- Adding additional helper functions to make life easy
- Using strict types as fold's intermediate result
- Respecting line length of 80 in most cases
2020-12-02 02:21:29 +05:30
Harendra Kumar
cd3ce3e503 Fix formatting and docs
* Use let clauses to break bigger expressions
* Use `even` as predicate
2020-11-26 17:11:47 +05:30
Ranjeet Ranjan
60d13da0d6 add mapMaybe combinator in Fold
Add benchmarking and test case for mapMaybe combinator of Data.Fold

Fix review comments
2020-11-26 17:11:47 +05:30
pranaysashank
8016730649 Rename test modules to match with corresponding source modules. 2020-11-17 17:50:29 +05:30
pranaysashank
1c3ce1607d Rename all test-suites to be similar to corresponding modules. 2020-11-17 17:50:29 +05:30
adithyaov
a4291b0119 Fix test description of test:Prelude.Serial.splitOnSuffixSeq 2020-11-12 18:26:18 +05:30
adithyaov
aced27067f Change the first argument of concatMapM in unfolds from () to Void
Change,
concatMapM :: (b -> m (Unfold m () c)) -> Unfold m a b -> Unfold m a c
to,
concatMapM :: (b -> m (Unfold m Void c)) -> Unfold m a b -> Unfold m a c
2020-11-12 09:57:32 +05:30
adithyaov
2ae488776b Rename functions and make structural adjustments in Prelude.Serial 2020-11-06 05:53:13 +05:30
adithyaov
92ff130caf Add S.intercalate along with List.intercalate in seq splitting tests 2020-11-06 05:53:13 +05:30
adithyaov
d644962284 Add splitOnSuffixSeq property tests 2020-11-06 05:53:13 +05:30
adithyaov
aaae284415 Abstract out the splitOnSeq property tests 2020-11-06 05:53:13 +05:30
Harendra Kumar
ea40591785 Enable splitOnSeq tests
These tests were already written but commented out.
2020-10-30 07:52:29 +05:30
adithyaov
1820919c73 Fix haddock & add tests for sequence split combinators
Fix haddock for spliOnSuffixSeq
Add tests for splitOnSeq & spliOnSuffixSeq
2020-10-28 06:49:39 +05:30
pranaysashank
6da528b9bb Hide tests failing on CI behind DEVBUILD flag.
Closes #738
2020-10-26 14:12:19 +05:30
adithyaov
603a722ba1 Make variable naming a little more meaningful in unfold tests 2020-10-24 15:50:28 +05:30
adithyaov
a2d35d9a3a Modify the argument order of testUnfold-ish helpers & add some docs 2020-10-24 15:50:28 +05:30
adithyaov
e786c09423 Remove redundant stuff & testUnfoldA -> testUnfoldM in unfold tests 2020-10-24 15:50:28 +05:30