danbev commited on
Commit
8c851e2
·
unverified ·
1 Parent(s): 5dca9f3

tests : re-enable tests [no ci] (#2977)

Browse files

This commit re-enables the tests in the build process which are
currently commented out.

It is possible to build the tests using `-DWHISPER_BUILD_TESTS=ON` and
then run a single test using:
```console
$ ctest -R test-whisper-cli-tiny.en --test-dir build
Internal ctest changing into directory: /home/danbev/work/ai/whisper-work/build
Test project /home/danbev/work/ai/whisper-work/build
Start 2: test-whisper-cli-tiny.en
1/1 Test #2: test-whisper-cli-tiny.en ......... Passed 4.44 sec

100% tests passed, 0 tests failed out of 1

Label Time Summary:
en = 4.44 sec*proc (1 test)
gh = 4.44 sec*proc (1 test)
tiny = 4.44 sec*proc (1 test)

Total Test time (real) = 4.44 sec
```

Some of the tests take a long time to run so it might not be a good idea
to enable them in CI, or perhaps we could only run a subset of the tests
in CI.

Files changed (2) hide show
  1. CMakeLists.txt +2 -2
  2. tests/CMakeLists.txt +20 -20
CMakeLists.txt CHANGED
@@ -190,8 +190,8 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/whisper.pc"
190
  #
191
 
192
  if (WHISPER_BUILD_TESTS AND NOT CMAKE_JS_VERSION)
193
- #include(CTest)
194
- #add_subdirectory(tests)
195
  endif ()
196
 
197
  if (WHISPER_BUILD_EXAMPLES)
 
190
  #
191
 
192
  if (WHISPER_BUILD_TESTS AND NOT CMAKE_JS_VERSION)
193
+ include(CTest)
194
+ add_subdirectory(tests)
195
  endif ()
196
 
197
  if (WHISPER_BUILD_EXAMPLES)
tests/CMakeLists.txt CHANGED
@@ -12,74 +12,74 @@ if (EMSCRIPTEN)
12
  return()
13
  endif()
14
 
15
- set(TEST_TARGET test-main-tiny)
16
  add_test(NAME ${TEST_TARGET}
17
- COMMAND $<TARGET_FILE:main>
18
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-tiny.bin -l fr
19
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
20
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "tiny;gh")
21
 
22
- set(TEST_TARGET test-main-tiny.en)
23
  add_test(NAME ${TEST_TARGET}
24
- COMMAND $<TARGET_FILE:main>
25
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-tiny.en.bin
26
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
27
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "tiny;en;gh")
28
 
29
- set(TEST_TARGET test-main-base)
30
  add_test(NAME ${TEST_TARGET}
31
- COMMAND $<TARGET_FILE:main>
32
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-base.bin -l fr
33
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
34
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "base")
35
 
36
- set(TEST_TARGET test-main-base.en)
37
  add_test(NAME ${TEST_TARGET}
38
- COMMAND $<TARGET_FILE:main>
39
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-base.en.bin
40
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
41
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "base;en")
42
 
43
- set(TEST_TARGET test-main-small)
44
  add_test(NAME ${TEST_TARGET}
45
- COMMAND $<TARGET_FILE:main>
46
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-small.bin -l fr
47
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
48
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "small")
49
 
50
- set(TEST_TARGET test-main-small.en)
51
  add_test(NAME ${TEST_TARGET}
52
- COMMAND $<TARGET_FILE:main>
53
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-small.en.bin
54
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
55
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "small;en")
56
 
57
- set(TEST_TARGET test-main-medium)
58
  add_test(NAME ${TEST_TARGET}
59
- COMMAND $<TARGET_FILE:main>
60
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-medium.bin -l fr
61
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
62
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "medium")
63
 
64
- set(TEST_TARGET test-main-medium.en)
65
  add_test(NAME ${TEST_TARGET}
66
- COMMAND $<TARGET_FILE:main>
67
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-medium.en.bin
68
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
69
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "medium;en")
70
 
71
- set(TEST_TARGET test-main-large)
72
  add_test(NAME ${TEST_TARGET}
73
- COMMAND $<TARGET_FILE:main>
74
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-large.bin
75
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
76
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "large")
77
 
78
  if (WHISPER_FFMPEG)
79
- set(TEST_TARGET test-main-tiny-mp3)
80
  # Check with reviewers: any way to check the output transcription via ctest (diff, ...)?
81
  add_test(NAME ${TEST_TARGET}
82
- COMMAND $<TARGET_FILE:main>
83
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-tiny.en.bin
84
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.mp3)
85
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "tiny;mp3")
 
12
  return()
13
  endif()
14
 
15
+ set(TEST_TARGET test-whisper-cli-tiny)
16
  add_test(NAME ${TEST_TARGET}
17
+ COMMAND $<TARGET_FILE:whisper-cli>
18
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-tiny.bin -l fr
19
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
20
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "tiny;gh")
21
 
22
+ set(TEST_TARGET test-whisper-cli-tiny.en)
23
  add_test(NAME ${TEST_TARGET}
24
+ COMMAND $<TARGET_FILE:whisper-cli>
25
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-tiny.en.bin
26
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
27
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "tiny;en;gh")
28
 
29
+ set(TEST_TARGET test-whisper-cli-base)
30
  add_test(NAME ${TEST_TARGET}
31
+ COMMAND $<TARGET_FILE:whisper-cli>
32
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-base.bin -l fr
33
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
34
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "base")
35
 
36
+ set(TEST_TARGET test-whisper-cli-base.en)
37
  add_test(NAME ${TEST_TARGET}
38
+ COMMAND $<TARGET_FILE:whisper-cli>
39
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-base.en.bin
40
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
41
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "base;en")
42
 
43
+ set(TEST_TARGET test-whisper-cli-small)
44
  add_test(NAME ${TEST_TARGET}
45
+ COMMAND $<TARGET_FILE:whisper-cli>
46
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-small.bin -l fr
47
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
48
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "small")
49
 
50
+ set(TEST_TARGET test-whisper-cli-small.en)
51
  add_test(NAME ${TEST_TARGET}
52
+ COMMAND $<TARGET_FILE:whisper-cli>
53
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-small.en.bin
54
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
55
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "small;en")
56
 
57
+ set(TEST_TARGET test-whisper-cli-medium)
58
  add_test(NAME ${TEST_TARGET}
59
+ COMMAND $<TARGET_FILE:whisper-cli>
60
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-medium.bin -l fr
61
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
62
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "medium")
63
 
64
+ set(TEST_TARGET test-whisper-cli-medium.en)
65
  add_test(NAME ${TEST_TARGET}
66
+ COMMAND $<TARGET_FILE:whisper-cli>
67
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-medium.en.bin
68
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
69
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "medium;en")
70
 
71
+ set(TEST_TARGET test-whisper-cli-large)
72
  add_test(NAME ${TEST_TARGET}
73
+ COMMAND $<TARGET_FILE:whisper-cli>
74
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-large.bin
75
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.wav)
76
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "large")
77
 
78
  if (WHISPER_FFMPEG)
79
+ set(TEST_TARGET test-whisper-cli-tiny-mp3)
80
  # Check with reviewers: any way to check the output transcription via ctest (diff, ...)?
81
  add_test(NAME ${TEST_TARGET}
82
+ COMMAND $<TARGET_FILE:whisper-cli>
83
  -m ${PROJECT_SOURCE_DIR}/models/for-tests-ggml-tiny.en.bin
84
  -f ${PROJECT_SOURCE_DIR}/samples/jfk.mp3)
85
  set_tests_properties(${TEST_TARGET} PROPERTIES LABELS "tiny;mp3")