Changeset faf9e19 for tests/Makefile.am


Ignore:
Timestamp:
Dec 18, 2024, 1:02:07 PM (5 weeks ago)
Author:
Michael Brooks <mlbrooks@…>
Branches:
master
Children:
e0330d2c
Parents:
5780d0d
Message:

Explicate the present state for test-suite programs being free of warnings.

Now, test-suite compilation occurs in either strict or lax "wflags" mode. Strict mode is equivalent to what used to be done for the nowarn folder, lax to the rest of the test suite. Makefile.am now owns a list of tests that opt for lax wflags. About 70% of the tests opt for lax.

Remove special handling for the nowarn folder. Now, it simply does not appear on the opt-for-lax list.

Remove former tests

nowarn/fstream
nowarn/list
nowarn/string

because, respectively

io/io
list/dlist-insert-remove
collections/string-api-coverage

obviate them by getting strict wflags.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/Makefile.am

    r5780d0d rfaf9e19  
    3636TEST_PY = python3 ${builddir}/test.py
    3737
     38WFLAGS_STRICT = \
     39        -Wall \
     40        -Wextra \
     41        -Werror
     42
     43WFLAGS_LAX = \
     44        -Wall \
     45        -Werror=return-type \
     46        -Wno-unused-function \
     47        -Wno-psabi
     48
     49# These tests opt for lax wflags.  (By default, new tests get strict wflags.)
     50# Indented list entries are finer-grained targets under the test.
     51# Making this association implicit would be ideal, but requires learning more automake than is affordable.
     52WFLGAS_OPT_LAX = \
     53        abs \
     54        alloc \
     55        alloc2 \
     56        array \
     57        array-collections/array-basic \
     58        array-collections/array-raii-c \
     59        array-collections/array-raii-cfa \
     60        array-collections/array-sbscr-types \
     61        array-collections/boxed \
     62                array-collections/boxed% \
     63        array-collections/dimexpr-match-c \
     64        array-collections/dimexpr-match-cfa \
     65        array-ERR1 \
     66        array-ERR2 \
     67        array-ERR3 \
     68        ato \
     69        attributes \
     70        attr-priority \
     71        avl_test \
     72                avltree/% \
     73        builtins/sync \
     74        cast \
     75        collections/atomic_mpsc \
     76        collections/multi_list \
     77        collections/queue \
     78        collections/sequence \
     79        collections/stack \
     80        collections/string-api-coverage \
     81        collections/string-api-coverage-noshare \
     82        collections/vector-demo \
     83        concurrency/actors/dynamic \
     84        concurrency/actors/executor \
     85        concurrency/actors/inherit \
     86        concurrency/actors/inline \
     87        concurrency/actors/matrixMultiply \
     88        concurrency/actors/pingpong \
     89        concurrency/actors/poison \
     90        concurrency/actors/static \
     91        concurrency/actors/types \
     92        concurrency/barrier/generation \
     93        concurrency/barrier/last \
     94        concurrency/barrier/order \
     95        concurrency/channels/big_elems \
     96        concurrency/channels/churn \
     97        concurrency/channels/contend \
     98        concurrency/channels/daisy_chain \
     99        concurrency/channels/hot_potato \
     100        concurrency/channels/ping_pong \
     101        concurrency/channels/pub_sub \
     102        concurrency/channels/zero_size \
     103        concurrency/cluster \
     104        concurrency/cofor \
     105        concurrency/coroutineYield \
     106        concurrency/examples/boundedBufferEXT \
     107        concurrency/examples/boundedBufferINT \
     108        concurrency/examples/datingService \
     109        concurrency/examples/gortn \
     110        concurrency/examples/matrixSum \
     111        concurrency/examples/quickSort \
     112        concurrency/futures/abandon \
     113        concurrency/futures/basic \
     114        concurrency/futures/multi \
     115        concurrency/futures/select_future \
     116        concurrency/futures/typed \
     117        concurrency/futures/wait_any \
     118        concurrency/join \
     119        concurrency/lockfree_stack \
     120        concurrency/migrate \
     121        concurrency/monitor \
     122        concurrency/multi-monitor \
     123        concurrency/mutexstmt/locks \
     124        concurrency/mutexstmt/monitors \
     125        concurrency/mutexstmt/tuple \
     126        concurrency/once \
     127        concurrency/park/contention \
     128        concurrency/park/force_preempt \
     129        concurrency/park/start_parked \
     130        concurrency/preempt \
     131        concurrency/preempt2 \
     132        concurrency/pthread/bounded_buffer \
     133        concurrency/pthread/pthread_attr_test \
     134        concurrency/pthread/pthread_cond_test \
     135        concurrency/pthread/pthread_demo_create_join \
     136        concurrency/pthread/pthread_demo_lock \
     137        concurrency/pthread/pthread_key_test \
     138        concurrency/pthread/pthread_once_test \
     139        concurrency/readyQ/barrier_sleeper \
     140        concurrency/readyQ/leader_spin \
     141        concurrency/signal/block \
     142        concurrency/signal/disjoint \
     143        concurrency/signal/wait \
     144        concurrency/sleep \
     145        concurrency/suspend_then \
     146        concurrency/thread \
     147        concurrency/unified_locking/block_spin_lock \
     148        concurrency/unified_locking/exp_backoff \
     149        concurrency/unified_locking/fast_block_lock \
     150        concurrency/unified_locking/futex_mutex \
     151        concurrency/unified_locking/locks \
     152        concurrency/unified_locking/mcs \
     153        concurrency/unified_locking/mcs_block_spin_lock \
     154        concurrency/unified_locking/mcs_spin \
     155        concurrency/unified_locking/pthread_locks \
     156        concurrency/unified_locking/simple_owner_lock \
     157        concurrency/unified_locking/spin_queue_lock \
     158        concurrency/unified_locking/timeout_lock \
     159        concurrency/waitfor/barge \
     160        concurrency/waitfor/dtor \
     161        concurrency/waitfor/else \
     162        concurrency/waitfor/parse \
     163        concurrency/waitfor/recurse \
     164        concurrency/waitfor/statment \
     165        concurrency/waitfor/when \
     166        concurrency/waituntil/all_types \
     167        concurrency/waituntil/basic_else \
     168        concurrency/waituntil/channel_close \
     169        concurrency/waituntil/channel_zero_size \
     170        concurrency/waituntil/channels \
     171        concurrency/waituntil/futures \
     172        concurrency/waituntil/locks \
     173        concurrency/waituntil/one_chan \
     174        concurrency/waituntil/repeat_close \
     175        concurrency/waituntil/timeout \
     176        configs/parsebools \
     177        configs/parseconfig \
     178        configs/parsenums \
     179        configs/usage \
     180        coroutine/devicedriver \
     181        coroutine/fibonacci \
     182        coroutine/fmtLines \
     183        coroutine/pingpong \
     184        coroutine/prodcons \
     185        coroutine/raii \
     186        coroutine/runningTotal \
     187        ctrl-flow/goto \
     188        ctrl-flow/ifwhileCtl \
     189        ctrl-flow/labelledExit \
     190        ctrl-flow/loopctrl \
     191        ctrl-flow/loop_else \
     192        designations \
     193        device/cpu \
     194        div \
     195        enum \
     196        enum_tests/inc-dec \
     197        enum_tests/planet \
     198        enum_tests/position \
     199        enum_tests/structEnum \
     200        exceptions/cancel/coroutine \
     201        exceptions/cancel/thread \
     202        exceptions/cardgame \
     203        exceptions/conditional \
     204        exceptions/conditional-threads \
     205        exceptions/cor_resumer \
     206        exceptions/data-except \
     207        exceptions/defaults \
     208        exceptions/defaults-threads \
     209        exceptions/fibonacci_nonlocal \
     210        exceptions/finally \
     211        exceptions/finally-threads \
     212        exceptions/hotpotato \
     213        exceptions/hotpotato_checked \
     214        exceptions/interact \
     215        exceptions/pingpong_nonlocal \
     216        exceptions/polymorphic \
     217        exceptions/resume \
     218        exceptions/resume-threads \
     219        exceptions/terminate \
     220        exceptions/terminate-threads \
     221        exceptions/trash \
     222        exceptions/try-leave-catch \
     223        exceptions/virtual-cast \
     224        exceptions/virtual-poly \
     225        expression \
     226        forall \
     227        function-operator \
     228        gmp \
     229        heap \
     230        identFuncDeclarator \
     231        identParamDeclarator \
     232        include/includes \
     233        include/stdincludes \
     234        include/vector-collections \
     235        include/vector-fstream \
     236        include/vector-sequence \
     237        init1 \
     238        init1-ERROR \
     239        io/away_fair \
     240        io/comp_basic \
     241        io/comp_fair \
     242        io/io-acquire \
     243        io/io-acquire2 \
     244        io/io-acquire-in \
     245        io/io-acquire-no-io \
     246        io/io-acquire-out \
     247        io/manipulatorsInput \
     248        io/manipulatorsInput-uchunk \
     249        io/many_read \
     250        limits \
     251        linking/exception-nothreads \
     252        linking/exception-withthreads \
     253        linking/io-acquire \
     254        linking/mangling/anon \
     255                linking/mangling/lib.o \
     256                linking/mangling/main.o \
     257        linking/nothreads \
     258        linking/weakso_nothd \
     259        linking/withthreads \
     260        linkonce \
     261                link-once/% \
     262        malloc \
     263        math \
     264        mathX \
     265        maybe \
     266        minmax \
     267        nested_function \
     268        nested-types \
     269        nested-types-ERR1 \
     270        nested-types-ERR2 \
     271        numericConstants \
     272        operators \
     273        poly-d-cycle \
     274        poly-many-arsz \
     275        poly-member \
     276        polymorphism \
     277        poly-o-cycle \
     278        PRNG \
     279        quasiKeyword \
     280        quotedKeyword \
     281        raii/boxed-types \
     282        raii/ctor-autogen \
     283        raii/dtor-early-exit \
     284        raii/init_once \
     285        raii/partial \
     286        random \
     287        rational \
     288        references \
     289        result \
     290        searchsort \
     291        shortCircuit \
     292        sizeof \
     293        smart-pointers \
     294        sum \
     295        swap \
     296        switch \
     297        tuple/tupleAssign \
     298        tuple/tupleCast \
     299        tuple/tupleMember \
     300        tuple/tuplePolymorphism \
     301        tuple/tupleVariadic \
     302        typedefRedef \
     303        typedefRedef-ERR1 \
     304        typeof \
     305        userLiterals \
     306        variableDeclarator \
     307        vector \
     308        vector_math/vec2_int \
     309        vector_math/vec2_float \
     310        vector_math/vec3_float \
     311        vector_math/vec4_float \
     312        warnings/self-assignment \
     313        zero_one
     314
     315WFLAGS=${if ${filter ${WFLGAS_OPT_LAX},${@}},${WFLAGS_LAX},${WFLAGS_STRICT}}
     316
    38317# applies to both programs
    39318# since automake doesn't have support for CFA we have to
     
    43322        -fno-diagnostics-show-caret \
    44323        -g \
    45         -Wall \
    46         -Werror=return-type \
    47         -Wno-unused-function \
    48         -Wno-psabi \
     324        $(WFLAGS) \
    49325        -quiet @CFA_FLAGS@
    50326
     
    290566        rm ${abspath ${@}}.o
    291567
    292 # No-warning tests
    293 # Tests to make sure that given CFA code gets emitted C code that GCC accepts without any warnings
    294 nowarn/% : nowarn/%.cfa ${CFABIN}
    295         ${CFACOMPILETEST} -Wunused-function -Wpsabi -Wall -Wextra -Werror -o ${abspath ${@}}
    296 
    297568#------------------------------------------------------------------------------
    298569# Other targets
Note: See TracChangeset for help on using the changeset viewer.