# Test Data File for Command Line tests. # # Each test is a one-line entry of the form: # # ||||| # # Where: # is an arbitrary name used to apply to a group of tests, allowing that group # of tests to be executed independently of other configured tests. By default, all # tests are executed; call run_cli_tests.sh with '-g ' to indicate that the # specified group of tests are to be run. This is intended to speed up interactive testing # for a focused group of tests. # # is the Perforce command to execute. If it starts with 'p4 ', the # 'p4 ' wll be substituted at runtime with 'p4 -p -u -c ', # where the port/user/client values are dependint test configuration data in # test_sdp.*.cfg files. # # Alternately, the can start with 'p4:user:client ', to execute # commands as a user or in a workspace defined in the test entry. The user # is typically 'bruno' or some other user from the Perforce Sample Depot data set. # # If the does not start with 'p4 ' or 'p4:user:client ', it is deemed # to be an arbitrary command and it is executed as is. # # The value can also be the special value 'no_cmd', meaning that no # test command is executed. This allows additional checks of logs to be done based # on the execution of the most recent executed test. # # is the expected exit code, which must be a whole number (integer 0 or # greater). If the actual test exist code is not match, the test is deemed to have # failed. A special value of 'U' meaning Undefined can be given rather than a # whole number to indicate that any exit code is accepted. (The test may still fail # depending on the ). A special value of 'N' can be given to indicate that # any non-zero exit code is accepted. # # Specify the absolute path to the log containing the expected string, # or the special value 'output' to scan the output of the command rather than # a log file. # # is a string of text expected of the executed command in # either the ouptutor a given logfile. The string can be a regular expression. # # are short comments for the human reviewer of the test, describing what # is expected in the output, what is being tested, etc. # Sample: Run 'p4 -s info -s' command. Expect a zero exit code with "Server version" # in the output: Info|p4 -s info -s|0|output|Server version|Basic p4 info command. # Sample: Run 'p4 -s infox -s' (which does not exist). Expect a 1 exit code with "Unknown command" # in the output: # Info|p4 -s infox -s|1|output|error: Unknown command.|Broken p4 info command. # These next two entries are sample bogus test entries. These will abort the # sdp_test_suite.sh test run unless '-f' is used, in which case they'll just be # ignored: ### p4 -s info -s|BogusExitCode|/p4/1/logs/log|blah|Sample bad test data entry. ### p4x -s info -s|U|/p4/1/logs/log|Blah|Sample bad test data entry. # This is a real test: Basic|p4login 1 -v|0|output|^Success:|Login test. Basic|p4 -s configure show server.depot.root|0|output|^exit: 0$|Check server.depot.root value. Basic|p4:earl:bruno_ws flush //depot/Jam/MAIN/src/Build.com|0|/p4/1/logs/log|user-flush|Check expected P4LOG writes. # This example with 'U' (undefined) for expected the exit code and an empty value # for the expected string would be for informational purposes only, since the # test would never fail: # p4 info|U||Sample test that should always succeed.