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