Yeah. I noticed your commit.

I’ll try to be more careful in the future.

> On Nov 6, 2017, at 6:57 PM, Alex Harui <aha...@adobe.com.INVALID> wrote:
> 
> Please be aware that in Ant, there are two build paths, one if you have
> AIR_HOME pointing to an AIR SDK and another for JS Only.  If you make
> changes to the builds, you might need to test the build both with and
> without AIR_HOME/PLAYERLGLOBAL_HOME.  And look for failures from the CI
> after you commit something.  The apacheflexbuild server is slow so it can
> take hours for the build with your changes to get through the queue.
> 
> Thanks,
> -Alex
> 
> On 11/6/17, 1:42 AM, "Harbs" <harbs.li...@gmail.com 
> <mailto:harbs.li...@gmail.com>> wrote:
> 
>> Well, Josh reversed the order of the arguments, and I think that makes
>> sense. The string is optional and it was at the beginning. It’s now the
>> optional last argument and all the arguments are as typed as they can be.
>> (compare arguments are of type Object.)
>> 
>> I just merged the testing branch into develop, so tests can be added on
>> the develop branch. The js testing is not functional yet, but the tests
>> can be written in a platform agnostic way.
>> 
>> More to come…
>> 
>> Harbs
>> 
>>> On Nov 6, 2017, at 12:51 AM, Piotr Zarzycki <piotrzarzyck...@gmail.com>
>>> wrote:
>>> 
>>> My guess is that, cause this approach emulates JUnit implementation.
>>> Let's
>>> say assertFalse - you can pass there one argument Boolean or two
>>> arguments
>>> Boolean and message. In AS3 there is no ability to create two functions
>>> with the same name. But in Java method overloading probably exists, so
>>> in
>>> JUnit there is probably:
>>> 
>>> assertFalse(Boolean param);
>>> assertFalse(Boolean param, String);
>>> 
>>> Summarize everything - I see only some AS3 language restriction as an
>>> reason.
>>> 
>>> Piotr
>>> 
>>> 
>>> 
>>> 2017-11-05 23:14 GMT+01:00 Harbs <harbs.li...@gmail.com>:
>>> 
>>>> BTW:
>>>> 
>>>> Was there a good reason FlexUnit uses the spread operator for assert
>>>> arguments instead of typed arguments?
>>>> 
>>>>> On Nov 5, 2017, at 11:36 PM, Harbs <harbs.li...@gmail.com> wrote:
>>>>> 
>>>>> Some progress on the unit tests:
>>>>> 
>>>>> I got the Core tests to run on the swf side when doing a full build.
>>>>> In
>>>> order to do that I needed to move the running of the tests until after
>>>> Basic finished building so the test app could be built.
>>>>> 
>>>>> We’re going to need to do something similar with the Maven build.
>>>>> 
>>>>> The Testing project is compiling and is usable (on a basic level) too.
>>>> Tests should run with both a SWF and JS target. The SWF target uses
>>>> FlexUnit, while the JS target uses Josh’s implementation.
>>>>> 
>>>>> I also migrated the Core tests to use the new project and that is
>>>> building as well.
>>>>> 
>>>>> I still need to add the bits that Greg wrote and wire up some JS
>>>>> tests.
>>>>> 
>>>>> Hopefully I’ll make some more progress tomorrow.
>>>>> 
>>>>> Harbs
>>>>> 
>>>>>> On Nov 5, 2017, at 8:17 AM, Alex Harui <aha...@adobe.com.INVALID>
>>>> wrote:
>>>>>> 
>>>>>> Those warnings do not seem to affect the success of the tests on SWF
>>>>>> for
>>>>>> me.
>>>>>> 
>>>>>> IMO, the big challenge is in capturing test results so it can be
>>>> reported
>>>>>> in a CI dashboard.  Having a GUI display results in Flash or in a
>>>> browser
>>>>>> is a great first step, but I believe going from there to getting
>>>> Selenium
>>>>>> to report individual test failures may be trickier.
>>>>>> 
>>>>>> Peter tried to write up Mustella a long time ago. It might need
>>>> updating.
>>>>>> See:
>>>>>> 
>>>>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcwiki 
>>>>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcwiki>
>>>>>> .apache.org 
>>>>>> <http://apache.org/>%2Fconfluence%2Fdisplay%2FFLEX%2FMustella%2BOverview&data=0
>>>>>> 2%7C01%7C%7Ce5b49c8e3cb349c5ca7508d524faa9d3%7Cfa7b1b5a7b34438794aed2c
>>>>>> 178decee1%7C0%7C0%7C636455581363121312&sdata=IN6067QM%2B7vPr4WAwrYXNjR
>>>>>> gNhAL6EdInCJUhfGyLjI%3D&reserved=0
>>>>>> 
>>>>>> The advantage of declarative testing languages is that you get to
>>>>>> constrain the kinds of things that a test can do, and abstract when
>>>>>> the
>>>>>> test harness does it.  It is much harder to interrupt sequential
>>>>>> lines
>>>> of
>>>>>> ActionScript/JavaScript.
>>>>>> 
>>>>>> HTH,
>>>>>> -Alex
>>>>>> 
>>>>>> On 11/4/17, 3:13 PM, "Harbs" <harbs.li...@gmail.com 
>>>>>> <mailto:harbs.li...@gmail.com>> wrote:
>>>>>> 
>>>>>>> It looks like FlexUnit is currently broken.
>>>>>>> 
>>>>>>> I’m getting the following output when trying to run the FlexUnit
>>>>>>> tests
>>>> on
>>>>>>> Core and Basic:
>>>>>>> 
>>>>>>> [mxmlc]
>>>>>>> /Users/harbs/Documents/ApacheRoyale/flex-flexunit/
>>>> FlexUnit4/target/flexuni
>>>>>>> t-4.3.0-20140410-as3_4.12.0.swc Warning: The definition
>>>>>>> mx.utils.ObjectUtil depended on by org.flexunit.runner.Description
>>>>>>> in
>>>> the
>>>>>>> SWC
>>>>>>> /Users/harbs/Documents/ApacheRoyale/flex-flexunit/
>>>> FlexUnit4/target/flexuni
>>>>>>> t-4.3.0-20140410-as3_4.12.0.swc could not be found
>>>>>>> [mxmlc]
>>>>>>> [mxmlc]
>>>>>>> [mxmlc]
>>>>>>> /Users/harbs/Documents/ApacheRoyale/flex-flexunit/
>>>> FlexUnit4/target/flexuni
>>>>>>> t-4.3.0-20140410-as3_4.12.0.swc Warning: The definition
>>>>>>> mx.utils.StringUtil depended on by
>>>>>>> flexunit.framework.AsyncTestHelper
>>>> in
>>>>>>> the SWC
>>>>>>> /Users/harbs/Documents/ApacheRoyale/flex-flexunit/
>>>> FlexUnit4/target/flexuni
>>>>>>> t-4.3.0-20140410-as3_4.12.0.swc could not be found
>>>>>>> 
>>>>>>> Has anyone looked at this yet?
>>>>>>> 
>>>>>>> Harbs
>>>>>>> 
>>>>>>>> On Nov 4, 2017, at 10:45 PM, Harbs <harbs.li...@gmail.com 
>>>>>>>> <mailto:harbs.li...@gmail.com>> wrote:
>>>>>>>> 
>>>>>>>> Thanks! That looks very useful.
>>>>>>>> 
>>>>>>>> I started work on a feature/testing branch. I’ll try to merge what
>>>>>>>> you
>>>>>>>> did into what Josh did. I’m going to try to get the existing Core
>>>> and/or
>>>>>>>> Basic tests working in both swf and node js output tomorrow. We’ll
>>>>>>>> see
>>>>>>>> how well I do… ;-)
>>>>>>>> 
>>>>>>>> We might need different configs for different testing environments,
>>>> but
>>>>>>>> I’ll see if we can keep the divergence of the environs is minimal
>>>>>>>> as
>>>>>>>> possible.
>>>>>>>> 
>>>>>>>> Once I get the basics worked out, I’ll likely have an idea what
>>>>>>>> others
>>>>>>>> can help with. Let’s see if we can whip the Royale tests into
>>>>>>>> shape.
>>>> :-)
>>>>>>>> 
>>>>>>>> Harbs
>>>>>>>> 
>>>>>>>>> On Nov 4, 2017, at 10:30 PM, Greg Dove <greg.d...@gmail.com 
>>>>>>>>> <mailto:greg.d...@gmail.com>>
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>> Harbs, I don't know if it still works since changes to Royale,
>>>>>>>>> but I
>>>>>>>>> had
>>>>>>>>> something rudimentary for cross-target unit testing quite shortly
>>>> after
>>>>>>>>> working on the reflection support last year, in fact that was my
>>>>>>>>> primary
>>>>>>>>> reason for choosing to focus on reflection at the time.
>>>>>>>>> 
>>>>>>>>> It was visual output only (i.e. just to look at the test results
>>>>>>>>> output in
>>>>>>>>> the browser) and the goal was to get some compatibility with
>>>>>>>>> flexunit
>>>>>>>>> (so
>>>>>>>>> that the same swf-based flexunit tests that were running in the
>>>>>>>>> build
>>>>>>>>> -e..g
>>>>>>>>> BinaryData tests- could be run visually side by side between swf
>>>>>>>>> and
>>>>>>>>> js).
>>>>>>>>> I also added a new TestVariance metadata to account for known
>>>>>>>>> (expected?)
>>>>>>>>> variation between swf and js. This was needed to cover (for
>>>>>>>>> example)
>>>>>>>>> things
>>>>>>>>> like testing Reflection classes themselves, where the results can
>>>>>>>>> be
>>>>>>>>> different between the targets based on the 'native' base classes
>>>> (e..g
>>>>>>>>> EventDispatcher inheritance chain).
>>>>>>>>> 
>>>>>>>>> Some of that code might also be useful to harvest for what you are
>>>>>>>>> doing,
>>>>>>>>> I'm not sure...
>>>>>>>>> 
>>>>>>>>> It's here:
>>>>>>>>> 
>>>>>>>>> https://na01.safelinks.protection.outlook.com/?url= 
>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=>
>>>> https%3A%2F%2Fgithub.
>>>>>>>>> com%2Fapache%2Froyale-asjs%2Ftree%2Fdevelop%
>>>> 2Fmanualtests%2FUnitTests&da
>>>>>>>>> ta=02%7C01%7C%7C67a58a332b6942a2022108d523d1
>>>> 5d35%7Cfa7b1b5a7b34438794aed
>>>>>>>>> 2c178decee1%7C0%7C0%7C636454304479378270&sdata=
>>>> DX9gXiLqUoFQizp6xrakUwxjl
>>>>>>>>> cdyHMlZO5mOzDSiKDQ%3D&reserved=0
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Sun, Nov 5, 2017 at 7:30 AM, Harbs <harbs.li...@gmail.com 
>>>>>>>>> <mailto:harbs.li...@gmail.com>>
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> Awesome!
>>>>>>>>>> 
>>>>>>>>>> I assume that this means I can code the code to the Royale repo
>>>> under
>>>>>>>>>> Apache 2. Right?
>>>>>>>>>> 
>>>>>>>>>> Harbs
>>>>>>>>>> 
>>>>>>>>>>> On Nov 3, 2017, at 5:37 PM, Josh Tynjala
>>>>>>>>>>> <joshtynj...@apache.org <mailto:joshtynj...@apache.org>>
>>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Please feel free to use my test runner. I'm happy to commit it
>>>>>>>>>>> somewhere
>>>>>>>>>> to make it official Apache code, if necessary.
>>>>>>>>>>> 
>>>>>>>>>>> - Josh
>>>>>>>>>>> 
>>>>>>>>>>> On 2017-11-03 04:19, Harbs <harbs.li...@gmail.com 
>>>>>>>>>>> <mailto:harbs.li...@gmail.com>> wrote:
>>>>>>>>>>>> One topic which keeps coming up is better test coverage for
>>>> Royale.
>>>>>>>>>>>> 
>>>>>>>>>>>> I think this is becoming a critical issue for a few reasons:
>>>>>>>>>>>> 1. As we get close to version 1.0 it’s necessary to have good
>>>> test
>>>>>>>>>> coverage for confidence of quality and confidence that we don’t
>>>>>>>>>> introduce
>>>>>>>>>> recessive bugs.
>>>>>>>>>>>> 2. It’s really hard to accept Github pull requests without
>>>>>>>>>>>> examining
>>>>>>>>>> the code VERY well that it does not introduce recessive bugs. CI
>>>>>>>>>> which runs
>>>>>>>>>> automated tests could give a preliminary test on pull requests to
>>>>>>>>>> ensure
>>>>>>>>>> that they don’t break anything. If the pull requests do break
>>>>>>>>>> something,
>>>>>>>>>> it allows the requester to fix the problem with confidence
>>>>>>>>>> without
>>>>>>>>>> taking
>>>>>>>>>> others’ time.
>>>>>>>>>>>> 
>>>>>>>>>>>> I think we need to break up testing into pieces and figure out
>>>>>>>>>>>> a
>>>>>>>>>> strategy to implement automated tests in a way that they are
>>>>>>>>>> maintainable.
>>>>>>>>>>>> 
>>>>>>>>>>>> Some points:
>>>>>>>>>>>> 1. I think integration into something like Travis would be very
>>>>>>>>>>>> helpful.
>>>>>>>>>>>> 2. I think there’s a Jenkins plugin for building pull
>>>>>>>>>>>> requests.
>>>>>>>>>>>> Not
>>>>>>>>>> sure how useful it is.[1]
>>>>>>>>>>>> 3. Josh has created a Node.js-compatible test-runner
>>>>>>>>>>>> architecture
>>>>>>>>>>>> which
>>>>>>>>>> could be useful for unit tests on parts of the framework which
>>>>>>>>>> don’t rely
>>>>>>>>>> on browser features. (i.e. models and the like) He mentioned the
>>>>>>>>>> possibility of donating it, and I think that would be a very
>>>>>>>>>> useful
>>>>>>>>>> feature.
>>>>>>>>>>>> 4. For UI and integration tests, there seem to be some pretty
>>>>>>>>>>>> cool
>>>>>>>>>> integrations using Selenium.[2][3]
>>>>>>>>>>>> 5. I think the main testing effort needs to be using JS and
>>>>>>>>>>>> something
>>>>>>>>>> like Josh’s testing framework for non-UI pieces and some
>>>> easy-to-use
>>>>>>>>>> Selenium integration for visual pieces and integration tests.
>>>>>>>>>>>> 6. We probably also want some API endpoints we can test off of
>>>>>>>>>>>> for
>>>>>>>>>> integration testing.
>>>>>>>>>>>> 
>>>>>>>>>>>> I’m willing to invest time into this.
>>>>>>>>>>>> 
>>>>>>>>>>>> It’s going to be a lot of work building out the tests and I
>>>> think
>>>>>>>>>>>> we
>>>>>>>>>> need a plan for that. My thoughts:
>>>>>>>>>>>> 
>>>>>>>>>>>> 1. Step one is to make it easy to write meaningful automated
>>>>>>>>>>>> tests
>>>>>>>>>>>> and
>>>>>>>>>> establish a clear pattern.
>>>>>>>>>>>> 2. Step two is to start writing tests starting from the
>>>>>>>>>> most-used/easiest to beak pieces and work out from there.
>>>>>>>>>>>> 3. Once the pattern is established, any new pieces MUST have
>>>> testing
>>>>>>>>>> coverage.
>>>>>>>>>>>> 4. When fixing bugs, attention should be paid to adding testing
>>>> for
>>>>>>>>>> that component.
>>>>>>>>>>>> 5. When a pull request comes in on a piece which does not have
>>>> unit
>>>>>>>>>> test, a test must be written before accepting the pull request.
>>>>>>>>>> The
>>>>>>>>>> test
>>>>>>>>>> does not need to be written by the requester. Before examining
>>>>>>>>>> the
>>>>>>>>>> request,
>>>>>>>>>> the test should be written to pass for expected behavior and fail
>>>> for
>>>>>>>>>> the
>>>>>>>>>> bug that the pull request is attempting to fix (assuming the pull
>>>>>>>>>> request
>>>>>>>>>> is to fix a bug).
>>>>>>>>>>>> 
>>>>>>>>>>>> Thoughts?
>>>>>>>>>>>> Harbs
>>>>>>>>>>>> 
>>>>>>>>>>>> P.S. I’m thinking of coming to the US in late December/early
>>>>>>>>>>>> January.
>>>>>>>>>> I would be interested in getting together for a hacking session
>>>>>>>>>> with
>>>>>>>>>> folks
>>>>>>>>>> who are available.
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> [1]https://na01.safelinks.protection.outlook.com/?url= 
>>>>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=>
>>>> https%3A%2F%2Fw
>>>>>>>>>>>> iki.jenkins.io%2Fdisplay%2FJENKINS%2FGitHub%2Bpull&
>>>> data=02%7C01%7C%7C
>>>>>>>>>>>> 67a58a332b6942a2022108d523d15d35%7Cfa7b1b5a7b34438794aed2c178de
>>>> cee1%7
>>>>>>>>>>>> 
>>>>>>>>>>>> C0%7C0%7C636454304479378270&sdata=cnyBtnVycpg3Aa7Hfel3dkAlez2m7M
>>>> 0uSl3
>>>>>>>>>>>> f0ezbSZY%3D&reserved=0+
>>>>>>>>>> request+builder+plugin
>>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url= 
>>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=>
>>>> https%3A%2F%2Fwiki.
>>>>>>>>>> jenkins.io%2F&data=02%7C01%7C%7C67a58a332b6942a2022108d523d1
>>>> 5d35%7Cfa7b
>>>>>>>>>> 1b5a7b34438794aed2c178decee1%7C0%7C0%7C636454304479378270&
>>>> sdata=eqe6ec%
>>>>>>>>>> 2F%2FIatSxdUuHU0Lo8o3WxySBkdSvUNa6i9NQ%2FI%3D&reserved=0
>>>>>>>>>> display/JENKINS/GitHub+pull+request+builder+plugin>
>>>>>>>>>>>> 
>>>>>>>>>>>> [2]https://na01.safelinks.protection.outlook.com/?url= 
>>>>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=>
>>>> https%3A%2F%2Fd
>>>>>>>>>>>> ocs.travis-ci.com 
>>>>>>>>>>>> <http://ocs.travis-ci.com/>%2Fuser%2Fgui-and-headless-browsers%
>>>> 2F&data=02%7C01%
>>>>>>>>>>>> 7C%7C67a58a332b6942a2022108d523d15d35%
>>>> 7Cfa7b1b5a7b34438794aed2c178dec
>>>>>>>>>>>> ee1%7C0%7C0%7C636454304479378270&sdata=zK%
>>>> 2FdOBmWJUsF7SylIQtMQQpAeOhw
>>>>>>>>>>>> 03sjOytutB4rGCY%3D&reserved=0 <
>>>>>>>>>> 
>>>>>>>>>> https://na01.safelinks.protection.outlook.com/?url= 
>>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=>
>>>> https%3A%2F%2Fdocs.t
>>>>>>>>>> ravis-ci.com 
>>>>>>>>>> <http://ravis-ci.com/>%2Fuser%2Fgui-and-headless-browsers%2F&data=02%
>>>> 7C01%7C%7C67
>>>>>>>>>> a58a332b6942a2022108d523d15d35%7Cfa7b1b5a7b34438794aed2c178de
>>>> cee1%7C0%7
>>>>>>>>>> C0%7C636454304479378270&sdata=zK%2FdOBmWJUsF7SylIQtMQQpAeOhw03s
>>>> jOytutB4
>>>>>>>>>> rGCY%3D&reserved=0>
>>>>>>>>>>>> 
>>>>>>>>>>>> [3]https://na01.safelinks.protection.outlook.com/?url= 
>>>>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=>
>>>> https%3A%2F%2Fs
>>>>>>>>>>>> aucelabs.com 
>>>>>>>>>>>> <http://aucelabs.com/>%2Fproducts%2Fintegrations&data=02%7C01%
>>>> 7C%7C67a58a332b69
>>>>>>>>>>>> 42a2022108d523d15d35%7Cfa7b1b5a7b34438794aed2c178de
>>>> cee1%7C0%7C0%7C636
>>>>>>>>>>>> 454304479378270&sdata=kwfto9xiP0ygeBrEqGz9ucdC%
>>>> 2FNXSRVOQho9qUW1mqdw%3
>>>>>>>>>>>> D&reserved=0
>>>>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url= 
>>>>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=>
>>>> https%3A%2F%2Fsau
>>>>>>>>>>>> celabs.com 
>>>>>>>>>>>> <http://celabs.com/>%2F&data=02%7C01%7C%7C67a58a332b6942a2022108d523d1
>>>> 5d35%7Cfa
>>>>>>>>>>>> 7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636454304479378270&
>>>> sdata=xpG
>>>>>>>>>>>> G85mRtcFwwG7nbRfT7oLMPm4VPeHxe4trkG1wrAw%3D&reserved=0
>>>>>>>>>> products/integrations>
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>>> 
>>> -- 
>>> 
>>> Piotr Zarzycki
>>> 
>>> Patreon: 
>>> *https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pat 
>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pat>
>>> reon.com 
>>> <http://reon.com/>%2Fpiotrzarzycki&data=02%7C01%7C%7Ce5b49c8e3cb349c5ca7508d524faa9
>>> d3%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636455581363121312&sdata=
>>> QBPbqXZLLgir1Cf93t%2BlEadVLXo3eq83ifD4wjwBYAs%3D&reserved=0
>>> 
>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pat 
>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pat>
>>> reon.com 
>>> <http://reon.com/>%2Fpiotrzarzycki&data=02%7C01%7C%7Ce5b49c8e3cb349c5ca7508d524faa9
>>> d3%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636455581363121312&sdata=
>>> QBPbqXZLLgir1Cf93t%2BlEadVLXo3eq83ifD4wjwBYAs%3D&reserved=0>*

Reply via email to