# Every test binary, one per Swift test file. enable_testing() function(compositor_test name) add_executable(${name} tests/${name}.cpp) target_link_libraries(${name} PRIVATE compositor_core Qt6::Test) add_test(NAME ${name} COMMAND ${name}) set_tests_properties(${name} PROPERTIES ENVIRONMENT "QT_QPA_PLATFORM=offscreen") endfunction() compositor_test(AdjustmentSurfaceTests) compositor_test(BlendModePickerTests) compositor_test(BlendShortcutTests) compositor_test(LayersPanelTests) compositor_test(LayerListFocusTests) compositor_test(LayerDragTests) compositor_test(LayerDragGestureTests) compositor_test(ProjectDropTests) compositor_test(BlendModeTests) compositor_test(BrushCanvasTests) compositor_test(BrushGestureTests) compositor_test(BrushKeyTests) compositor_test(BrushCursorOverlayTests) compositor_test(BrushControlsTests) compositor_test(BrushPerformanceTests) compositor_test(CanvasPerformanceTests) compositor_test(PoolMapTests) compositor_test(DesktopIntegrationTests) # The install it checks needs the app built. add_dependencies(DesktopIntegrationTests omaphoto) # What this build installs, as CMake itself reads it. target_compile_definitions(DesktopIntegrationTests PRIVATE OMAPHOTO_BUNDLED=$ OMAPHOTO_LIBDIR="${CMAKE_INSTALL_LIBDIR}" OMAPHOTO_MODEL_PATH="${OMAPHOTO_MODEL}") compositor_test(BrushIntersectionTests) compositor_test(BrushSessionTests) compositor_test(BrushSmoothingTests) compositor_test(BrushPreviewTests) compositor_test(BrushRasterTests) compositor_test(BrushTests) compositor_test(BrushCoverageTests) compositor_test(SpotHealingTests) compositor_test(CloneStampTests) compositor_test(CloneStampCanvasTests) compositor_test(SmudgeLiquifyTests) compositor_test(WarpStrokeTests) compositor_test(WarpFailureTests) compositor_test(CommitContinuationTests) compositor_test(LargeCanvasBrushTests) compositor_test(BlurBrushTests) compositor_test(BlurToolTests) compositor_test(SmearCanvasTests) compositor_test(GradientTests) compositor_test(GradientCanvasTests) compositor_test(ShapeToolTests) compositor_test(ShapeLayerTests) compositor_test(ShapeCanvasTests) compositor_test(TypeToolTests) compositor_test(TypedTextCanvasTests) compositor_test(LiveTextDoubleClickTests) compositor_test(SVGImportTests) compositor_test(TextLayoutTests) compositor_test(TypeSessionTests) compositor_test(TypeStoreTests) compositor_test(TypeControlsTests) compositor_test(TypeFontPickerTests) compositor_test(InlineTextEditorTests) compositor_test(InlineTextInputTests) compositor_test(InlineTextDrawTests) compositor_test(InlineTextPreeditTests) compositor_test(InlineTextPointerTests) compositor_test(InlineTextHandleTests) compositor_test(ColorPickerTests) compositor_test(FloatingPanelTests) compositor_test(ColorSwatchTests) compositor_test(ColorPaletteControlsTests) compositor_test(ColorPickerSheetTests) compositor_test(EyedropperTests) compositor_test(PickingTests) compositor_test(LevelsTests) compositor_test(LevelsSessionTests) compositor_test(LevelsModelTests) compositor_test(LevelsEdgeTests) compositor_test(LevelsFailureTests) compositor_test(LevelsSheetTests) compositor_test(LevelsHandleTests) compositor_test(LevelsCanvasTests) compositor_test(ImageAdjustmentTests) compositor_test(ImageAdjustmentModelTests) compositor_test(CurvesControlsTests) compositor_test(HueSaturationTests) compositor_test(HueSaturationModelTests) compositor_test(HueSaturationSessionTests) compositor_test(HueSaturationFailureTests) compositor_test(HueSaturationSheetTests) compositor_test(HueSaturationSpectrumTests) compositor_test(HueSaturationCanvasTests) compositor_test(CanvasDisplayTests) compositor_test(CanvasNavigationTests) compositor_test(CanvasSizeTests) compositor_test(CanvasThumbnailTests) compositor_test(ClippingStackTests) compositor_test(CompositorTests) compositor_test(CompositorMenusTests) compositor_test(ImageMenuTests) compositor_test(ViewMenuTests) compositor_test(CommandPaletteTests) compositor_test(CommandPaletteWindowTests) compositor_test(CanvasOnlySessionTests) compositor_test(CanvasOnlyWindowTests) compositor_test(KeyboardShortcutsTests) compositor_test(KeyboardShortcutsSheetTests) compositor_test(RemappedKeysTests) compositor_test(CompositorUITestsLaunchTests) compositor_test(ContentViewTests) compositor_test(ContentViewStatusTests) compositor_test(DistortTests) compositor_test(DownsampleTests) compositor_test(RenderStarvationTests) compositor_test(DrawCoverageTests) compositor_test(EditorSessionSignalTests) compositor_test(EditorSessionTests) compositor_test(LayerDuplicateTests) compositor_test(ExportTests) compositor_test(ExportPDFTests) compositor_test(ExportPDFFailureTests) compositor_test(FolderMaskClipTests) compositor_test(EditorCanvasTests) compositor_test(GroupSessionTests) compositor_test(GroupTests) compositor_test(GroupingSelectionTests) compositor_test(HighDpiCanvasTests) compositor_test(HistoryTests) compositor_test(ImageImportSessionTests) compositor_test(ImageImportTests) compositor_test(WebPImportTests) compositor_test(ImageSizeTests) compositor_test(JPEGExportTests) compositor_test(LayerAppearanceControlsTests) compositor_test(LayerAppearanceTests) compositor_test(FolderOpacityTests) compositor_test(LayerMaskEditTests) compositor_test(LayerMaskSessionTests) compositor_test(LayerMaskTests) compositor_test(LayerRendererTests) compositor_test(LayerTests) compositor_test(LiveMaskRendererTests) compositor_test(LiveMaskBakeTests) compositor_test(LiveMaskDeleteTests) compositor_test(LiveMaskEditTests) compositor_test(LiveMaskSessionTests) compositor_test(LiveMaskTests) compositor_test(MaskAloneTests) compositor_test(MaskPlacementTests) compositor_test(MaskSignalTests) compositor_test(MaskTracingTests) compositor_test(MaskTransformTests) compositor_test(ProjectManifestTests) compositor_test(NativeLayerListTests) compositor_test(LayerContextMenuTests) compositor_test(LayerContextMenuEdgeTests) compositor_test(NativeResolutionPaintTests) compositor_test(NavigationToolHeaderTests) compositor_test(NumericScrubTests) compositor_test(ScrubbableLabelsTests) compositor_test(ScrubbableSheetsTests) compositor_test(ScrubbableCameraRawTests) compositor_test(ScrubbableTransformTests) compositor_test(NewCanvasSheetTests) compositor_test(NewCanvasUnitTests) compositor_test(OmarchyThemeTests) compositor_test(ProjectControllerTests) compositor_test(ExternalChangeTests) compositor_test(ExternalChangeGateTests) compositor_test(ProjectSaveWhileEditingTests) compositor_test(ProjectSaveQueueTests) compositor_test(ProjectSaveOrderTests) compositor_test(WritingProjectsGuideTests) compositor_test(ProjectWatcherTests) compositor_test(ProjectDigestRaceTests) compositor_test(ProjectCopyTests) compositor_test(ProjectOpenTests) compositor_test(ProjectReceiveTests) compositor_test(ProjectReplaceTests) compositor_test(ProjectWorkspaceFlowTests) compositor_test(QuitWhileEditingTextTests) compositor_test(QuitPendingEditsTests) compositor_test(ScanlinesTests) # It checks the kernel against Swift's own bytes. target_include_directories(ScanlinesTests PRIVATE ${OMAPHOTO_KERNELS}) compositor_test(ScanlinesSheetTests) compositor_test(NavigatorTests) compositor_test(NavigatorFailureTests) compositor_test(CameraRawCurveTests) compositor_test(CameraRawCurveGraphTests) compositor_test(OpenRecentTests) compositor_test(ColoredSliderTests) compositor_test(SheetTeardownTests) compositor_test(TextColorRunsTests) compositor_test(TextColorModelTests) compositor_test(TextColorEditorTests) compositor_test(TextEditingGatesTests) compositor_test(TextFontRunsTests) compositor_test(TextFontControlsTests) compositor_test(ColorRangeTests) compositor_test(ColorRangeCanvasTests) compositor_test(ColorRangeSheetTests) compositor_test(DialogColorPickerTests) compositor_test(JPEGPreviewTests) compositor_test(SnapDrawingCanvasTests) compositor_test(GuideGridTests) compositor_test(GridSettingsSheetTests) compositor_test(TypeFontPreviewTests) # It calls the colour-range kernel itself. target_include_directories(ColorRangeTests PRIVATE ${OMAPHOTO_KERNELS}) compositor_test(DitherTests) compositor_test(DitherSheetTests) compositor_test(DitherKernelTests) compositor_test(AcceptanceTests) compositor_test(AcceptanceColorTests) compositor_test(AcceptanceProjectTests) compositor_test(AcceptanceNewTests) compositor_test(AcceptanceEditTests) compositor_test(AcceptanceFinishTests) compositor_test(WindowTeardownTests) compositor_test(RecentProjectsCoreTests) compositor_test(ProjectWorkspaceSignalTests) compositor_test(ProjectWorkspaceTests) compositor_test(ProjectWorkspaceViewTests) compositor_test(ProjectTabStripTests) compositor_test(ProjectTabDragTests) compositor_test(ProjectTabLayoutTests) compositor_test(KeyboardZoomTests) # It starts the real app beside itself. add_dependencies(ProjectWorkspaceViewTests omaphoto) compositor_test(ProjectSessionTests) compositor_test(ProjectTests) compositor_test(QuickLookPreviewTests) compositor_test(RasterSnapshotSessionTests) compositor_test(RasterSnapshotTests) compositor_test(SessionGateTests) compositor_test(TiledLayerTests) compositor_test(TiledPieceTests) compositor_test(TiledStrokeTests) compositor_test(TransformSessionTests) compositor_test(ToolIconTests) compositor_test(TransformTests) compositor_test(TransformOverlayTests) compositor_test(TransformPressTests) compositor_test(TransformInspectorTests) compositor_test(TransformSnapTests) compositor_test(ResizeSnapTests) compositor_test(ResizeSnapCanvasTests) compositor_test(MoveBarPressTests) compositor_test(CursorTests) compositor_test(DistortCanvasTests) compositor_test(DistortMaskTests) compositor_test(FiltersTests) compositor_test(FilterTests) compositor_test(FilterModelTests) # It checks what the filters hand Swift's C kernels. target_include_directories(FilterModelTests PRIVATE ${OMAPHOTO_KERNELS}) compositor_test(FilterSessionTests) compositor_test(FilterFailureTests) compositor_test(LayerAdjustmentTests) compositor_test(BlurNoiseAdjustmentTests) # It checks the noise field against the kernel. target_include_directories(BlurNoiseAdjustmentTests PRIVATE ${OMAPHOTO_KERNELS}) compositor_test(AdjustmentLayerTests) compositor_test(AdjustmentEditorTests) compositor_test(AdjustmentPanelTests) compositor_test(LayerEffectsTests) compositor_test(LayerEffectsSurviveTests) compositor_test(OuterGlowTests) compositor_test(InnerGlowTests) compositor_test(ColorOverlayTests) compositor_test(LayerEffectsSessionTests) compositor_test(LayerEffectsKernelTests) compositor_test(EffectsPreviewCacheTests) compositor_test(LayerEffectsSurfaceTests) compositor_test(EffectsCanvasTests) compositor_test(MaskEffectsCanvasTests) compositor_test(MaskPaintAnywhereTests) compositor_test(EffectsFailureTests) compositor_test(EffectsPanelTests) compositor_test(LayerEffectRowTests) compositor_test(GuidedMatteTests) compositor_test(SubjectRemovalTests) compositor_test(SubjectRemovalModelTests) compositor_test(SubjectRemovalFailureTests) compositor_test(RemoveBackgroundTests) compositor_test(SelectSubjectTests) compositor_test(ObjectSelectionTests) compositor_test(PSDRoundTripTests) compositor_test(PSDTextTests) compositor_test(PSDTextReaderTests) compositor_test(PSBImportTests) compositor_test(CropToCanvasImportTests) compositor_test(PSDVectorTests) compositor_test(PSDReaderTests) compositor_test(PSDReaderLayerTests) compositor_test(PSDImportTests) compositor_test(PSDAdjustmentTests) compositor_test(SharpCanvasTests) compositor_test(AdjustmentBandsTests) compositor_test(LayerOrderTests) compositor_test(BlendingTests) compositor_test(AdjustmentCanvasTests) compositor_test(CanvasEditContractTests) # It checks the bands against one pass of the kernels. target_include_directories(AdjustmentBandsTests PRIVATE ${OMAPHOTO_KERNELS}) compositor_test(RawImporterTests) compositor_test(RawDevelopTests) compositor_test(RawDitherTests) # It drives the kernel's rounding directly. target_include_directories(RawDitherTests PRIVATE ${OMAPHOTO_KERNELS}) compositor_test(ToolDefaultsTests) compositor_test(ColorAdjustmentTests) compositor_test(CameraRawTests) compositor_test(CameraRawTablesTests) compositor_test(CameraRawFoldTests) target_include_directories(CameraRawFoldTests PRIVATE ${OMAPHOTO_KERNELS}) target_include_directories(CameraRawTablesTests PRIVATE ${OMAPHOTO_KERNELS}) compositor_test(CameraRawColorNoiseTests) compositor_test(CameraRawToneOrderTests) compositor_test(LastFilterTests) compositor_test(ToolHeaderScrollTests) compositor_test(LayerRevealTests) compositor_test(LayersLookEditableTests) compositor_test(CameraRawSessionTests) compositor_test(CameraRawToolsTests) compositor_test(CameraRawRulesTests) compositor_test(CameraRawColorTests) compositor_test(CameraRawLensTests) target_include_directories(CameraRawLensTests PRIVATE ${OMAPHOTO_KERNELS}) compositor_test(CameraRawWiringTests) compositor_test(CameraRawSliderTests) compositor_test(CameraRawPanelTests) compositor_test(CameraRawCanvasTests) compositor_test(CameraRawCurveMixerTests) compositor_test(CameraRawGradingLensTests) compositor_test(CameraRawGroupRowsTests) compositor_test(CameraRawGroupDrawTests) compositor_test(CameraRawGroupWordsTests) target_include_directories(CameraRawWiringTests PRIVATE ${OMAPHOTO_KERNELS}) compositor_test(LayerEffectsRendererTests) compositor_test(LayerFlipTests) compositor_test(CanvasRotationTests) compositor_test(LayerMergeTests) compositor_test(PixelEditTests) compositor_test(PixelInvertTests) compositor_test(PaintRefusalTests) compositor_test(PixelMoveTests) compositor_test(SelectionTests) compositor_test(SelectionFeatherTests) compositor_test(SelectionSourceTests) compositor_test(SelectionEditTests) compositor_test(SelectionSignalTests) compositor_test(SelectMenuTests) compositor_test(SelectionCanvasTests) compositor_test(SelectionOverlayTests) compositor_test(MarchingAntsTests) compositor_test(DocumentLimitsTests) compositor_test(LassoControlsTests) compositor_test(SelectionAmountSheetTests) compositor_test(MagicWandTests) compositor_test(SelectionClipboardTests) compositor_test(LayerClipboardTests) compositor_test(SmartEditTests) compositor_test(FilterSheetTests) compositor_test(FilterControlsTests) compositor_test(FinishingFilterTests) # It checks the filters against their kernels. target_include_directories(FinishingFilterTests PRIVATE ${OMAPHOTO_KERNELS}) compositor_test(VignetteCanvasTests) target_include_directories(VignetteCanvasTests PRIVATE ${OMAPHOTO_KERNELS}) compositor_test(FloatingSelectionTests) compositor_test(CropTests) compositor_test(GuideTests) compositor_test(GuideCanvasTests) compositor_test(CropSessionTests) compositor_test(CropCanvasTests) compositor_test(CropControlsTests) compositor_test(CropFailureTests) compositor_test(CanvasSizeSheetTests) compositor_test(ImageSizeSheetTests) compositor_test(ProjectResizeTests) compositor_test(ImageTrimTests) compositor_test(ExportAsSheetTests) compositor_test(ProjectExportTests) compositor_test(ProjectExportFailureTests) compositor_test(ByteCountsTests) compositor_test(ImageFileDropTests) compositor_test(SliderSnapTests) compositor_test(ProjectResizeFailureTests) # The `.svgz` fixture is gzip, written through zlib. find_package(ZLIB REQUIRED) target_link_libraries(SVGImportTests PRIVATE ZLIB::ZLIB)