File: run_test_arg_parse.cmake

package info (click to toggle)
libminc 2.4.07-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,288 kB
  • sloc: ansic: 57,268; cpp: 3,654; sh: 100; makefile: 23; ruby: 18
file content (37 lines) | stat: -rw-r--r-- 2,133 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
macro(check IN REF)
    separate_arguments(IN_LST UNIX_COMMAND "${IN}")

    execute_process(COMMAND ${CMD} ${IN_LST} RESULT_VARIABLE CMD_RESULT OUTPUT_VARIABLE OUT OUTPUT_STRIP_TRAILING_WHITESPACE)
    if(NOT ${CMD_RESULT} EQUAL 0)
        message(FATAL_ERROR "Command ${CMD} failed with result ${CMD_RESULT}")
    endif()
    if(NOT "${OUT}" STREQUAL "${REF}")
        message(FATAL_ERROR "Command ${CMD} \"${IN}\" returned \"${OUT}\" instead of \"${REF}\"")
    endif()
endmacro()


check(""                   "const_a:0 const_b:0 int_a:0 int_b:0 long_a:0 long_b:0")
check("-const_a"           "const_a:1 const_b:0 int_a:0 int_b:0 long_a:0 long_b:0")
check("-const_b"           "const_a:0 const_b:1 int_a:0 int_b:0 long_a:0 long_b:0")
check("-const_a -const_b"  "const_a:1 const_b:1 int_a:0 int_b:0 long_a:0 long_b:0")
check("-const_b -const_a"  "const_a:1 const_b:1 int_a:0 int_b:0 long_a:0 long_b:0")

check("-int_a 33"          "const_a:0 const_b:0 int_a:33 int_b:0 long_a:0 long_b:0")
check("-int_a -3"          "const_a:0 const_b:0 int_a:-3 int_b:0 long_a:0 long_b:0")
check("-int_b 22"          "const_a:0 const_b:0 int_a:0 int_b:22 long_a:0 long_b:0")
check("-int_b -2"          "const_a:0 const_b:0 int_a:0 int_b:-2 long_a:0 long_b:0")
check("-int_a -1 -int_b 3" "const_a:0 const_b:0 int_a:-1 int_b:3 long_a:0 long_b:0")
check("-int_b -1 -int_a 3" "const_a:0 const_b:0 int_a:3 int_b:-1 long_a:0 long_b:0")

check("-long_a 12"            "const_a:0 const_b:0 int_a:0 int_b:0 long_a:12 long_b:0")
check("-long_a -99"           "const_a:0 const_b:0 int_a:0 int_b:0 long_a:-99 long_b:0")
check("-long_b -12"           "const_a:0 const_b:0 int_a:0 int_b:0 long_a:0 long_b:-12")
check("-long_b 99"            "const_a:0 const_b:0 int_a:0 int_b:0 long_a:0 long_b:99")
check("-long_a 3 -long_b -9"  "const_a:0 const_b:0 int_a:0 int_b:0 long_a:3 long_b:-9")
check("-long_b 3 -long_a -9"  "const_a:0 const_b:0 int_a:0 int_b:0 long_a:-9 long_b:3")

check("-long_a -99 -int_b 3 -const_b"  "const_a:0 const_b:1 int_a:0 int_b:3 long_a:-99 long_b:0")

check("-nonsense"          "const_a:0 const_b:0 int_a:0 int_b:0 long_a:0 long_b:0")