4820 P1M3

4820 P1M3

You cannot submit for this problem because the homework's deadline is due.

Final Pretest

Memory leaks and undefined behaviors are not tested in the final pretest.

All of the test cases are very basic input, and we'll give hints on many common errors.

Tasks

12. Handle errors for all supported features. [10]

  • Case: 1-8
  • At most one of these error occurs in a command
  • Non-existing program (Case 1)
    • input: non-exist abc def
    • input: echo abc | non-exist
    • output: non-exist: command not found
  • Non-existing file in input redirection (Case 2)
    • input: cat < non-existing.txt
    • output: non-existing.txt: No such file or directory
  • Failed to open file in output redirection (Case 3)
    • input: echo abc > /dev/permission_denied
    • output: /dev/permission_denied: Permission denied
  • Duplicated input redirection (Case 4)
    • input: echo abc < 1.txt < 2.txt
    • input: echo abc | grep abc < 1.txt
    • output: error: duplicated input redirection
  • Duplicated output redirection (Case 5)
    • input: echo abc > 1.txt > 2.txt
    • input: echo abc > 1.txt >> 2.txt
    • input: echo abc > 1.txt | grep abc
    • output: error: duplicated output redirection
  • Syntax Error (Case 6)
    • input: echo abc > > > >
    • output: syntax error near unexpected token `>'
    • input: echo abc > < 1.txt
    • output: syntax error near unexpected token `<'
    • input: echo abc > | grep abc
    • output: syntax error near unexpected token `|'
  • Missing program (Case 7)
    • input: echo 123 | | grep 123
    • input: > abc
    • output: error: missing program
  • cd to non-existing directory (Case 8)
    • input: cd non-existing
    • output: non-existing: No such file or directory

P1M3

Not Claimed
Status
Finished
Problems
10
Open Since
2023-09-23 00:00
DDL
2023-10-31 23:59
Extension
72.0 hour(s)