Warning, /testsuites/libtests/termios/README.md is written in an unsupported language. File is not indexed.
0001 termios
0002 =======
0003
0004 These tests are brought to you by the letter `q'.
0005
0006 When you start the test, you should see:
0007
0008 You have the following choices:
0009 1 - Reset the struct termios
0010 2 - Look at the current termios setting
0011 3 - Change the line characteristics
0012 4 - Test canonical input
0013 5 - Test raw input
0014 9 - Exit
0015 Enter your choice (1 to 5 or 9, followed by a carriage return):
0016
0017 The individual tests are briefly described below:
0018
0019
0020 1. Reset the struct termios.
0021
0022 Included just in case you get into trouble. More than likely, if you are in
0023 trouble, neither input nor output are likely to work and this won't help. But
0024 hey, it should give you some warm fuzzy feeling that its there...
0025
0026
0027 2. Look at the current termios setting
0028
0029 Dumps the current state of the termios settings in hex and with symbolic flag
0030 names.
0031
0032
0033 3. Change the line characteristics
0034
0035 Allows you to change the line speed, parity, number of data bits and number of
0036 stop bits. You must supply a delay before the change takes effect. This gives
0037 you time to switch your terminal settings to continue with the test.
0038
0039 WARNING: Minicom under Linux gets extremely unhappy (as does the /dev/ttyS?
0040 underlying devices) if you change the line characteristics and do not make the
0041 corresponding change in the terminal emulator.
0042
0043
0044 4. Test canonical input
0045
0046 Simple test of canonical or cooked input mode. Try typing some tabs and/or control characters and make sure that you can backspace over them properly.
0047
0048
0049 5. Test raw input
0050
0051 The line is placed into raw mode and four separate test are done:
0052
0053 VMIN=0, VTIME=0
0054 Each letter you type should produce a line of output.
0055 The `count' should be quite large, since (as you correctly
0056 pointed out) the read is non-blocking. The time should be
0057 the interval between typing characters.
0058 Type a `q' to finish the test.
0059 VMIN=0, VTIME=20
0060 Again, each letter should produce a line of output. The
0061 `count' should be much smaller -- the read is non-blocking
0062 but has a timeout of 2 seconds, so the count should be about
0063 half the `interval'.
0064 Type a `q' to finish the test.
0065 VMIN=5, VTIME=0
0066 A line should be produced for every 5 characters typed. The
0067 count should be 1. This is a blocking read.
0068 Type a `q' as the first character of a group of 5 to finish
0069 the test.
0070 VMIN=5, VTIME=20
0071 Type a character. Two seconds later a line should be printed.
0072 Count should be 1. Type a character, and another within 2 seconds.
0073 Two seconds after last character (or right after the 5th character)
0074 a line should be printed.
0075 Type a `q' as the first character of a group to finish the test.
0076
0077
0078 9. Exit
0079
0080 Gets you out of the test.
0081
0082
0083 Clear???
0084
0085
0086 ---
0087 Eric Norum
0088 eric@norum.ca
0089
0090 Charles-Antoine Gauthier
0091 Software Engineering Group
0092 Institute for Information Technology
0093 National Research Council of Canada
0094 charles.gauthier@nrc.ca