Closed Bug 902073 Opened 11 years ago Closed 6 years ago

xpcshell test xpcom/tests/unit/test_bug364285-1.js fails on Android x86 emulator

Categories

(Testing :: General, defect)

x86
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: gbrown, Unassigned)

Details

(Whiteboard: [reit-x86])

On Android x86 emulators, I can run most xpcshell tests successfully, but a few fail -- this is one of them.

23:05:23  WARNING -  TEST-UNEXPECTED-FAIL | /home/cltbld/tests/scripts/scripts/build/tests/xpcshell/tests/xpcom/tests/unit/test_bug364285-1.js | test failed (with xpcshell return code: 0), see following log:
23:05:23     INFO -  >>>>>>>
23:05:23     INFO -  xpcw: cd /mnt/sdcard/tests/xpcshell/xpcom/tests/unit
23:05:23     INFO -  xpcw: xpcshell -r /mnt/sdcard/tests/xpcshell/c/httpd.manifest --greomni /data/local/xpcb/fennec-25.0a1.multi.android-i386.apk -m -n -s -e const _HTTPD_JS_PATH = "/mnt/sdcard/tests/xpcshell/c/httpd.js"; -e const _HEAD_JS_PATH = "/mnt/sdcard/tests/xpcshell/head.js"; -e const _TESTING_MODULES_DIR = "/mnt/sdcard/tests/xpcshell/m"; -f /mnt/sdcard/tests/xpcshell/head.js -e const _SERVER_ADDR = "localhost" -e const _HEAD_FILES = ["/mnt/sdcard/tests/xpcshell/xpcom/tests/unit/head_xpcom.js"]; -e const _TAIL_FILES = []; -e const _TEST_FILE = ["test_bug364285-1.js"]; -e _execute_test(); quit(0);
23:05:23     INFO -  TEST-INFO | (xpcshell/head.js) | test MAIN run_test pending (1)
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] "ascii" == "ascii"
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] "ascii" == "ascii"
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] "fran�ais" == "fran�ais"
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] "fran�ais" == "fran�ais"
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] " CAA:89" == " CAA:89"
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] " CAA:89" == " CAA:89"
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] "�,�" == "�,�"
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] "�,�" == "�,�"
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] "-�" == "-�"
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] "-�" == "-�"
23:05:23     INFO -  System JS : WARNING test_bug364285-1.js:25
23:05:23     INFO -                       octal literals and octal escape sequences are deprecated
23:05:23     INFO -  System JS : WARNING test_bug364285-1.js:25
23:05:23     INFO -                       octal literals and octal escape sequences are deprecated
23:05:23     INFO -  System JS : WARNING test_bug364285-1.js:25
23:05:23     INFO -                       octal literals and octal escape sequences are deprecated
23:05:23     INFO -  System JS : WARNING test_bug364285-1.js:29
23:05:23     INFO -                       octal literals and octal escape sequences are deprecated
23:05:23     INFO -  System JS : WARNING test_bug364285-1.js:29
23:05:23     INFO -                       octal literals and octal escape sequences are deprecated
23:05:23     INFO -  System JS : WARNING test_bug364285-1.js:29
23:05:23     INFO -                       octal literals and octal escape sequences are deprecated
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] "\m�" == "\m�"
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] "\m�" == "\m�"
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] "^A^O^A-^A;^A+" == "^A^O^A-^A;^A+"
23:05:23     INFO -  TEST-PASS | test_bug364285-1.js | [create_file : 33] "^A^O^A-^A;^A+" == "^A^O^A-^A;^A+"
23:05:23  WARNING -  TEST-UNEXPECTED-FAIL | xpcshell/head.js | [Exception... "Component returned failure code: 0x80520006 (NS_E     RROR_FILE_TARGET_DOES_NOT_EXIST) [nsILocalFile.remove]"  nsresult: "0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST)"  location     : "JS frame :: test_bug364285-1.js :: test_create :: line 42"  data: no]
23:05:23     INFO -  ^@
23:05:23     INFO -  <<<<<<<
This test creates files in TmpD with filenames in various characters sets. The test passes for all cases except Deseret: https://en.wikipedia.org/wiki/Deseret_%28Unicode_block%29. For Deseret, create_file appears to succeed, but no file is actually created -- file.remove fails.

