|
Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
|
#include "addons/Repository.h"#include "addons/addoninfo/AddonInfoBuilder.h"#include "cores/RetroPlayer/playback/ReversiblePlayback.h"#include "cores/RetroPlayer/playback/test/PlaybackTestEnvironment.h"#include "cores/RetroPlayer/savestates/SavestateDatabase.h"#include "cores/RetroPlayer/savestates/SavestateFlatBuffer.h"#include "cores/RetroPlayer/streams/IStreamManager.h"#include "cores/RetroPlayer/streams/memory/DeltaPairMemoryStream.h"#include "filesystem/File.h"#include "games/addons/GameClient.h"#include "games/addons/GameClientCallbacks.h"#include "games/addons/disc/GameClientDiscM3U.h"#include "games/addons/disc/GameClientDiscModel.h"#include "games/addons/disc/GameClientDiscXML.h"#include "games/addons/disc/GameClientDiscs.h"#include "test/TestUtils.h"#include "utils/XBMCTinyXML2.h"#include <algorithm>#include <cstring>#include <future>#include <limits>#include <memory>#include <utility>#include <vector>#include <gtest/gtest.h>Classes | |
| class | KODI::GAME::TestGameClientDiscs |
| struct | KODI::GAME::TestGameClientDiscs::DiscFileSnapshot |
Namespaces | |
| namespace | KODI |
| namespace | KODI::GAME |
Functions | |
| TEST_F (TestGameClientDiscs, OlderDiscModelKeepsLaterMediaIdentity) | |
| TEST_F (TestGameClientDiscs, UnchangedDiscModelCanLearnMediaIdentity) | |
| TEST_F (TestGameClientDiscs, EmptyPersistedStateLearnsOriginalPlaylistWithoutActivatingIt) | |
| TEST_F (TestGameClientDiscs, StartupPruningPreservesRemovedMediaFromXML) | |
| TEST_F (TestGameClientDiscs, MissingHistoricalMediaDoesNotInvalidateCurrentPlaylist) | |
| TEST_F (TestGameClientDiscs, NewSessionDiscardsPreviousMediaCatalog) | |
| TEST_F (TestGameClientDiscs, InvalidPersistedSelectionFallsBackToSource) | |
| TEST_F (TestGameClientDiscs, MalformedPersistedSlotCannotShiftSelectionOntoAnotherDisc) | |
| TEST_F (TestGameClientDiscs, DeserializePreparesMediaAfterEmptyPlaylist) | |
| TEST_F (TestGameClientDiscs, DeserializePreparesReorderedMedia) | |
| TEST_F (TestGameClientDiscs, RejectedMediaPreparationSkipsDeserializeAndRestoresPreviousState) | |
| TEST_F (TestGameClientDiscs, FailedDeserializeRestoresPreviousMediaAndTray) | |
| TEST_F (TestGameClientDiscs, DeserializeReconcilesMediaChangedByCore) | |
| TEST_F (TestGameClientDiscs, DeserializeReconcilesMediaWithoutPathMetadata) | |
| TEST_F (TestGameClientDiscs, FailedDeserializeRestoresUnchangedModelWithoutPathMetadata) | |
| TEST_F (TestGameClientDiscs, DeserializeRetriesClosedTrayWithoutLosingSavedOpenTray) | |
| TEST_F (TestGameClientDiscs, LegacyDeserializeClosesTrayBeforeLoading) | |
| TEST_F (TestGameClientDiscs, RestoreHistoricalTopologyClearsRemovedAndExtraSlots) | |
| TEST_F (TestGameClientDiscs, SourceRetryReplacesPersistedInitialHint) | |
| TEST_F (TestGameClientDiscs, SourceRetryReplacesPersistedHintAfterCallbackFailure) | |
| TEST_F (TestGameClientDiscs, RestoreSelectionAndTrayIndependently) | |
| TEST_F (TestGameClientDiscs, NoDiscAcceptsCoreSentinelBeyondImageCount) | |
| TEST_F (TestGameClientDiscs, PrepareDeserializePreservesHistoricalTrayModel) | |
| TEST_F (TestGameClientDiscs, RestoreEmptyPlaylistAndTrailingRemovedSlot) | |
| TEST_F (TestGameClientDiscs, RefusedMediaRestoreReportsFailure) | |
| TEST_F (TestGameClientDiscs, PresentEmptyPersistedStateIsAuthoritative) | |
| TEST_F (TestGameClientDiscs, InvalidPersistedStateFallsBackToWholeSourcePlaylist) | |
| TEST_F (TestGameClientDiscs, UnsupportedPersistedMediaFallsBackToWholeSourcePlaylist) | |
| TEST_F (TestGameClientDiscs, SourceOnlyInitializationIgnoresValidPersistedState) | |
| TEST_F (TestGameClientDiscs, PersistedEmptyAndShortModelsRestoreAcrossCoreRemovalBehaviors) | |
| TEST_F (TestGameClientDiscs, AddAfterHistoricalRestoreReusesClearedPhysicalTail) | |
| TEST_F (TestGameClientDiscs, ReusedRemovedSlotKeepsIdentityWithoutCoreMetadata) | |
| TEST_F (TestGameClientDiscs, RepeatedRestoreWithoutCorePathMetadataDoesNotMutateMedia) | |
| TEST_F (TestGameClientDiscs, UnknownCorePathsCannotBypassHistoricalRemoval) | |
| TEST_F (TestGameClientDiscs, RejectedRewindResumesPreviousSpeedAfterRollback) | |
| TEST_F (TestGameClientDiscs, RejectedAdvanceResumesPreviousSpeedAfterRollback) | |
| TEST_F (TestGameClientDiscs, RejectedSavestateMediaDoesNotLatchOrBlockSaving) | |
| TEST_F (TestGameClientDiscs, SavestateDeserializeFailureLeavesStateUncertainDespiteMediaRollback) | |
| TEST_F (TestGameClientDiscs, SavestateDiscRollbackFailureLeavesStateUncertainBeforeDeserialize) | |
| TEST_F (TestGameClientDiscs, SeekMachineRollbackFailureLeavesStateUncertain) | |
| TEST_F (TestGameClientDiscs, RestoredSeekAndSavestateKeepPlaybackUsable) | |
| TEST_F (TestGameClientDiscs, LegacySavestateDeserializeFailureLeavesStateUncertain) | |
| TEST_F (TestGameClientDiscs, LegacySavestateMediaReconciliationFailureLeavesStateUncertain) | |
| TEST_F (TestGameClientDiscs, OnlyRestoredSavestateClearsAnExistingRestoreLatch) | |
| TEST_F (TestGameClientDiscs, RewindPreviewSavestateUsesHistoricalMachineDiscAndTimestamp) | |
| TEST_F (TestGameClientDiscs, ForwardSavestateCapturesLiveMachineDiscAndTimestamp) | |
| TEST_F (TestGameClientDiscs, SavestateAfterSeekCapturesLiveDiscEdits) | |
| TEST_F (TestGameClientDiscs, RejectedRewindMediaRestoresOnlyTheTimelineCursor) | |
| TEST_F (TestGameClientDiscs, RejectedAdvanceMediaRestoresOnlyTheTimelineCursor) | |
| TEST_F (TestGameClientDiscs, RejectedSeekAfterRewindPreviewKeepsHistoricalCapture) | |
| TEST_F (TestGameClientDiscs, RewindPreviewSaveWithoutHistoricalFrameIsRejected) | |
| TEST_F (TestGameClientDiscs, RewindSavestateWithoutDiscEditsRoundtrips) | |
| TEST_F (TestGameClientDiscs, RewindSavestateRejectsSelectedDiscEdit) | |
| TEST_F (TestGameClientDiscs, RewindSavestateRejectsNoDiscEdit) | |
| TEST_F (TestGameClientDiscs, RewindSavestateRejectsTrayEdit) | |
| TEST_F (TestGameClientDiscs, RewindSavestateRejectsRemovedSlot) | |
| TEST_F (TestGameClientDiscs, RewindSavestateRejectsAddedDisc) | |
| TEST_F (TestGameClientDiscs, RewindSavestateRejectsReorderedPlaylist) | |
| TEST_F (TestGameClientDiscs, RewindSavestateRejectsEmptyPlaylist) | |
| TEST_F (TestGameClientDiscs, RewindSavestateAllowsKnownMediaOnlyChanges) | |
| TEST_F (TestGameClientDiscs, RewindSavestateWithMismatchedMediaFailsCoreValidation) | |
| TEST_F (TestGameClientDiscs, ForwardResumeCommitsRewindPreviewWithoutRunningAgain) | |
| TEST_F (TestGameClientDiscs, ForwardResumeCommitsRewindPreviewDiscAndTrayChanges) | |
| TEST_F (TestGameClientDiscs, GameplayStartupPersistsKnownMediaBeforeAnyDiscMutation) | |
| TEST_F (TestGameClientDiscs, GameplayStartupKeepsEmptyPlaylistAndSourceMediaHistory) | |
| TEST_F (TestGameClientDiscs, FailedGameplayStartupDoesNotCreateDiscState) | |
| TEST_F (TestGameClientDiscs, FailedGameplayStartupDoesNotReplaceDiscState) | |
| TEST_F (TestGameClientDiscs, ForwardFramesCaptureLiveDiscHistoryWithoutPersisting) | |
| TEST_F (TestGameClientDiscs, SavestateRejectsKnownMediaUnsupportedByActiveCore) | |
| TEST_F (TestGameClientDiscs, SavestateRejectsUnsupportedUnselectedMedia) | |
| TEST_F (TestGameClientDiscs, SavestateLoadsSupportedHistoryAndSkipsRemovedSlots) | |
| TEST_F (TestGameClientDiscs, FailedExcessSlotReuseDoesNotClearExistingTail) | |
| TEST_F (TestGameClientDiscs, FailedExcessSlotReuseDoesNotCompactExistingTail) | |
| TEST_F (TestGameClientDiscs, FailedNewSlotReplacementClearsCreatedSlot) | |
| TEST_F (TestGameClientDiscs, FailedNewSlotReplacementRemovesCreatedSlot) | |
| TEST_F | ( | TestGameClientDiscs | , |
| AddAfterHistoricalRestoreReusesClearedPhysicalTail | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| DeserializePreparesMediaAfterEmptyPlaylist | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| DeserializePreparesReorderedMedia | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| DeserializeReconcilesMediaChangedByCore | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| DeserializeReconcilesMediaWithoutPathMetadata | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| DeserializeRetriesClosedTrayWithoutLosingSavedOpenTray | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| EmptyPersistedStateLearnsOriginalPlaylistWithoutActivatingIt | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| FailedDeserializeRestoresPreviousMediaAndTray | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| FailedDeserializeRestoresUnchangedModelWithoutPathMetadata | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| FailedExcessSlotReuseDoesNotClearExistingTail | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| FailedExcessSlotReuseDoesNotCompactExistingTail | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| FailedGameplayStartupDoesNotCreateDiscState | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| FailedGameplayStartupDoesNotReplaceDiscState | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| FailedNewSlotReplacementClearsCreatedSlot | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| FailedNewSlotReplacementRemovesCreatedSlot | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| ForwardFramesCaptureLiveDiscHistoryWithoutPersisting | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| ForwardResumeCommitsRewindPreviewDiscAndTrayChanges | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| ForwardResumeCommitsRewindPreviewWithoutRunningAgain | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| ForwardSavestateCapturesLiveMachineDiscAndTimestamp | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| GameplayStartupKeepsEmptyPlaylistAndSourceMediaHistory | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| GameplayStartupPersistsKnownMediaBeforeAnyDiscMutation | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| InvalidPersistedSelectionFallsBackToSource | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| InvalidPersistedStateFallsBackToWholeSourcePlaylist | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| LegacyDeserializeClosesTrayBeforeLoading | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| LegacySavestateDeserializeFailureLeavesStateUncertain | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| LegacySavestateMediaReconciliationFailureLeavesStateUncertain | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| MalformedPersistedSlotCannotShiftSelectionOntoAnotherDisc | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| MissingHistoricalMediaDoesNotInvalidateCurrentPlaylist | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| NewSessionDiscardsPreviousMediaCatalog | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| NoDiscAcceptsCoreSentinelBeyondImageCount | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| OlderDiscModelKeepsLaterMediaIdentity | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| OnlyRestoredSavestateClearsAnExistingRestoreLatch | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| PersistedEmptyAndShortModelsRestoreAcrossCoreRemovalBehaviors | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| PrepareDeserializePreservesHistoricalTrayModel | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| PresentEmptyPersistedStateIsAuthoritative | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RefusedMediaRestoreReportsFailure | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RejectedAdvanceMediaRestoresOnlyTheTimelineCursor | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RejectedAdvanceResumesPreviousSpeedAfterRollback | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RejectedMediaPreparationSkipsDeserializeAndRestoresPreviousState | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RejectedRewindMediaRestoresOnlyTheTimelineCursor | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RejectedRewindResumesPreviousSpeedAfterRollback | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RejectedSavestateMediaDoesNotLatchOrBlockSaving | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RejectedSeekAfterRewindPreviewKeepsHistoricalCapture | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RepeatedRestoreWithoutCorePathMetadataDoesNotMutateMedia | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RestoredSeekAndSavestateKeepPlaybackUsable | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RestoreEmptyPlaylistAndTrailingRemovedSlot | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RestoreHistoricalTopologyClearsRemovedAndExtraSlots | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RestoreSelectionAndTrayIndependently | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| ReusedRemovedSlotKeepsIdentityWithoutCoreMetadata | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RewindPreviewSavestateUsesHistoricalMachineDiscAndTimestamp | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RewindPreviewSaveWithoutHistoricalFrameIsRejected | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RewindSavestateAllowsKnownMediaOnlyChanges | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RewindSavestateRejectsAddedDisc | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RewindSavestateRejectsEmptyPlaylist | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RewindSavestateRejectsNoDiscEdit | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RewindSavestateRejectsRemovedSlot | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RewindSavestateRejectsReorderedPlaylist | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RewindSavestateRejectsSelectedDiscEdit | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RewindSavestateRejectsTrayEdit | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RewindSavestateWithMismatchedMediaFailsCoreValidation | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| RewindSavestateWithoutDiscEditsRoundtrips | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| SavestateAfterSeekCapturesLiveDiscEdits | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| SavestateDeserializeFailureLeavesStateUncertainDespiteMediaRollback | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| SavestateDiscRollbackFailureLeavesStateUncertainBeforeDeserialize | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| SavestateLoadsSupportedHistoryAndSkipsRemovedSlots | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| SavestateRejectsKnownMediaUnsupportedByActiveCore | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| SavestateRejectsUnsupportedUnselectedMedia | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| SeekMachineRollbackFailureLeavesStateUncertain | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| SourceOnlyInitializationIgnoresValidPersistedState | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| SourceRetryReplacesPersistedHintAfterCallbackFailure | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| SourceRetryReplacesPersistedInitialHint | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| StartupPruningPreservesRemovedMediaFromXML | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| UnchangedDiscModelCanLearnMediaIdentity | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| UnknownCorePathsCannotBypassHistoricalRemoval | ) |
| TEST_F | ( | TestGameClientDiscs | , |
| UnsupportedPersistedMediaFallsBackToWholeSourcePlaylist | ) |