Giter Club home page Giter Club logo

Comments (5)

intrigus avatar intrigus commented on June 1, 2024 1

I'm currently porting the tests from AndroidRT to OpenJDK, but there is one test, that is problematic, because the toString() method of an annotation isn't deterministic on OpenJDK, the test always fails...
I'm currently trying to fix it, but my approach is really hacky and heavily relies on reflection.
At least reflection is also heavily tested :D

from jtransc.

soywiz avatar soywiz commented on June 1, 2024

Cool :)

030:
Finalizers could be supported, but just on some targets directly (C++, C#, Java, Flash, PHP). Javascript won't allow to do this, even with WeakMaps I tried to do a hack similar to one I did on flash but it would require being able to iterate the map or getting its length. But it doesn't allow it. So there is no way (at least standard) to determine if an object has been collected on JS.

044:
Not tried. But right now jtransc dynamic proxies just allow one interface. Which is the most common. It could support more interfaces if required, but that probably will have a cost con runtime performance on casts.

Threads:
Threads are currently not supported. But it is possible to support it on some targets: C++, Java, C#. In the future, when javascripts supports concurrent shared heap, we could try too.
We could support already threads that do not share global state.

from jtransc.

intrigus avatar intrigus commented on June 1, 2024

Hey, it's a little bit unclear, how exactly tests are run.

It would be great, if we can run the tests on all platforms haxe supports.
Could you maybe add a little example on how to do that?

from jtransc.

soywiz avatar soywiz commented on June 1, 2024

Yep I wanted do to do it. But also it would be cool to run them in parallel, since for example C++ could take much longer due to compilation times.

Right now there is a test that run in JS y PHP:

https://github.com/jtransc/jtransc/blob/master/jtransc-main/test/HaxeGenSuiteMiscTest.kt#L36

Though starting with 3.3.0-rc ( http://gamehaxe.com/wp-content/uploads/2016/07/Wwx2016-Hxcpp.swf with HXCPP_COMPILE_CACHE) following compilations even in other projects reuse already compiled classes ( https://www.youtube.com/watch?v=e64T96OOzKQ&index=6&list=PLyIetEt7wxr6yo_ARVaQv9UpeGbAYp_Z2 )
So maybe we could run more tests just with a first great compilation.

Haxe itself uses the travis matrix + environment variables to run cpp in parallel: https://github.com/HaxeFoundation/haxe/blob/development/.travis.yml#L88
https://github.com/HaxeFoundation/haxe/blob/development/.travis.yml#L117

The way testing a specific target is like this:

https://github.com/jtransc/jtransc/blob/master/jtransc-main/test/HaxeGenSuiteMiscTest.kt#L38

There is a lang argument which specifies the target.

The actual code instructing JTransc to compile and run it at the test level (without entering other code) can be found here:
https://github.com/jtransc/jtransc/blob/master/jtransc-main/test/HaxeTestBase.kt#L108

from jtransc.

soywiz avatar soywiz commented on June 1, 2024

Great. I think the reflection is fine, if it works :)

from jtransc.

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.