basesrc: Add test for duration when doing reverse playback

Also implemented minimal reverse playback support in
fakesrc to build unit test.

This tests the code added in 4a025d77
35 jobs for basesrc-reverse in 36 minutes and 34 seconds (queued for 4 seconds)
latest
Status Job ID Name Coverage
  Build Docker
passed #4398654
alpine amd64 manifest builder docker

00:00:09

passed #4398653
android docker

00:00:29

passed #4398652
cerbero fedora amd64 docker

00:00:28

passed #4398651
fedora amd64 docker

00:00:28

passed #4398655
gst-indent amd64 docker

00:00:29

 
  Preparation
passed #4398657
gst indent

00:00:24

passed #4398656
manual
manifest

00:00:16

 
  Build
passed #4398666
gstreamer
build cerbero cross-android universal

00:19:50

passed #4398670
gst-ios-13.2
build cerbero cross-ios universal

00:26:17

passed #4398667
gstreamer
build cerbero cross win32

00:08:53

passed #4398668
gstreamer
build cerbero cross win64

00:10:37

passed #4398665
gstreamer
build cerbero fedora x86_64

00:07:06

passed #4398669
gst-macos-10.15
build cerbero macos x86_64

00:35:16

passed #4398661
build clang fedora x86_64

00:10:56

manual #4398664
1809 windows docker allowed to fail manual
build msys2
passed #4398658
build nodebug fedora x86_64

00:10:17

passed #4398659
build static fedora x86_64

00:09:40

passed #4398660
build static nodebug fedora x86_64

00:09:47

passed #4398662
1809 windows docker
build vs2017 amd64

00:06:52

passed #4398663
1809 windows docker
build vs2017 x86

00:06:55

 
  Test
failed #4398734
gstreamer
check fedora

00:08:25

failed #4398672
gstreamer
integration testsuites fedora 1/4

00:28:27

passed #4398673
gstreamer
integration testsuites fedora 2/4

00:17:38

failed #4398674
gstreamer
integration testsuites fedora 3/4

00:25:59

passed #4398675
gstreamer
integration testsuites fedora 4/4

00:21:38

passed #4398680
gstreamer
valgrind bad

00:04:29

passed #4398677
gstreamer
valgrind base

00:17:07

passed #4398676
gstreamer
valgrind core

00:16:19

passed #4398681
gstreamer
valgrind ges

00:11:01

passed #4398678
gstreamer
valgrind good

00:11:39

passed #4398679
gstreamer
valgrind ugly

00:02:51

failed #4398671
gstreamer
check fedora

00:08:13

 
  Integrate
passed #4398682
cross-android universal examples

00:04:42

passed #4398684
gst-ios-13.2
cross-ios universal examples

00:02:16

passed #4398683
documentation

00:10:32

 
Name Stage Failure
failed
integration testsuites fedora 1/4 Test
Uploading artifacts...
meson-logs/: found 2 matching files and directories

validate-logs: found 20346 matching files and directories

manifest.xml: found 1 matching files and directories

Uploading artifacts as "archive" to coordinator... ok
id=4398672 responseStatus=201 Created token=6yFAkWuc
Uploading artifacts...
validate-logs/*.xml: found 1 matching files and directories

Uploading artifacts as "junit" to coordinator... ok
id=4398672 responseStatus=201 Created token=6yFAkWuc
ERROR: Job failed: exit code 1
failed
integration testsuites fedora 3/4 Test
Uploading artifacts...
meson-logs/: found 2 matching files and directories

validate-logs: found 20629 matching files and directories

manifest.xml: found 1 matching files and directories

Uploading artifacts as "archive" to coordinator... ok
id=4398674 responseStatus=201 Created token=sfxzAftV
Uploading artifacts...
validate-logs/*.xml: found 1 matching files and directories

Uploading artifacts as "junit" to coordinator... ok
id=4398674 responseStatus=201 Created token=sfxzAftV
ERROR: Job failed: exit code 1
failed
check fedora Test
Uploading artifacts...
meson-logs/: found 2 matching files and directories

validate-logs: found 4258 matching files and directories

manifest.xml: found 1 matching files and directories

Uploading artifacts as "archive" to coordinator... ok
id=4398734 responseStatus=201 Created token=5z4GEcnK
Uploading artifacts...
validate-logs/*.xml: found 1 matching files and directories

Uploading artifacts as "junit" to coordinator... ok
id=4398734 responseStatus=201 Created token=5z4GEcnK
ERROR: Job failed: exit code 1