X-Git-Url: https://mudpy.org/gitweb?p=mudpy.git;a=blobdiff_plain;f=mudpy%2Ftests%2Fselftest.py;h=bb0baaaf436f33a89806954bdddb2c1d29476e97;hp=27378e91dbde345c7dc1185cdb845b6d67554591;hb=3cfb3e28f88580e78030ebfef4ccf900dd4efec0;hpb=a848ee505cff4e968417004173adc790f4e78ff1 diff --git a/mudpy/tests/selftest.py b/mudpy/tests/selftest.py index 27378e9..bb0baaa 100644 --- a/mudpy/tests/selftest.py +++ b/mudpy/tests/selftest.py @@ -10,9 +10,9 @@ import time test_account0_setup = ( (0, "Identify yourself:", "luser0"), (0, "Enter your choice:", "n"), - (0, "Enter a new password for \"luser0\":", "Test123"), + (0, 'Enter a new password for "luser0":', "Test123"), (0, "Enter the same new password again:", "Test123"), - (0, "What would you like to do\?", "c"), + (0, r"What would you like to do\?", "c"), (0, "Pick a birth gender for your new avatar:", "f"), (0, "Choose a name for her:", "1"), (0, "What would you like to do?", "a"), @@ -22,9 +22,9 @@ test_account0_setup = ( test_account1_setup = ( (1, "Identify yourself:", "luser1"), (1, "Enter your choice:", "n"), - (1, "Enter a new password for \"luser1\":", "Test456"), + (1, 'Enter a new password for "luser1":', "Test456"), (1, "Enter the same new password again:", "Test456"), - (1, "What would you like to do\?", "c"), + (1, r"What would you like to do\?", "c"), (1, "Pick a birth gender for your new avatar:", "m"), (1, "Choose a name for him:", "1"), (1, "What would you like to do?", "a"), @@ -32,51 +32,51 @@ test_account1_setup = ( ) test_actor_appears = ( - (0, "You suddenly realize that .* is here\.", ""), + (0, r"You suddenly realize that .* is here\.", ""), ) test_explicit_punctuation = ( (0, "> ", "say Hello there!"), - (0, 'You exclaim, "Hello there\!"', ""), - (1, 'exclaims, "Hello there\!"', "say And you are?"), - (1, 'You ask, "And you are\?"', ""), - (0, 'asks, "And you are\?"', "say I'm me, of course."), - (0, 'You say, "I\'m me, of course\."', ""), - (1, 'says, "I\'m me, of course\."', "say I wouldn't be so sure..."), - (1, 'You muse, "I wouldn\'t be so sure\.\.\."', ""), - (0, 'muses, "I wouldn\'t be so sure\.\.\."', "say You mean,"), + (0, r'You exclaim, "Hello there\!"', ""), + (1, r'exclaims, "Hello there\!"', "say And you are?"), + (1, r'You ask, "And you are\?"', ""), + (0, r'asks, "And you are\?"', "say I'm me, of course."), + (0, r'''You say, "I'm me, of course\."''', ""), + (1, r'''says, "I'm me, of course\."''', "say I wouldn't be so sure..."), + (1, r'''You muse, "I wouldn't be so sure\.\.\."''', ""), + (0, r'''muses, "I wouldn't be so sure\.\.\."''', "say You mean,"), (0, 'You begin, "You mean,"', ""), (1, 'begins, "You mean,"', "say I know-"), (1, 'You begin, "I know-"', ""), (0, 'begins, "I know-"', "say Don't interrupt:"), - (0, 'You begin, "Don\'t interrupt:"', ""), - (1, 'begins, "Don\'t interrupt:"', "say I wasn't interrupting;"), - (1, 'You begin, "I wasn\'t interrupting;"', ""), - (0, 'begins, "I wasn\'t interrupting;"', ""), + (0, r'''You begin, "Don't interrupt:"''', ""), + (1, r'''begins, "Don't interrupt:"''', "say I wasn't interrupting;"), + (1, r'''You begin, "I wasn't interrupting;"''', ""), + (0, r'''begins, "I wasn't interrupting;"''', ""), ) test_implicit_punctuation = ( (0, '> ', "say Whatever"), - (0, 'You say, "Whatever\."', ""), - (1, 'says, "Whatever\."', ""), + (0, r'You say, "Whatever\."', ""), + (1, r'says, "Whatever\."', ""), ) test_typo_replacement = ( (1, '> ', "say That's what i think."), - (1, 'You say, "That\'s what I think\."', ""), - (0, 'says, "That\'s what I think\."', "say You know what i'd like."), - (0, 'You say, "You know what I\'d like\."', ""), - (1, 'says, "You know what I\'d like\."', "say Then i'll tell you."), - (1, 'You say, "Then I\'ll tell you\."', ""), - (0, 'says, "Then I\'ll tell you\."', "say Now i'm ready."), - (0, 'You say, "Now I\'m ready\."', ""), - (1, 'says, "Now I\'m ready\."', "say That's teh idea."), - (1, 'You say, "That\'s the idea\."', ""), - (0, 'says, "That\'s the idea\."', "say It's what theyre saying."), - (0, 'You say, "It\'s what they\'re saying\."', ""), - (1, 'says, "It\'s what they\'re saying\."', "say Well, youre right."), - (1, 'You say, "Well, you\'re right\."', ""), - (0, 'says, "Well, you\'re right\."', ""), + (1, r'''You say, "That's what I think\."''', ""), + (0, r'''says, "That's what I think\."''', "say You know what i'd like."), + (0, r'''You say, "You know what I'd like\."''', ""), + (1, r'''says, "You know what I'd like\."''', "say Then i'll tell you."), + (1, r'''You say, "Then I'll tell you\."''', ""), + (0, r'''says, "Then I'll tell you\."''', "say Now i'm ready."), + (0, r'''You say, "Now I'm ready\."''', ""), + (1, r'''says, "Now I'm ready\."''', "say That's teh idea."), + (1, r'''You say, "That's the idea\."''', ""), + (0, r'''says, "That's the idea\."''', "say It's what theyre saying."), + (0, r'''You say, "It's what they're saying\."''', ""), + (1, r'''says, "It's what they're saying\."''', "say Well, youre right."), + (1, r'''You say, "Well, you're right\."''', ""), + (0, r'''says, "Well, you're right\."''', ""), ) test_sentence_capitalization = ( @@ -87,39 +87,39 @@ test_sentence_capitalization = ( test_chat_mode = ( (1, '> ', "chat"), - (1, '(?s)Entering chat mode .*> \(chat\) ', "Feeling chatty."), - (1, 'You say, "Feeling chatty\."', "!chat"), - (0, 'says, "Feeling chatty\."', ""), + (1, r'(?s)Entering chat mode .*> \(chat\) ', "Feeling chatty."), + (1, r'You say, "Feeling chatty\."', "!chat"), + (0, r'says, "Feeling chatty\."', ""), (1, '> ', "say Now less chatty."), - (1, 'You say, "Now less chatty\."', ""), - (0, 'says, "Now less chatty\."', ""), + (1, r'You say, "Now less chatty\."', ""), + (0, r'says, "Now less chatty\."', ""), ) test_movement = ( (0, "> ", "move north"), - (0, "You exit to the north\.", ""), - (1, "exits to the north\.", "move north"), - (0, "arrives from the south\.", "move south"), - (0, "You exit to the south\.", ""), - (1, "exits to the south\.", "move south"), - (0, "arrives from the north\.", "move east"), - (0, "You exit to the east\.", ""), - (1, "exits to the east\.", "move east"), - (0, "arrives from the west\.", "move west"), - (0, "You exit to the west\.", ""), - (1, "exits to the west\.", "move west"), - (0, "arrives from the east\.", "move up"), - (0, "You exit upward\.", ""), - (1, "exits upward\.", "move up"), - (0, "arrives from below\.", "move down"), - (0, "You exit downward\.", ""), - (1, "exits downward\.", "move down"), - (0, "arrives from above\.", ""), + (0, r"You exit to the north\.", ""), + (1, r"exits to the north\.", "move north"), + (0, r"arrives from the south\.", "move south"), + (0, r"You exit to the south\.", ""), + (1, r"exits to the south\.", "move south"), + (0, r"arrives from the north\.", "move east"), + (0, r"You exit to the east\.", ""), + (1, r"exits to the east\.", "move east"), + (0, r"arrives from the west\.", "move west"), + (0, r"You exit to the west\.", ""), + (1, r"exits to the west\.", "move west"), + (0, r"arrives from the east\.", "move up"), + (0, r"You exit upward\.", ""), + (1, r"exits upward\.", "move up"), + (0, r"arrives from below\.", "move down"), + (0, r"You exit downward\.", ""), + (1, r"exits downward\.", "move down"), + (0, r"arrives from above\.", ""), ) test_actor_disappears = ( (1, "> ", "quit"), - (0, "You suddenly wonder where .* went\.", ""), + (0, r"You suddenly wonder where .* went\.", ""), ) test_account1_teardown = ( @@ -133,9 +133,9 @@ test_account1_teardown = ( test_admin_setup = ( (2, "Identify yourself:", "admin"), (2, "Enter your choice:", "n"), - (2, "Enter a new password for \"admin\":", "Test789"), + (2, 'Enter a new password for "admin":', "Test789"), (2, "Enter the same new password again:", "Test789"), - (2, "What would you like to do\?", "c"), + (2, r"What would you like to do\?", "c"), (2, "Pick a birth gender for your new avatar:", "m"), (2, "Choose a name for him:", "1"), (2, "What would you like to do?", "a"), @@ -144,32 +144,52 @@ test_admin_setup = ( test_admin_restriction = ( (0, "> ", "help halt"), - (0, "That is not an available command\.", "halt"), + (0, r"That is not an available command\.", "halt"), (0, '(not sure what "halt" means|Arglebargle, glop-glyf)', ""), ) test_admin_help = ( (2, "> ", "help"), - (2, "halt.*Shut down the world\.", "help halt"), + (2, r"halt.*Shut down the world\.", "help halt"), (2, "This will save all active accounts", ""), ) +test_reload = ( + (2, "> ", "reload"), + (2, r"Reloading all code modules, configs and data\." + r".* User admin reloaded the world\.", ""), +) + test_show_element = ( - (2, "> ", "show element internal:counters"), - (2, "These are the properties of the \"internal:counters\" element " - "\(in.*data/internal\.yaml\"\):.* \x1b\[32melapsed: " - "\x1b\[31m[0-9]+\x1b\[0m", ""), + (2, "> ", "show element mudpy.limit"), + (2, r'These are the properties of the "mudpy\.limit" element.*' + r' \x1b\[32mpassword_tries: \x1b\[31m[0-9]+.*> ', + "show element actor:avatar:admin:0"), + (2, r'These are the properties of the "actor:avatar:admin:0" element.*' + r' \x1b\[32mgender: \x1b\[31mmale.*> ', ""), ) test_show_log = ( (2, "> ", "show log"), - (2, "There are [0-9]+ log lines in memory and [0-9]+ at or above level " - "[0-9]+\. The matching lines\r\nfrom [0-9]+ to [0-9]+ are:", ""), + (2, r"There are [0-9]+ log lines in memory and [0-9]+ at or above level " + r"[0-9]+\. The matching lines\r\nfrom [0-9]+ to [0-9]+ are:", ""), +) + +test_custom_loglevel = ( + (2, "> ", "set account:admin loglevel 2"), + (2, "You have successfully .*> ", "show log"), + (2, r"There are [0-9]+ log lines in memory and [0-9]+ at or above level " + r"[0-9]+\. The matching lines\r\nfrom [0-9]+ to [0-9]+ are:", ""), +) + +test_invalid_loglevel = ( + (2, "> ", "set account:admin loglevel two"), + (2, r'''Value "two" of type "" cannot be coerced .*> ''', ""), ) test_log_no_errors = ( (2, "> ", "show log 7"), - (2, "None of the [0-9]+ lines in memory matches your request\.", ""), + (2, r"None of the [0-9]+ lines in memory matches your request\.", ""), ) dialogue = ( @@ -187,8 +207,11 @@ dialogue = ( (test_admin_setup, "admin account setup"), (test_admin_restriction, "restricted admin commands"), (test_admin_help, "admin help"), + (test_reload, "reload"), (test_show_element, "show element"), (test_show_log, "show log"), + (test_custom_loglevel, "custom loglevel"), + (test_invalid_loglevel, "invalid loglevel"), (test_log_no_errors, "no errors logged"), ) @@ -199,7 +222,7 @@ def main(): success = True start = time.time() for luser in lusers: - luser.open("::1", 6669) + luser.open("::1", 4000) for test, description in dialogue: print("\nTesting %s..." % description) test_start = time.time()