Code Monkey home page Code Monkey logo

Comments (8)

Kampfkarren avatar Kampfkarren commented on August 14, 2024

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.

Kampfkarren avatar Kampfkarren commented on August 14, 2024

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.

LPGhatguy avatar LPGhatguy commented on August 14, 2024

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.

Kampfkarren avatar Kampfkarren commented on August 14, 2024

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.

LPGhatguy avatar LPGhatguy commented on August 14, 2024

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.

Kampfkarren avatar Kampfkarren commented on August 14, 2024

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.

LPGhatguy avatar LPGhatguy commented on August 14, 2024

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.

Kampfkarren avatar Kampfkarren commented on August 14, 2024

Sounds good.

from lemur.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.