summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/test/test.c b/test/test.c
index fa67f6a95..d4c739b6d 100644
--- a/test/test.c
+++ b/test/test.c
@@ -147,6 +147,7 @@ static const char *qsv_preset = NULL;
#endif
/* Exit cleanly on Ctrl-C */
+static volatile hb_error_code done_error = HB_ERROR_NONE;
static volatile int die = 0;
static void SigHandler( int );
@@ -318,6 +319,7 @@ int main( int argc, char ** argv )
case 0x03: /* ctrl-c */
case 'q':
fprintf( stdout, "\nEncoding Quit by user command\n" );
+ done_error = HB_ERROR_CANCELED;
die = 1;
break;
case 'p':
@@ -369,6 +371,7 @@ int main( int argc, char ** argv )
{
case 'q':
fprintf( stdout, "\nEncoding Quit by user command\n" );
+ done_error = HB_ERROR_CANCELED;
die = 1;
break;
case 'p':
@@ -437,7 +440,7 @@ int main( int argc, char ** argv )
fprintf(stdout, "\n");
fprintf(stderr, "HandBrake has exited.\n");
- return 0;
+ return done_error;
}
static void PrintTitleInfo( hb_title_t * title, int feature )
@@ -696,6 +699,7 @@ static int HandleEvents( hb_handle_t * h )
{
/* No valid title, stop right there */
fprintf( stderr, "No title found.\n" );
+ done_error = HB_ERROR_WRONG_INPUT;
die = 1;
break;
}
@@ -732,6 +736,7 @@ static int HandleEvents( hb_handle_t * h )
if( main_feature_pos == -1 )
{
fprintf( stderr, "No main feature title found.\n" );
+ done_error = HB_ERROR_WRONG_INPUT;
die = 1;
break;
}
@@ -3003,6 +3008,7 @@ static int HandleEvents( hb_handle_t * h )
fprintf( stderr, "\nEncode failed (error %x).\n",
p.error );
}
+ done_error = p.error;
die = 1;
break;
#undef p
@@ -3016,6 +3022,7 @@ static int HandleEvents( hb_handle_t * h )
static volatile int64_t i_die_date = 0;
void SigHandler( int i_signal )
{
+ done_error = HB_ERROR_CANCELED;
if( die == 0 )
{
die = 1;
@@ -3026,7 +3033,7 @@ void SigHandler( int i_signal )
else if( i_die_date + 500 < hb_get_date() )
{
fprintf( stderr, "Dying badly, files might remain in your /tmp\n" );
- exit( 1 );
+ exit( done_error );
}
}