so, i've put savage power, 90s cd on skill bar 1, and Frost Arrows, only GCD on skill bar 2. both self buffs.
The first skill should be in the first button of the main action bar while the second skill (Frost Arrows in your case) should be on the second
button. That is, the buttons are the ones with the numbers "1" and "2" hotkeys displayed on it.
If the skills aren't in the right place, the tests won't really make sense, or work correctly.
test1 shows the scroll banner, chatmessage: exec time: 0
test3 calls both test 3 and 4 banners, exec time:0
test4 calls only banner test4 exec time:0
These are what is supposed to happen. In the case of test 3, it internally calls test 4. The fact that you see both banners in test 3 proves that the perform command worked.
test5 only exec time:0, didn't call the banner from test3
You need to run it twice. the test tries to use action slot 1 and if it
didn't it then calls test 3. If the action slot was used, it will not call test 3. Since that first action is on a long cooldown, the first time running test 5 should try the skill, the second time should run test 3 instead.
test6 only exec time:0
test7 only exec time:0
This is effectively the reverse of test 5. Test 6 runs test 7 and then tries casting the GCD only skill. Test 7 tries the long cooldown skill. Again, this needs to be run twice (when neither skill is on cooldown).
test2 only shows exec time:0 on chat
test 8 only exec time:0 only once.
With the skills in the correct action bar button slots, test 2 should cast the GCD only skill, as does test 8. The difference between these two tests is that test 8 puts a 5 second fake cooldown timer on the skill, so if you have a macro with
/fdiyce test8, the skill will only fire every 5 seconds even if you spam the macro.
Again, the skills must be in the right slots.
test9 calls 4 nil banners and all the chat messages
Another test where you need to try it under different conditions. When you run it without a target, the
nil displays are normal. If you however select a target, the messages will change to
true.
The chat window messages show further debug information about how and when it uses the variable's cached information. The first should force an update, while the second you simply read the value. The results of these two variable reads are displayed in the first two banners.
The test then forcefully invalidates the variable's data cache and repeats the same two reads. As before, it should then force a second update of the variable on the third read, but not the forth. The results of these last two data reads are displayed in the third and fourth banner.
test10 just says it updates, and return cached values for gottarget
Test 10 is a little odd. Much like test 8, it casts the GCD only skill and also uses that 5 second cooldown timer on it. However, if you have a target selected, it ignores the fake cooldown timer allowing it to be spammed. It proves that the ignore flag for the fake cooldown timers function properly.
test11 2 banners with their messages, few chat messages, exec time : 0
test12 chat messages, exec time: 0
test13 100s of repeated chat messages.
All three of these tests were for speed measurements though the exec time displayed doesn't appear to work. I used a different method.
Anyway, test 11 does a bunch of stuff that attempts to emulate what a typical script would do (more or less given the limited amount of commands implemented).
Test 12 repeats a sequence of commands in order to waste time (again to test execution speeds of the scripts themselves).
Test 13 effectively runs test 12 100 times! So yeah, you'd get a boat load of messages ;p
well, i don't know if i did something wrong, but none skill was cast. neither of the 2 i've put on 2 first slotbars. and still couldn't make the /script FindInstance() to work.
Other than possibly having the skills in the wrong action bar slots, your test results appear to me to be correct.
As for the FindInstance thing, well that is another issue (I responded to your PM on that issue).