@ -23,42 +23,6 @@ bool download_to_file(const std::string &url, const std::string &local_file, int
return false ;
return false ;
}
}
TEST_CASE ( " httpMultiPartDownload " ) {
char filename [ ] = " /tmp/XXXXXX " ;
close ( mkstemp ( filename ) ) ;
const size_t chunk_size = 5 * 1024 * 1024 ;
std : : string content ;
SECTION ( " download to file " ) {
REQUIRE ( download_to_file ( TEST_RLOG_URL , filename , chunk_size ) ) ;
content = util : : read_file ( filename ) ;
}
SECTION ( " download to buffer " ) {
for ( int i = 0 ; i < 3 & & content . empty ( ) ; + + i ) {
content = httpGet ( TEST_RLOG_URL , chunk_size ) ;
std : : this_thread : : sleep_for ( std : : chrono : : milliseconds ( 500 ) ) ;
}
REQUIRE ( ! content . empty ( ) ) ;
}
REQUIRE ( content . size ( ) = = 9112651 ) ;
REQUIRE ( sha256 ( content ) = = TEST_RLOG_CHECKSUM ) ;
}
TEST_CASE ( " FileReader " ) {
auto enable_local_cache = GENERATE ( true , false ) ;
std : : string cache_file = cacheFilePath ( TEST_RLOG_URL ) ;
system ( ( " rm " + cache_file + " -f " ) . c_str ( ) ) ;
FileReader reader ( enable_local_cache ) ;
std : : string content = reader . read ( TEST_RLOG_URL ) ;
REQUIRE ( sha256 ( content ) = = TEST_RLOG_CHECKSUM ) ;
if ( enable_local_cache ) {
REQUIRE ( sha256 ( util : : read_file ( cache_file ) ) = = TEST_RLOG_CHECKSUM ) ;
} else {
REQUIRE ( util : : file_exists ( cache_file ) = = false ) ;
}
}
TEST_CASE ( " LogReader " ) {
TEST_CASE ( " LogReader " ) {
SECTION ( " corrupt log " ) {
SECTION ( " corrupt log " ) {
FileReader reader ( true ) ;
FileReader reader ( true ) ;
@ -134,34 +98,3 @@ std::string download_demo_route() {
return data_dir ;
return data_dir ;
}
}
TEST_CASE ( " Getting route " ) {
std : : string data_dir = download_demo_route ( ) ;
auto flags = GENERATE ( 0 , REPLAY_FLAG_QCAMERA ) ;
Route route ( DEMO_ROUTE , data_dir ) ;
REQUIRE ( route . load ( ) ) ;
REQUIRE ( route . segments ( ) . size ( ) = = 2 ) ;
for ( int i = 0 ; i < TEST_REPLAY_SEGMENTS ; + + i ) {
read_segment ( i , route . at ( i ) , flags ) ;
}
}
TEST_CASE ( " seek_to " ) {
QEventLoop loop ;
int seek_to = util : : random_int ( 0 , 2 * 59 ) ;
Replay replay ( DEMO_ROUTE , { } , { } , nullptr , REPLAY_FLAG_NO_VIPC ) ;
QObject : : connect ( & replay , & Replay : : seekedTo , [ & ] ( double sec ) {
INFO ( " seek to " < < seek_to < < " s sought to " < < sec ) ;
REQUIRE ( sec > = seek_to ) ;
loop . quit ( ) ;
} ) ;
REQUIRE ( replay . load ( ) ) ;
replay . start ( ) ;
replay . seekTo ( seek_to , false ) ;
loop . exec ( ) ;
}