Limitation of the filesystem? Consider http://android.stackexchange.com/questions/39606/files-with-names-with-unicode-characters-get-corrupted-in-sd-card.
TmpD is on /mnt/sdcard, I believe, which on the x86 emulator has these mount characteristics:

/dev/block/vold/179:0 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
In general, it seems to me that this test has a dependency on the filesystem characteristics, which might vary across Android devices. 

I am inclined to disable this test on Android. Any objections?
Flags: needinfo?(smontagu)
(In reply to Geoff Brown [:gbrown] from comment #3)
> In general, it seems to me that this test has a dependency on the filesystem
> characteristics, which might vary across Android devices. 
> 
> I am inclined to disable this test on Android. Any objections?

OK, but please file a bug and reference it in the xpcshell.ini. For example, I can't open http://smontagu.org/testcases/
Flags: needinfo?(smontagu)
Ha! The unicode characters in Comment 4 seem to have caused bugzilla to truncate the comment. Bugmail reported a more complete comment, which I reproduce here with X's in place of the original unicode:

---

> In general, it seems to me that this test has a dependency on the filesystem
> characteristics, which might vary across Android devices.
>
> I am inclined to disable this test on Android. Any objections?

OK, but please file a bug and reference it in the xpcshell.ini. For example, I
can't open http://smontagu.org/testcases/XXXXXXX.doc or
http://smontagu.org/testcases/XXX.pdf in my android device. This may be an
upstream bug, but I don't think it's the bug you link to in comment 1, because
http://smontagu.org/testcases/XXXXXXX.doc opens with no problems.
Sorry, the truncation was caused by bug 405011, which I have been bitten by enough times that I ought to remember it by now.

Let's say it this way:

I can't open http://smontagu.org/testcases/%f0%90%90%94%f0%90%90%af%f0%90%91%85%f0%90%90%a8%f0%90%91%89%f0%90%90%af%f0%90%90%bb.doc (Deseret characters) or
http://smontagu.org/testcases/%f0%90%a4%82%f0%90%a4%86%f0%90%a4%93.pdf (Phoenician characters) in my android device. This may be an
upstream bug, but I don't think it's the bug you link to in comment 1, because
http://smontagu.org/testcases/%d0%a0%d1%83%d1%81%d1%81%d0%ba%d0%b8%d0%b9.doc (Cyrillic characters) opens with no problems.
I tried running this test on several phones running Android 4.0.4 and newer. All had "fuse" filesystems for /mnt/sdcard similar to:

/dev/fuse /mnt/sdcard fuse rw,nosuid,nodev,noexec,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0

The test passed on these devices.

On the emulator, I realized that only sdcard uses vfat -- other mounts use yaffs2. I modified the test to write to /data:

/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0

and the test passed -- good evidence that the test failure is tied to the filesystem type and/or options.


>> I am inclined to disable this test on Android. Any objections?
> OK, but please file a bug and reference it in the xpcshell.ini

I would normally add a comment in xpcshell.ini pointing back to this bug -- good enough?
(In reply to Simon Montagu :smontagu from comment #6)
> I can't open
> http://smontagu.org/testcases/
> %f0%90%90%94%f0%90%90%af%f0%90%91%85%f0%90%90%a8%f0%90%91%89%f0%90%90%af%f0%9
> 0%90%bb.doc (Deseret characters) or

I had a similar but slightly different experience and reported it in bug 902971.
So I would point to bug 902971 rather than this bug in xpcshell.ini, but it doesn't much matter since both link to one another anyway.
Whiteboard: [reit-x86]
No longer blocks: 892688
Test skipped on Android now (via bug 865006) with a pointer back to this bug.
Assignee: gbrown → nobody
Mass closing bugs with no activity in 2+ years. If this bug is important to you, please re-open.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.