-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
beariver
: failure with Yampa's battery of tests
#270
Comments
It is possible, yes. It's worth investigating why some are failing. As you say, since bearriver as a first sample with delta 0, things could fail. A failure could suggest a number of things, including:
Unless it's really obvious, I would expect that this issue might have to be split in multiple other issues. |
Looking at the test prop_basic_time_increasing =
forAll myStream $ evalT $ Always $ prop (sf, pred)
where myStream :: Gen (SignalSampleStream Float)
myStream = uniDistStream
sf :: SF a (Time, Time)
sf = loopPre (-1 :: Time) sfI
sfI :: SF (a,Time) ((Time, Time), Time)
sfI = ((time >>> arr (\t -> trace ("time " <> show t) t )) *** identity) >>> arr resort
resort :: (Time, Time) -> ((Time,Time),Time)
resort (newT, oldT) = trace ("resort " <> show (newT, oldT)) ((newT, oldT), newT)
pred :: a -> (Time, Time) -> Bool
pred _ (t,o) = (t > o) then the output is:
It's strange that time with value 0 is evaluated twice, but still the last time is -1 on both, but then once the first delta is used, time outputs twice the same value, which shouldn't happen (and fails the test). |
The function
Indeed, although I couldn't confirm it, I have the feeling somehow the same "tick" is being evaluated twice. |
Quick question: did you try this with |
It was with the version of bearriver in hackage. |
beariver
: failure with Yampa's battery of tests
Partly related: #40 . |
#40 is near completion (only part of 3 modules is missing now). After that, my intention is to enable Yampa's tests with bearriver and address everything that fails. How long that will take will mostly depend on how many things fail. |
All of Yampa's API will be covered when #426 is completed, which should happen as part of the next release. After that, we can run this again and identify which tests "misbehave". |
I've just re-run the tests. I've found the following issues:
The list of changes is extensive. Addressing this as part of one issue will be nearly impossible. I'll split this into smaller issues (e.g., per module). |
Out of curiosity I ran Yampa's test suite on bearriver, by chaning the dependency on Yampa to bearriver. First I discovered that some functions such as
snap
anddelay
that exist on Yampa, aren't on bearriver. After commenting the tests that depend on those functions and running the other tests, I saw a lot of them are failing. Would it be expected that bearriver would pass these tests ? Could it be related to the fact that bearriver doesn't have the concept of value at time 0 for an SF ?The text was updated successfully, but these errors were encountered: