November 02, 2015
On Monday, 2 November 2015 at 13:58:11 UTC, Nick Sabalausky wrote:
> Ran the full test suite, not all passed.
>
> Android: v4.1.2
> Device: SCH-I535 (Samsung Galaxy S3 Verizon)
> Chipset: Snapdragon S4 Plus
>
> It is rooted, FWIW.
> ****** FAIL std.mmfile
> std.file.FileException@/home/bert/ldc/runtime/phobos/std/file.d(1802): cannot get cwd: Invalid argument
> ****** FAIL std.path
> std.file.FileException@/home/bert/ldc/runtime/phobos/std/file.d(1802): cannot get cwd: Invalid argument
> ****** FAIL std.process
> std.file.FileException@/home/bert/ldc/runtime/phobos/std/file.d(1802): cannot get cwd: Invalid argument
> 15.633s PASS std.datetime

Hmm, looks like core.sys.posix.unistd.getcwd on your device doesn't accept arguments of null and 0.  Since your Android 4.1, ie API level 16, device is the oldest tested so far, perhaps getcwd was implemented differently back then.  I'll look at the source for getcwd in bionic from that time and try putting in a workaround.

On Monday, 2 November 2015 at 14:35:18 UTC, Vladimir Panteleev wrote:
> On Sunday, 1 November 2015 at 05:44:04 UTC, Joakim wrote:
>> For example, the Samsung Galaxy S6 uses the Exynos 7420:
>>
>> http://www.gsmarena.com/samsung_galaxy_s6-6849.php
>
> Note that some devices (e.g. the Samsung Galaxy Note series) can use different chipsets depending on the exact model, even though they are marketed under the same product name.

Yeah, I'm aware.  I wanted to see if chipsets make a difference, but so far there doesn't appear to be any effect from hardware or manufacturer, only the Android version.  I just read that google strongly recommends that manufacturers simply use AOSP for the native APIs, so perhaps only the Android API level matters most of the time.

> All tests pass except std.datetime, both APK and CLI.
>
> Seems to be failing on these lines:
>
>                     assert(to!string(ourTimeInfo.tm_zone) ==
>                                      to!string(osTimeInfo.tm_zone));

Yeah, it appears that that time zone string is being set wrongly only on your device.  I'm not that familiar with std.datetime: once I wrote some code to extract timezone data from the two different versions of Android's concatenated timezone file, everything just worked.  If you don't mind, I'll send you a small binary that'll produce log output that'll help track this issue down.
November 02, 2015
Thanks for all the info everyone, keep it coming.

On Sunday, 1 November 2015 at 06:33:46 UTC, Brad Anderson wrote:
> My LG G2 results here probably aren't as useful because it's for some random cyanogen nightly but here they are anyway:
>
> Android 5.0.2 (CyanogenMod 12-20150304-NIGHTLY), LG, Qualcomm MSM8974 Snapdragon 800:  Std.stdio and std.socket hang in apk, all other tests pass.
>
> Very exciting stuff.

No, it's useful.  I wondered if the std.stdio and std.socket hangs might be Samsung-specific, as I only tested their 5.0 devices, but your and others' consistent reproductions show that they hit all 5.0 devices exclusively.  I'll look into the reasons.

On Sunday, 1 November 2015 at 10:15:18 UTC, rsw0x wrote:
> On Sunday, 1 November 2015 at 10:08:56 UTC, rsw0x wrote:
>> On Sunday, 1 November 2015 at 05:44:04 UTC, Joakim wrote:
>>> ...
>> original Nexus 5(LG-D820,) Android Marshmallow(6.0)
>
>
> sigh, knew I forgot to paste something.
> chipset is a snapdragon 800.

No problem, the Nexus 5 was only ever equipped with that chip, so I could have figured it out. :) You're probably the first person to ever run D code on an Android 6.0 device, good to see that there's only one issue.

On Monday, 2 November 2015 at 08:52:44 UTC, Thomas Brix Larsen wrote:
> On Sunday, 1 November 2015 at 05:44:04 UTC, Joakim wrote:
>> ...
>
> - Android 4.3, TomTom Bridge, Snapdragon 400: All tests pass, both command-line and apk.

Never heard of this device, and I consider myself a bit of a mobile buff.  I just had to look it up, a GPS tablet for businesses.
November 02, 2015
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:

Android 6.0, LG Nexus 5 (D821), Snapdragon 800: All test pass (apk)
http://pastebin.com/W6BhWzMM
November 03, 2015
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:

5.0.1, Samsung Galaxy S4 (I9505), Snapdragon 600

Tested with apk: std.socket and std.stdio seem to hang, after removing them all tests pass.

