Euphoria Ticket #394: Verify callbacks are working on FreeBSD, OSX, and that execute.e's callbacks work on FreeBSD, OSX, and Linux.

We just have a lot of untested changes in this area of the code, so we better not forget to test them.

Details

Type: Task Severity: Major Category: Library Routine
Assigned To: jimcbrown Status: Fixed Reported Release:
Fixed in SVN #: 4513, 4520 View VCS: 4513, 4520 Milestone: 4.0.0RC2

1. Comment by jeremy Nov 15, 2010

Are these items tested in our unittests?

2. Comment by jimcbrown Nov 15, 2010

callbacks are tested in t_dep.e

We have a testeu target that is not run by default, but if run it will test t_dep.e (and thus the callbacks) against eu.ex / execute.e

3. Comment by mattlewis Nov 15, 2010

Yes. t_dep.e and t_legacy_callback.e should handle these.

4. Comment by mattlewis Nov 15, 2010

Both t_dep.e and t_legacy_callbacks.e work under Linux's testeu target.

5. Comment by jeremy Nov 16, 2010

FreeBSD is working as of svn:4150

6. Comment by jeremy Nov 16, 2010

Handed off to eumario for OS X testing.

7. Comment by eumario Nov 17, 2010

This is not working still, for t_legacy_callback.e and t_dep.e. Tested with RC1 and latest trunk.

8. Comment by SDPringle Nov 17, 2010

For each OS in the case of failure we need something more specific than a message on whether or not it fails. We need to know what error message comes from:

eutest t_legacy_callback.e 
What error message comes from:
eutest t_dep.e 

9. Comment by jimcbrown Nov 17, 2010

The message for both is missing magic: patch failed.

Doing a dump, the bytes were not found within copy_addr[4] to copy_addr[CALLBACK_SIZE-4]

Doing a more extensive dump, 3 of the 4 bytes were found in copy_addr[CALLBACK_SIZE-3] to copy_addr[CALLBACK_SIZE], then the following byte was a zero instead of the expected 0x12.

Maybe we got callback size set wrong on OS X?

10. Comment by mattlewis Nov 17, 2010

The easiest thing is probably to just use objdump on be_runtime.o to see how big the call back functions are.

11. Comment by eumario Dec 04, 2010

mattlewis: I need to know the exact parameters to call objdump on with b_runtime.o on Mac, so that I can give you the information and you can see what is going on with OS X's execute.e's callbacks.

12. Comment by jimcbrown Dec 04, 2010

This is fixed interpreted, but eu.ex has both tests failing woth machine exceptions still.

13. Comment by jimcbrown Dec 04, 2010

Also confirmed passing as translated.

14. Comment by jimcbrown Dec 04, 2010

With the last commit, execute.e is fixed for OS X. So that's everything!

Search



Quick Links

User menu

Not signed in.

Misc Menu