Ok this makes some sense but I don't think I described the whole problem correctly. I am testing whether or not a radio is showing the satelite signal based on whether it should or should not. For instance USA ${Sat}=yes, Germany ${Sat}=no. Therefore If I get the singal from the source for USA than ${source}=="sat", I then compare ${source} to ${Sat}. if equal the test passes, if not it fails. At this point though ${source} is "sat" and ${Sat} is yes. those are not equal therefore the test fails when it shouldn't. If I can set a variable for instace, ${sourceCheck}= | set variable if | ${source} == "sat" | yes | no If I use USA as an example again, ${source}=="sat", therefore ${sourceCheck}=yes which is equal to ${Sat} which also equals yes. Ok that test works. The problem I'm having is that I need to log a warning if the test fails.
with what you suggested: ${sourceCheck}= | Evaluate | "${source}" == "sat",
Run Keyword If | "${sourceCheck}" != "True" | log | msg | WARN
with the above example of USA, ${Sat}=yes and ${sourceCheck} = True. therefore no logging takes place.
but what about an unworking example of USA ${Sat}= yes and $(sourceCheck} = False(because the radio is bugged and satelite isn't coming up), now
we don't necessesarily get a test fail(which I need) but we do get a warning.
One last example to help define the problem.
Germany ${Sat} = no, ${sourceCheck} = True(because the radio is bugged and satelite is coming up), now we still don't get a test fail and also get no warning.
That is my problem, I need all 4 bases covered in this particular test. I need to check ${Sat} (yes or no) against whether or not ${source} is yes or no. hence the set variable if statement. This is just to pass or fail the test, which i've got to work just fine. But when I attempt to log it, all of a sudden its telling me that yes isn't defined or no isn't defined.
kinda hard to describe all this, hopefully this long explanation made it slightly easier to recognize the problem.
Thanks again