Project

General

Profile

Control Flow Tests

Functionality Tested

The tests should cover the following:

  • "inner blocks" (not FOR blocks/FOR loops, EDITING or triggers which can be handled in the database or UI tasks)
    • DO
    • REPEAT
  • "top-level" blocks
    • internal procedures
    • external procedures
    • user-defined functions
    • OO methods
    • constructors
    • destructors
    • property getters, explicit or implicit (including fixed and indeterminate extent).
    • property setters, explicit or implicit (including fixed and indeterminate extent).
  • PUBLISH, SUBSCRIBE and UNSUBSCRIBE
  • this-procedure/source/target-procedure handles
    • there are (extensive) tests in the testcases/uast/super_procs, related to super procedures - these can be adjusted to be included in CI/CD
    • this is included here as these handles are related to the control flow
  • function calls (IN SUPER, IN handle, FORWARD)
  • procedure calls (IN SUPER)
  • RUN - includes persistent and non-persistent cases
  • DYNAMIC-FUNCTION()
  • SUPER() function
  • SUPER statement (procedure)
  • SUPER class reference for method invocation
  • THIS-OBJECT class reference for method invocation
  • RUN SUPER
  • IF statement
  • CASE - including strings.
  • RETURN - including RETURN ERROR and RETURN-VALUE
  • LEAVE
  • NEXT
  • UNDO
  • PAUSE
  • STOP
  • QUIT
  • CALL handle-based resource and usage
  • block options (ON phrases, TO and WHILE clauses, TRANSACTION, STOP-AFTER; the frame phrase and DB stuff should be ignored here)
  • block properties
  • transactions/sub-transactions
  • UNDO
  • retry
  • NO-ERROR
  • conditions
  • structured error handling (try/catch/finally, OO exceptions, BLOCK-LEVEL, ROUTINE-LEVEL, interaction with legacy conditions); nested catch statements (a block with 'catch' statement from within the 'catch' or 'finally' block)
  • PROPATH() function and PROPATH statement

Current Status

Implementation Details

Instructions to Run the Tests

Limitations or Known Issues


© 2004-2024 Golden Code Development Corporation. ALL RIGHTS RESERVED.