@@ -287,18 +287,45 @@ mod tests {
287
287
let root = repo. path ( ) . parent ( ) . unwrap ( ) ;
288
288
289
289
let hook = b"#!/usr/bin/env sh
290
- sleep 1
290
+ sleep 0.21
291
291
" ;
292
292
293
293
git2_hooks:: create_hook (
294
294
& repo,
295
- git2_hooks:: HOOK_COMMIT_MSG ,
295
+ git2_hooks:: HOOK_PRE_COMMIT ,
296
296
hook,
297
297
) ;
298
298
299
299
let res = hooks_pre_commit (
300
300
& root. to_str ( ) . unwrap ( ) . into ( ) ,
301
- Duration :: ZERO ,
301
+ Duration :: from_millis ( 200 ) ,
302
+ )
303
+ . unwrap ( ) ;
304
+
305
+ assert_eq ! (
306
+ res,
307
+ HookResult :: NotOk ( "hook timed out" . to_string( ) )
308
+ ) ;
309
+ }
310
+
311
+ #[ test]
312
+ fn test_hooks_faster_than_timeout ( ) {
313
+ let ( _td, repo) = repo_init ( ) . unwrap ( ) ;
314
+ let root = repo. path ( ) . parent ( ) . unwrap ( ) ;
315
+
316
+ let hook = b"#!/usr/bin/env sh
317
+ sleep 0.1
318
+ " ;
319
+
320
+ git2_hooks:: create_hook (
321
+ & repo,
322
+ git2_hooks:: HOOK_PRE_COMMIT ,
323
+ hook,
324
+ ) ;
325
+
326
+ let res = hooks_pre_commit (
327
+ & root. to_str ( ) . unwrap ( ) . into ( ) ,
328
+ Duration :: from_millis ( 110 ) ,
302
329
)
303
330
. unwrap ( ) ;
304
331
@@ -316,13 +343,12 @@ mod tests {
316
343
317
344
git2_hooks:: create_hook (
318
345
& repo,
319
- git2_hooks:: HOOK_COMMIT_MSG ,
346
+ git2_hooks:: HOOK_POST_COMMIT ,
320
347
hook,
321
348
) ;
322
349
323
- let res = hooks_commit_msg (
350
+ let res = hooks_post_commit (
324
351
& root. to_str ( ) . unwrap ( ) . into ( ) ,
325
- & mut String :: new ( ) ,
326
352
Duration :: ZERO ,
327
353
)
328
354
. unwrap ( ) ;
0 commit comments