I have a listner which updates test result to test management tool at end_test. The problem is when run in dryrun mode it update every thing as Passed which is False result.
Is there a way I can access ROBOT_OPTIONS in my listener because it will have all the command line options, OR is there an alternative way of checked if -dryrun is enabled in my listener library
There's nothing that is officially supported. Though, a solution that might work for you is to import sys, and then scan sys.argv for the --dryrun option. This won't work if you have the dry run argument inside an argument file. 
Another simple solution is for you to define a variable when you specify the dry run flag (eg: robot --dryrun --variable DRYRUN:True), and then your logic can use that variable.
In my listener how to check if dryrun flag is set or not