November 04, 2015
On Monday, 2 November 2015 at 16:27:57 UTC, Joakim wrote:
>> All tests pass except std.datetime, both APK and CLI.
>>
>> Seems to be failing on these lines:
>>
>>                     assert(to!string(ourTimeInfo.tm_zone) ==
>>                                      to!string(osTimeInfo.tm_zone));
>
> Yeah, it appears that that time zone string is being set wrongly only on your device.  I'm not that familiar with std.datetime: once I wrote some code to extract timezone data from the two different versions of Android's concatenated timezone file, everything just worked.  If you don't mind, I'll send you a small binary that'll produce log output that'll help track this issue down.

Sure.

How do I see the timezone string that's been set on my device? Maybe this is why my phone is showing the wrong time when roaming :)

November 04, 2015
LG G4
Android 5.1
Snapdragon 808

Hung on:
core.thread
std.parallelism
std.container.rbtree
std.experimental.logger.core
std.net.isemail
std.range.primitves
std.regex
std.regex.internal.thompson
std.regex.internal.parser
std.regex.internal.tests
std.regex.internal.kickstart

All other tests passed.
November 04, 2015
On Sunday, 1 November 2015 at 05:44:04 UTC, Joakim wrote:
>>
Android 4.1.2, HTC 500

The following modules fail:
std.mmfile
std.path
std.process
std.cstream
std.socket
std.stdio
std.stream
std.base64
std.parallelism
std.file
std.experimental.logger.core
std.experimental.logger.filelogger
std.experimental.logger.multilogger
std.range

All modules fail with the same error:
std.file.FileException@/home/bert/ldc/runtime/phobos/std/file.d(1802): cannot get cwd: Invalid argument






November 05, 2015
On Monday, 2 November 2015 at 21:13:19 UTC, Théo Bueno wrote:
> Android 6.0, LG Nexus 5 (D821), Snapdragon 800: All test pass (apk)
> http://pastebin.com/W6BhWzMM

That's interesting that all the tests pass in the apk, but rsw0x had one test fail on the command-line on the same device.  Usually it's the other way around, the apk is more restrictive.

On Wednesday, 4 November 2015 at 17:51:29 UTC, Austin G wrote:
> LG G4
> Android 5.1
> Snapdragon 808
>
> Hung on:
> core.thread
> std.parallelism
> std.container.rbtree
> std.experimental.logger.core
> std.net.isemail
> std.range.primitves
> std.regex
> std.regex.internal.thompson
> std.regex.internal.parser
> std.regex.internal.tests
> std.regex.internal.kickstart
>
> All other tests passed.

That's strange, others have reported no problems with Android 5.1.  Did all these tests hang or simply fail?  When I say hang, I mean the test runner keeps running but nothing happens, so you have to close or kill it.  Whereas if a test asserts, it'll just say that module failed and move on to the next one.

Could be some issue related to threading, given that core.thread is the only druntime module on your list.  The only other cause I can think of is that yours is one of the few ARMv8 chips tested so far, but the others haven't had this problem.  Can you try running the other test runner, the command-line binary if you tried the apk so far, and see if you can reproduce or get some error output?  Thanks for any feedback.

On Wednesday, 4 November 2015 at 23:38:56 UTC, TheFlyingFiddle wrote:
> On Sunday, 1 November 2015 at 05:44:04 UTC, Joakim wrote:
>>>
> Android 4.1.2, HTC 500
>
> The following modules fail:
> std.mmfile
> std.path
> std.process
> std.cstream
> std.socket
> std.stdio
> std.stream
> std.base64
> std.parallelism
> std.file
> std.experimental.logger.core
> std.experimental.logger.filelogger
> std.experimental.logger.multilogger
> std.range
>
> All modules fail with the same error:
> std.file.FileException@/home/bert/ldc/runtime/phobos/std/file.d(1802): cannot get cwd: Invalid argument

Thanks, this confirms the getcwd issue Nick reported above, on what is presumably an unrooted phone.  I'll try adding a workaround for this and let you two know once I make available an updated test runner.
November 05, 2015
Android 4.4 S4 Mini - All tests pass with the APK.

Android 4.3 S3      - All tests pass with the APK
November 05, 2015
On Thursday, 5 November 2015 at 05:29:00 UTC, Joakim wrote:
> On Monday, 2 November 2015 at 21:13:19 UTC, Théo Bueno wrote:
> Thanks, this confirms the getcwd issue Nick reported above, on what is presumably an unrooted phone.  I'll try adding a workaround for this and let you two know once I make available an updated test runner.

It is an unrooted phone.