Closed
Bug 800612
Opened 12 years ago
Closed 12 years ago
Enable compiled code tests in content/canvas
Categories
(Core :: Graphics: CanvasWebGL, defect)
Tracking
()
RESOLVED
FIXED
mozilla19
People
(Reporter: bjacob, Assigned: bjacob)
Details
Attachments
(2 files, 3 obsolete files)
2.23 KB,
patch
|
jgilbert
:
review+
|
Details | Diff | Splinter Review |
1.82 KB,
patch
|
ted
:
review+
|
Details | Diff | Splinter Review |
In Bug 732660, we added a first compiled-code test in a new directory, content/canvas/test/compiled. We ran into the problem that they were being linked before libxpcom was linked, which caused linking to fail. At that time, it seemed that replacing TEST_DIRS by TOOLS_DIRS in the Makefile was a way to solve this issue. However, today I realized that that caused the content/canvas mochitests to not be run at all. So what is the real way to enable compiled-code tests there? If TOOLS_DIRS is really the way, then that means that we should take compiled/ out of content/canvas/test.
Assignee | ||
Comment 1•12 years ago
|
||
Seems like TOOLS_DIRS was just a typo for TOOL_DIRS *sigh* https://tbpl.mozilla.org/?tree=Try&rev=22f197df1767
Assignee | ||
Comment 2•12 years ago
|
||
Assignee | ||
Comment 3•12 years ago
|
||
Help needed to understand this cppunittest failure!
Comment 4•12 years ago
|
||
There's some bad error handling in the Python script there, but it sounds like it's probably failing to load some DLL that that test requires. I changed how C++ tests were run when I landed this runcppunittests.py script, they now get run from the directory they were built in, but with LD_LIBRARY_PATH or PATH set to point to dist/bin so they can load the rest of Gecko (that's what the --xre-path environment variable is for). You can try running the test manually with something like: PATH=e:/builds/moz2_slave/try-w32-dbg/build/obj-firefox/dist/bin:$PATH MOZ_XRE_DIR=e:/builds/moz2_slave/try-w32-dbg/build/obj-firefox/dist/bin e:/builds/moz2_slave/try-w32-dbg/build/obj-firefox/content/canvas/test/compiled/TestWebGLElementArrayCache.exe If that doesn't give you any more information you can try running it under something like Dependency Walker: http://www.dependencywalker.com/ which should be able to show you what the error is.
Assignee | ||
Comment 5•12 years ago
|
||
This moves the compiled tests to a separate directory alongside test/ . So we no longer have both mochitests and compiled tests under the same directory. This seems to work, at least it built on Windows. https://tbpl.mozilla.org/?tree=Try&rev=9a98775c1681
Attachment #670673 -
Attachment is obsolete: true
Attachment #674733 -
Flags: review?(ted)
Assignee | ||
Comment 6•12 years ago
|
||
Adapts a makefile to this directory move. Explains above build failures. New try: https://tbpl.mozilla.org/?tree=Try&rev=909b464a40d2
Attachment #674733 -
Attachment is obsolete: true
Attachment #674733 -
Flags: review?(ted)
Attachment #675839 -
Flags: review?(ted)
Comment 7•12 years ago
|
||
You need to wrap the TOOL_DIRS in ifdef ENABLE_TESTS
Assignee | ||
Comment 8•12 years ago
|
||
Thanks. Also, the above try run discovered a real issue in the code, thanks to Windows' rand() function returning different values than Linux's with the same seed. Looking into it. Upping the number of repeats allows to reproduce on Linux.
Assignee | ||
Updated•12 years ago
|
Attachment #675839 -
Flags: review?(ted)
Assignee | ||
Comment 9•12 years ago
|
||
See comment in the patch. The fix here was quite obvious from reproducing this in GDB. we were clamping lastByte but weren't clamping firstByte. Rather than clamping firstByte, a more general fix was to add this early-return path in the no-op case where firstByte > lastByte after clamping lastByte.
Attachment #675864 -
Flags: review?(jgilbert)
Assignee | ||
Comment 10•12 years ago
|
||
Thanks Ms2ger for the tip.
Attachment #675839 -
Attachment is obsolete: true
Attachment #675865 -
Flags: review?(ted)
Assignee | ||
Comment 11•12 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=bea311c1a4e9
Assignee | ||
Comment 12•12 years ago
|
||
Question: if I change something in content/canvas/compiledtest/TestWebGLElementArrayCache.cpp and make -C objdir/content/canvas/compiledtest, it doesn't rebuild the test, it only re-runs it. That's a bit annoying. make -C objdir/content/canvas does rebuild the test. What's wrong and how can I get make -C compiledtest to rebuild the test?
Assignee | ||
Comment 13•12 years ago
|
||
Another question: the Android logs in comment 11 suggest that the test wasn't actually run on Android. It was run on Windows. What's wrong?
Assignee | ||
Comment 14•12 years ago
|
||
Oh, I suppose that as on Android we cross-compile, we can't run the compiled tests as part of the build job. So how can I see Android compiled tests on TBPL?
Comment 15•12 years ago
|
||
Comment on attachment 675865 [details] [diff] [review] use TOOL_DIRS, and move compiled tests to a separate directory Review of attachment 675865 [details] [diff] [review]: ----------------------------------------------------------------- ::: content/canvas/test/compiled/Makefile.in @@ +11,5 @@ > > include $(DEPTH)/config/autoconf.mk > > LOCAL_INCLUDES := \ > + -I$(srcdir)/../src \ You could fix this to 2-space indent while you're here.
Attachment #675865 -
Flags: review?(ted) → review+
Comment 16•12 years ago
|
||
(In reply to Benoit Jacob [:bjacob] from comment #12) > Question: if I change something in > content/canvas/compiledtest/TestWebGLElementArrayCache.cpp and make -C > objdir/content/canvas/compiledtest, it doesn't rebuild the test, it only > re-runs it. That's a bit annoying. make -C objdir/content/canvas does > rebuild the test. What's wrong and how can I get make -C compiledtest to > rebuild the test? I thought we fixed this in bug 777379. Did that not actually fix it? (In reply to Benoit Jacob [:bjacob] from comment #14) > Oh, I suppose that as on Android we cross-compile, we can't run the compiled > tests as part of the build job. So how can I see Android compiled tests on > TBPL? We don't currently run C++ unit tests on Android. They're only run as part of "make check" on non-cross-compiled platforms.
Updated•12 years ago
|
Attachment #675864 -
Flags: review?(jgilbert) → review+
Assignee | ||
Comment 17•12 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/d7d0cb3b68e0 https://hg.mozilla.org/integration/mozilla-inbound/rev/a31d3b784446
Assignee: nobody → bjacob
Summary: Enable compiled code tests in content/canvas/test/compiled → Enable compiled code tests in content/canvas
Target Milestone: --- → mozilla19
Comment 18•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/d7d0cb3b68e0 https://hg.mozilla.org/mozilla-central/rev/a31d3b784446
Status: NEW → RESOLVED
Closed: 12 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Assignee | ||
Comment 19•12 years ago
|
||
Oops, the "increase test repeats" part failed to apply and i hadn't noticed. Good thing I checked test logs. https://hg.mozilla.org/integration/mozilla-inbound/rev/d33f050f2f34
You need to log in
before you can comment on or make changes to this bug.
Description
•