Comments (8)
Is there even any really technical descriptions of how the thread scheduler works on Roblox? There's a vague wiki article about it, but it doesn't get too technical.
from lemur.
Wait, new question, what's the benefit of having an event loop? Don't we just want a way for Roblox scripts to be run under test suites? What do an event loop contribute to test suite?
from lemur.
I want to test things that are asynchronous!
Notably, I wanted to test:
- A promise library for Roblox
- Rodux's async change dispatching (right now the tests explicitly flush!)
- React's async rendering
from lemur.
Alright, that makes sense.
I'm pretty unfamiliar with testing suites, what happens in the case of an infinite loop? Do they have a max time limit they're willing to test for, and if you go beyond that, it fails?
from lemur.
Usually you can set a global timeout as well as a local timeout for each test for cases where you really need to adjust things.
TestEZ will probably have a very low default timeout (~100ms) to make sure your test suite wraps up, and to prevent testing things like HTTP requests without thinking.
from lemur.
I'm taking a crack at this right now, but a very minor problem occurred to me. When testing wait, how long is an acceptable amount of time? The higher the number the more accurate the result is, but the longer tests will take to run.
from lemur.
Ideally, wait
doesn't actually actually wait, it just sets a resumption priority for that thread. Since Lemur is focusing on CI systems, actually waiting isn't usually useful.
I think this might be a pretty big refactor (coroutines everywhere!), so it might be something I want to tackle.
from lemur.
Sounds good.
from lemur.
Related Issues (20)
- game:FindFirstChild("ServiceName") returns nil, always
- typeof(Event:Connect(...)) == "table", not RBXScriptConnection
- Report errors in Signal connections HOT 1
- Allow pcall to yield HOT 2
- warn should call tostring on its arguments
- HttpService:UrlEncode()
- Provide cleaner way to clear the habitat loaded module cache HOT 6
- When n is a number, Vector3 * n works, but n * Vector3 does not HOT 1
- Isn't this simulation rather than emulation? HOT 2
- Clean up VIEW_SUB_PAGE_IN_MORE NotificationType in GuiService.lua HOT 1
- Add string.split() HOT 2
- Add string:split()
- rbx_dom_weak integration to premake places HOT 1
- TextButton and TextLabel's TextColor3s are using Color3.new instead of Color3.fromRGB
- Vector2 doesn't have __mul and __div
- Vector3 doesn't include z in test name
- Vector3 missing in FEATURES.md
- Add Gotham font to Font enum
- Add bit32 HOT 1
- Implement CollectionService HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lemur.