Hi Josh,

Awesome! :)
Thanks for working on this.

just a suggestion. Maybe a page on wiki with all this stuff will be very
helpful for others and to avoid this information will be lost in the
mailing list.

thanks! :)

Carlos



El vie., 24 may. 2019 a las 5:32, Alex Harui (<[email protected]>)
escribió:

> Also note that when I Remote Desktop into apacheroyaleci, I have seen a
> "Firefox closed unexpectedly when starting" dialog a couple of times.  I've
> not seen that before, so might be related to your changes.
>
> -Alex
>
> On 5/23/19, 7:47 PM, "Alex Harui" <[email protected]> wrote:
>
>     First off, this sounds like a great new capability for Royale, so
> thanks for working on it.
>
>     Regarding JS test issues, did you rule out using Selenium?  I haven't
> had problems with it on Mac or Win for Mustella.
>
>     HTH,
>     -Alex
>
>     On 5/23/19, 4:20 PM, "Josh Tynjala" <[email protected]> wrote:
>
>         Unfortunately, I had to disable the JS tests automatically running
> on the royale-asjs main build because they intermittently fail on macOS. It
> seems that the port that the WebSocket server uses isn't released until
> some time after the <royaleunit> task completes. So, after one Royale
> library is tested, the next might fail. I haven't figured out what's
> causing it yet. Additionally, this issue does not affect Windows.
>
>         The JS tests are still available, if you'd like to run them
> manually. The following commands will run tests for CoreJS:
>
>         cd frameworks/js/projects/CoreJS
>         ant test
>
>         We currently have JS tests for CoreJS, BasicJS, and RoyaleUnitJS.
>
>         - Josh
>
>         On 2019/05/23 19:18:21, Josh Tynjala <[email protected]>
> wrote:
>         > Hey Royale team,
>         >
>         > Over the last several days, I've been working on RoyaleUnit
> again, and I wanted to share a bit about what I've completed this week.
>         >
>         > ## New <royaleunit> Ant task
>         >
>         > Until now, we've been using the <flexunit> Ant task to run
> RoyaleUnit tests on our SWF output in the Ant builds. The RoyaleUnit
> library is similar to FlexUnit, but it's a completely new implementation
> that works on both SWF and JS. When I first created RoyaleUnit, I could
> only get SWF output successfully communicating with the <flexunit> Ant
> task. JS tests could be run manually, but they could not be automated in
> Ant yet, for technical reasons.
>         >
>         > On the SWF side, FlexUnit uses XMLSocket to communicate with the
> <flexunit> Ant task. That was easy enough to port over to RoyaleUnit.
> However, JS in the browser doesn't have a simple socket implementation that
> would allow it to speak the same protocol. The closest thing is WebSocket,
> but the <flexunit> Ant task doesn't know how to talk to WebSockets. So, I
> created a new <royaleunit> Ant task that can still speak XMLSocket with
> SWF, but also supports WebSocket for JS.
>         >
>         > Previously, you could specify "flash" or "air" for the player
> value in the Ant task:
>         >
>         > <royaleunit player="flash" />
>         > <royaleunit player="air" />
>         >
>         > I added a new one, "html", that tells the Ant task to use
> WebSockets.
>         >
>         > <royaleunit player="html" />
>         >
>         > Then, you can use the swf property to specify the HTML file to
> launch:
>         >
>         > <royaleunit player="html" swf="bin/js-debug/index.html" />
>         >
>         > (It was already called "swf" in <flexunit>, but maybe we should
> rename it or provide an alias)
>         >
>         > By default, it should use your default web browser. However, if
> you'd prefer a different browser, you can use the command property:
>         >
>         > <royaleunit player="html" swf="bin/js-debug/index.html"
> command="c:/Program Files/Mozilla Firefox/firefox.exe" />
>         >
>         > ## Ant builds run JS tests
>         >
>         > After I got the <royaleunit> Ant task work, I updated our
> royale-asjs Ant builds to run both SWF and JS tests. This was interesting
> because it needs to launch a web browser, and there are some gotchas that I
> discovered.
>         >
>         > In particular, Internet Explorer always requires the user to
> manually click a button to allow JavaScript content to run in a local HTML
> file. Likewise, the first time a local file is launched in Safari, it asks
> to confirm if you want to open it or not. When you try to open the file
> again later, Safari opens it without asking, but that first time isn't
> ideal.
>         >
>         > With the two default browsers not really good candidates, I
> decided to try Chrome and Firefox. I found that both will run scripts
> without a prompt, but they aren't necessarily installed on everyone's
> systems. So, first it looks for Chrome (which is the most popular browser
> these days), and then it falls back to Firefox. If it can't find either
> one, the build fails with an error.
>         >
>         > In the case where a browser cannot be found automatically, there
> is the option to specify a royaleunit.browser property when running the Ant
> build script. You can either add it to your *env.properties* file in the
> root of royale-asjs, or you can specify it on the command line like this:
>         >
>         > ant -Droyaleunit.browser=path/to/browser.exe
>         >
>         > (On macOS, I think that you need to point to the native
> executable instead of the .app file, like
> /Applications/Firefox.app/Contents/MacOS/firefox)
>         >
>         > When <royaleunit> finishes running JS tests in the browser, it
> will automatically close the browser — except when that browser was already
> open before you started running the tests. In that case, it will simply
> open a new tab, which will remain open after the tests complete. So, it
> won't make you lose all of your existing tabs or anything. However, it may
> be annoying to have a bunch of extra tabs that you need to manually close
> every time that you run the build script. In that case, just like I
> explained above, you can use the royaleunit.browser property in
> env.properties or via the command line to tell the build to run JS tests in
> a different browser that you prefer. As I mentioned, if that browser isn't
> already open, the build script will exit the browser automatically after
> running tests.
>         >
>         > I confirmed that apacheroyaleci on Azure has Firefox installed,
> and at least one build has completed successfully on this server.
>         >
>         > Please let me know if this has disrupted anything. However, I
> think that I covered the edge cases pretty well.
>         >
>         > - Josh
>         >
>
>
>
>
>

-- 
Carlos Rovira
http://about.me/carlosrovira

Reply via email to