@@ -337,18 +337,45 @@ mod tests {
337
337
let root = repo. path ( ) . parent ( ) . unwrap ( ) ;
338
338
339
339
let hook = b"#!/usr/bin/env sh
340
- sleep 1
340
+ sleep 0.21
341
341
" ;
342
342
343
343
git2_hooks:: create_hook (
344
344
& repo,
345
- git2_hooks:: HOOK_COMMIT_MSG ,
345
+ git2_hooks:: HOOK_PRE_COMMIT ,
346
346
hook,
347
347
) ;
348
348
349
349
let res = hooks_pre_commit (
350
350
& root. to_str ( ) . unwrap ( ) . into ( ) ,
351
- Duration :: ZERO ,
351
+ Duration :: from_millis ( 200 ) ,
352
+ )
353
+ . unwrap ( ) ;
354
+
355
+ assert_eq ! (
356
+ res,
357
+ HookResult :: NotOk ( "hook timed out" . to_string( ) )
358
+ ) ;
359
+ }
360
+
361
+ #[ test]
362
+ fn test_hooks_faster_than_timeout ( ) {
363
+ let ( _td, repo) = repo_init ( ) . unwrap ( ) ;
364
+ let root = repo. path ( ) . parent ( ) . unwrap ( ) ;
365
+
366
+ let hook = b"#!/usr/bin/env sh
367
+ sleep 0.1
368
+ " ;
369
+
370
+ git2_hooks:: create_hook (
371
+ & repo,
372
+ git2_hooks:: HOOK_PRE_COMMIT ,
373
+ hook,
374
+ ) ;
375
+
376
+ let res = hooks_pre_commit (
377
+ & root. to_str ( ) . unwrap ( ) . into ( ) ,
378
+ Duration :: from_millis ( 110 ) ,
352
379
)
353
380
. unwrap ( ) ;
354
381
@@ -366,13 +393,12 @@ mod tests {
366
393
367
394
git2_hooks:: create_hook (
368
395
& repo,
369
- git2_hooks:: HOOK_COMMIT_MSG ,
396
+ git2_hooks:: HOOK_POST_COMMIT ,
370
397
hook,
371
398
) ;
372
399
373
- let res = hooks_commit_msg (
400
+ let res = hooks_post_commit (
374
401
& root. to_str ( ) . unwrap ( ) . into ( ) ,
375
- & mut String :: new ( ) ,
376
402
Duration :: ZERO ,
377
403
)
378
404
. unwrap ( ) ;
0 commit comments