Test results for D on Android/ARM

Joakim via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Sun Jan 17 03:24:58 PST 2016


On Sunday, 1 November 2015 at 05:44:04 UTC, Joakim wrote:
> I've been running the druntime and phobos tests from the master 
> 2.068 branch on various Android devices.  Please try out the 
> Android test runners I just made available and report your own 
> results in this thread:
>
> https://github.com/joakim-noah/android/releases/tag/runners
>
> Some output is expected and doesn't need to be reported, while 
> any other deviations should be reported.  Please report the 
> Android version, found in Settings->About Device->Android 
> Version; the manufacturer; the chipset, which can be found on 
> device databases like gsmarena; and which runners you ran.  If 
> you google your device's name, usually the first link is the 
> gsmarena entry.  For example, the Samsung Galaxy S6 uses the 
> Exynos 7420:
>
> http://www.gsmarena.com/samsung_galaxy_s6-6849.php
>
> I'm using this ldc forum for this device reporting because it 
> doesn't require any registration, unlike the wiki or github.  
> I'll collect all the results and put them on the wiki later.
>
> All source is available to build ldc and the test runner 
> yourself, only missing the build script I used for the apk 
> version of the test runner.  I'll write up the build process on 
> the wiki and push that last script into CMake next.
>
> Expected output:
>
> - Bionic didn't support hex format for floating point, either 
> for literals or output, until Android 5.0.  As a result, I skip 
> such tests in std.conv and std.format if they fail.  The 
> command-line test runner will note that those tests were 
> skipped on pre-5.0 Android: that's expected and only needs to 
> be reported if it _doesn't_ happen on pre-5.0 Android.

I've released updated test runners on github:

https://github.com/joakim-noah/android/releases/tag/polish

I count eight issues reported in this thread.  Here's the list, 
along with what has been or needs to be done:

1. std.stdio and std.socket hang on Android 5.0- this was because 
of a regression with locking stdout in bionic 5.0, hacked in a 
workaround so it shouldn't hit anymore.

2. rsw0x reported a failing test in std.file from the 
command-line runner on Android 6.0- others didn't have an issue 
with the apk on 6.0, not sure what to make of this one.

3. Nick and TheFlyingFiddle reported several modules asserting 
because of getcwd on Android 4.1- this was because calling getcwd 
with the arguments null and 0 was not supported before 4.2, put 
in a workaround so it shouldn't cause a problem.

4. Vlad reported an issue with one time zone in std.datetime- we 
narrowed it down to the timezone parser from bionic on his device 
not reading the timezone data properly, left the issue there as 
it doesn't hit anybody else.

5. Austin G reported several modules hanging on his G4- I need 
more info about this, since it's the only device with these 
problems.

6. Yazan D reported std.datetime asserting for his timezone- as 
he said, this is a problem upstream too, so not specific to 
Android.

7. Jakob reported two modules asserting when trying to create 
links in the Downloads directory- this is likely related to 
Android not allowing symbolic links on the /sdcard partition, as 
he said it works fine in the /data partition.

8. Jakob reported a segfault from the command-line test runner 
after all tests are run, related to the static destructor for 
std.parallelism interacting somehow with core.thread- I've seen 
this occasionally but not in a while, so put it aside for now.

So, 1 and 3 were worked around; I'll need more info on 2, 4, and 
5; 6 and 7 are out of scope of this Android port; and 8 will need 
to be pinned down at some point, once it can be reproduced 
consistently.

Please try out the updated test runners, particularly if the 
previous ones asserted anywhere for you, and report your results 
in the same format as before.


More information about the digitalmars-d-ldc mailing list