Login

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download | RSS feed

    ;; few more test cases not covered by regular tests,
    ;; but were discovered by code coverage as code not executed in tests

    ; some tests need more strict syntax rules to hit specific code paths
    OPT reset --syntax=ab --zxnext

    add     hl,[1234        ; "Operand expected" error

    brlc    hl,b            ; "only DE,B arguments" error
    bsla    hl,b
    bsra    hl,b
    bsrl    hl,b
    bsrf    hl,b
    nextreg a,$1            ; "first operand should be register number" error

    OPT reset --syntax=ab   ; disable Z80N extensions for "Z80N disabled" error
    brlc    de,b
    bsla    de,b
    bsra    de,b
    bsrl    de,b
    bsrf    de,b
    lddrx
    lddx
    ldirx
    ldix
    ldpirx
    ldws
    mul     de
    nextreg $1,$2
    nextreg $3,a
    outinb
    pixelad
    pixelad hl
    pixeldn
    pixeldn hl
    setae
    setae   a
    swapnib
    swapnib a
    test    1

    ;; part 3 (new commit, focusing on branching in the code, exercising more combinations and code paths)
    ; these tests (whole this file) are unfortunately very implementation based, in case of major refactorings they may
    ; quickly lose their functionality (the machine code produced should be the same, but code coverage may regress).

    add     hl,1234
    add     hl,a
    push    1234

    ;; part 4 (more of the branching stuff, handpicked from local detailed coverage report)

    OPT reset --syntax=ab --zxnext
    add     de,b
    bsra    de
    bsra    de,a
    brlc    de
    brlc    de,
    brlc    de,a

    OPT reset --syntax=abF --zxnext
    mul
    mul     d
    mul     d,c