Skip to content

Commit

Permalink
Add Mac UI tests with Appium (#318)
Browse files Browse the repository at this point in the history
  • Loading branch information
jonko0493 authored Jan 15, 2024
1 parent 81a03a7 commit c78aefd
Show file tree
Hide file tree
Showing 19 changed files with 290 additions and 90 deletions.
27 changes: 24 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,15 +103,36 @@ We recommend [Visual Studio 2022](https://visualstudio.microsoft.com/) on Window
The `SerialLoops.Tests` project can be run from inside Visual Studio, Rider, or with `dotnet test` as normal. However, our UI tests (currently only runnable on Windows) are a bit more involved.

Our UI tests rely on [Appium](https://appium.io/).
#### macOS
1. You will need to install nodejs and then use it to [install Appium](https://appium.io/docs/en/2.4/quickstart/install/).
- The easiest way to install nodejs is to first install [nvm](https://github.com/nvm-sh/nvm) and then run `nvm install <version>` followed by `nvm use <version>` (you can use `16` as the version)
2. You will then need to install the Mac2 driver with `appium driver install mac2`
3. Follow [these instructions](https://github.com/appium/appium-mac2-driver?tab=readme-ov-file#requirements) for installing and setting up the necessary prerequisites for the Mac2 driver to work

Once you've installed the prerequisites, build the `SerialLoops.Mac` and `SerialLoops.Mac.Tests` projects with `dotnet build src/SerialLoops.Mac/SerialLoops.Mac.csproj` and `dotnet build test/ui/SerialLoops.Mac.Tests/SerialLoops.Mac.Tests.csproj`,
respectively. Then, inside `test\ui\SerialLoops.Mac.Tests\bin\Debug\net8.0`, create a new text file called `ui_vals.json`. Inside this file, place the following text, replacing necessary values:
```json
{
"AppLoc": "PATH/TO/Serial Loops.app",
"ProjectName": "MacUITest",
"RomLoc": "PATH/TO/HaruhiChokuretsu.nds",
"ArtifactsDir": "PATH/TO/artifacts"
}
```
The artifacts directory can be any arbitrary directory, but ensure it exists before running the tests. The project name by default is WinUITest, but it can be anything you'd like. Have fun.

Finally, you can then run the tests with `dotnet test test\ui\SerialLoops.Mac.Tests\SerialLoops.Mac.Tests.csproj`. However, it may be better to run `appium` from a different terminal first so you
can see the server output as well.

#### Windows
1. You will need to install nodejs and then use it to [install Appium](https://appium.io/docs/en/2.4/quickstart/install/).
- The easiest way to install nodejs is to first install [NVM for Windows](https://github.com/coreybutler/nvm-windows) and then run `nvm install latest` followed by `nvm use latest` (you can sub latest for any version)
2. You will then need to install the [Appium Windows Driver](https://github.com/appium/appium-windows-driver) with `appium driver install --source=npm appium-windows-driver`.
3. Next, download and install [WinAppDriver](https://github.com/microsoft/WinAppDriver).


Once you've installed all the prerequisites, build the `SerialLoops.Wpf.Tests` project from Visual Studio or with `dotnet build test\ui\SerialLoops.Wpf.Tests\SerialLoops.Wpf.Tests.csproj`.
Then, inside `test\ui\SerialLoops.Wpf.Tests\bin\Debug\net8.0`, create a new text file called `ui_vals.json`. Inside this file place the following text, replacing necessary values:
Once you've installed all the prerequisites, build the `SerialLoops.Wpf` and `SerialLoops.Wpf.Tests` projects from Visual Studio or with `dotnet build src\ui\SerialLoops.Wpf\SerialLoops.Wpf.csproj` and
`dotnet build test\ui\SerialLoops.Wpf.Tests\SerialLoops.Wpf.Tests.csproj`, respectively. Then, inside `test\ui\SerialLoops.Wpf.Tests\bin\Debug\net8.0`, create a new text file called `ui_vals.json`.
Inside this file place the following text, replacing necessary values:
```json
{
"AppLoc": "PATH\\TO\\SerialLoops.exe",
Expand Down
13 changes: 3 additions & 10 deletions SerialLoops.sln
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SerialLoops.Wpf.Tests", "te
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ui", "ui", "{DB5ECA52-D5DD-467B-86E2-F1BDA48ADC9B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SerialLoops.Mac.Tests", "test\ui\SerialLoops.Mac.Tests\SerialLoops.Mac.Tests.csproj", "{70A7C730-A411-45BB-9BBD-61276BECAD27}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SerialLoops.Mac.Tests", "test\ui\SerialLoops.Mac.Tests\SerialLoops.Mac.Tests.csproj", "{70A7C730-A411-45BB-9BBD-61276BECAD27}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SerialLoops.Gtk.Tests", "test\ui\SerialLoops.Gtk.Tests\SerialLoops.Gtk.Tests.csproj", "{4B1982A7-66A2-45ED-B33E-1CE6054E92FD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SerialLoops.UITests.Shared", "test\ui\SerialLoops.UITests.Shared\SerialLoops.UITests.Shared.csproj", "{B34B1556-1CEE-49A3-A138-C7D737D1E5AB}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SerialLoops.Tests.Shared", "test\SerialLoops.Tests.Shared\SerialLoops.Tests.Shared.csproj", "{B34B1556-1CEE-49A3-A138-C7D737D1E5AB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -77,10 +75,6 @@ Global
{70A7C730-A411-45BB-9BBD-61276BECAD27}.Debug|Any CPU.Build.0 = Debug|Any CPU
{70A7C730-A411-45BB-9BBD-61276BECAD27}.Release|Any CPU.ActiveCfg = Release|Any CPU
{70A7C730-A411-45BB-9BBD-61276BECAD27}.Release|Any CPU.Build.0 = Release|Any CPU
{4B1982A7-66A2-45ED-B33E-1CE6054E92FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4B1982A7-66A2-45ED-B33E-1CE6054E92FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4B1982A7-66A2-45ED-B33E-1CE6054E92FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4B1982A7-66A2-45ED-B33E-1CE6054E92FD}.Release|Any CPU.Build.0 = Release|Any CPU
{B34B1556-1CEE-49A3-A138-C7D737D1E5AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B34B1556-1CEE-49A3-A138-C7D737D1E5AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B34B1556-1CEE-49A3-A138-C7D737D1E5AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
Expand All @@ -101,8 +95,7 @@ Global
{4F8A213A-6581-4BCA-84D8-9EE68E4AA8AC} = {DB5ECA52-D5DD-467B-86E2-F1BDA48ADC9B}
{DB5ECA52-D5DD-467B-86E2-F1BDA48ADC9B} = {1F8886B6-CAA8-4A7C-BC62-56F591290E02}
{70A7C730-A411-45BB-9BBD-61276BECAD27} = {DB5ECA52-D5DD-467B-86E2-F1BDA48ADC9B}
{4B1982A7-66A2-45ED-B33E-1CE6054E92FD} = {DB5ECA52-D5DD-467B-86E2-F1BDA48ADC9B}
{B34B1556-1CEE-49A3-A138-C7D737D1E5AB} = {DB5ECA52-D5DD-467B-86E2-F1BDA48ADC9B}
{B34B1556-1CEE-49A3-A138-C7D737D1E5AB} = {1F8886B6-CAA8-4A7C-BC62-56F591290E02}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {A7259B55-BEEA-4ECC-AC0A-85CC8FA1BD53}
Expand Down
47 changes: 47 additions & 0 deletions azure-pipelines-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,53 @@ variables:
- group: SerialLoopsPublic

jobs:
- job:
displayName: UI Tests (macOS)
pool:
vmImage: macOS-latest
steps:
- checkout: self
clean: true
- task: DotNetCoreCLI@2
inputs:
command: 'build'
projects: $(Build.SourcesDirectory)/src/SerialLoops.Mac/SerialLoops.Mac.csproj
displayName: Build SerialLoops.Mac
- task: DotNetCoreCLI@2
inputs:
command: 'build'
projects: $(Build.SourcesDirectory)/test/ui/SerialLoops.Mac.Tests/SerialLoops.Mac.Tests.csproj
displayName: Build SerialLoops.Mac.Tests
- pwsh: |
mkdir $env:AGENT_BUILDDIRECTORY/devkitpro
Invoke-WebRequest -Uri $env:DOWNLOAD_URI -OutFile devkitpro.zip
Expand-Archive -Path devkitpro.zip -DestinationPath $env:AGENT_BUILDDIRECTORY/devkitpro
displayName: Bootstrap devkitARM
env:
DOWNLOAD_URI: $(DevkitARMUri)
- script: |
export DEVKITARM=$AGENT_BUILDDIRECTORY/devkitpro/devkitARM
npm i -g appium
appium driver install mac2
displayName: Install and Run Appium Driver
- task: DotNetCoreCLI@2
displayName: Run macOS UI tests
inputs:
command: 'test'
projects: $(Build.SourcesDirectory)/test/ui/SerialLoops.Mac.Tests/SerialLoops.Mac.Tests.csproj
env:
APP_LOCATION: "$(Build.SourcesDirectory)/src/SerialLoops.Mac/bin/Debug/net8.0/Serial Loops.app"
PROJECT_NAME: MacUITest
ROM_URI: $(ChokuRomUri)
LOG_FILE: $(Build.ArtifactStagingDirectory)/TestConsole.log
DEVKITARM: $(Agent.BuildDirectory)/devkitpro/devkitARM
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)
ArtifactName: MacTestArtifacts
publishLocation: Container
displayName: Publish macOS Test Artifacts
condition: always()
- job:
displayName: UI Tests (Windows)
pool:
Expand Down
26 changes: 13 additions & 13 deletions azure-pipelines-official.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,39 +42,39 @@ stages:
imageName: 'ubuntu-latest'
platformName: 'Gtk'
artifactName: 'Linux-v$(Version)'
framework: 'net6.0'
framework: 'net8.0'
rid: 'linux-x64'
artifactPath: '$(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Gtk/Release/net6.0/linux-x64/publish.tar.gz'
artifactPath: '$(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Gtk/Release/net8.0/linux-x64/publish.tar.gz'
secondArtifactPath: '$(Build.SourcesDirectory)/dpkg-build/SerialLoops.deb'
thirdArtifactPath: '$(Build.SourcesDirectory)/rpmbuild/RPMS/x86_64/SerialLoops-$(Version)-1.fc39.x86_64.rpm'
extraPublishParams: ''
macOS-x64:
imageName: 'macOS-latest'
platformName: 'Mac'
artifactName: 'macOS-x64-v$(Version)'
framework: 'net6.0'
framework: 'net8.0'
rid: 'osx-x64'
artifactPath: '$(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Mac/Release/net6.0/osx-x64/Serial Loops.dmg'
artifactPath: '$(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Mac/Release/net8.0/osx-x64/Serial Loops.dmg'
secondArtifactPath: ''
thirdArtifactPath: ''
extraPublishParams: '/p:EnableDmgBuild=true'
macOS-arm64:
imageName: 'macOS-latest'
platformName: 'Mac'
artifactName: 'macOS-arm-v$(Version)'
framework: 'net6.0'
framework: 'net8.0'
rid: 'osx-arm64'
artifactPath: '$(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Mac/Release/net6.0/osx-arm64/Serial Loops.dmg'
artifactPath: '$(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Mac/Release/net8.0/osx-arm64/Serial Loops.dmg'
secondArtifactPath: ''
thirdArtifactPath: ''
extraPublishParams: '/p:EnableDmgBuild=true'
Windows:
imageName: 'windows-latest'
platformName: 'Wpf'
artifactName: 'Windows-v$(Version)'
framework: 'net6.0-windows'
framework: 'net8.0-windows'
rid: 'win-x64'
artifactPath: '$(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Wpf/Release/net6.0-windows/win-x64/publish.zip'
artifactPath: '$(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Wpf/Release/net8.0-windows/win-x64/publish.zip'
secondArtifactPath: ''
thirdArtifactPath: ''
extraPublishParams: ''
Expand Down Expand Up @@ -106,9 +106,9 @@ stages:
displayName: Build & Publish Serial Loops

- pwsh: |
Expand-Archive $(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Gtk/Release/net6.0/linux-x64/publish.zip -DestinationPath $(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Gtk/Release/net6.0/linux-x64/publish/
chmod +x $(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Gtk/Release/net6.0/linux-x64/publish/SerialLoops
Push-Location $(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Gtk/Release/net6.0/linux-x64/publish
Expand-Archive $(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Gtk/Release/net8.0/linux-x64/publish.zip -DestinationPath $(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Gtk/Release/net8.0/linux-x64/publish/
chmod +x $(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Gtk/Release/net8.0/linux-x64/publish/SerialLoops
Push-Location $(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Gtk/Release/net8.0/linux-x64/publish
tar -czvf ../publish.tar.gz --transform 's,^\.\/,,' .
Pop-Location
mkdir -p dpkg-build/SerialLoops/DEBIAN
Expand All @@ -120,7 +120,7 @@ stages:
Write-Output "[Desktop Entry]`nVersion=$(Version)`nName=Serial Loops`nComment=Editor for Suzumiya Haruhi no Chokuretsu`nExec=/usr/bin/SerialLoops`nIcon=/usr/lib/SerialLoops/Icons/AppIcon.png`nTerminal=false`nType=Application`nCategories=Utility;Application;`n" | Out-File -FilePath usr/share/applications/SerialLoops.desktop
chmod 777 usr/lib/SerialLoops
chmod +x usr/share/applications/SerialLoops.desktop
mv $(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Gtk/Release/net6.0/linux-x64/publish/* usr/lib/SerialLoops
mv $(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/bin/Gtk/Release/net8.0/linux-x64/publish/* usr/lib/SerialLoops
ln -s /usr/lib/SerialLoops/SerialLoops usr/bin/SerialLoops
cd ..
dpkg-deb --build SerialLoops
Expand All @@ -131,7 +131,7 @@ stages:
mkdir -p rpmbuild/SPECS
mkdir -p rpmbuild/SRPMS
mv $(Build.SourcesDirectory)/../SerialLoops-$(Version).tar.gz $(Build.SourcesDirectory)/rpmbuild/SOURCES/
Write-Output "Name: SerialLoops`nVersion: $(Version)`nRelease: 1%{?dist}`nSummary: Editor for Suzumiya Haruhi no Chokuretsu`nExclusiveArch: x86_64`n`nLicense: GPLv3`nURL: https://haroohie.club/chokuretsu/serial-loops`nSource0: %{name}-%{version}.tar.gz`nSource1: https://github.com/haroohie-club/SerialLoops`n`nBuildRequires: dotnet-sdk-6.0`nRequires: openal-soft make`n`n%global debug_package %{nil}`n%define __os_install_post %{nil}`n`n%description`nAn editor for the Nintendo DS game Suzumiya Haruhi no Chokuretsu (The Series of Haruhi Suzumiya)`n`n%prep`n%setup -q`n`n%build`ndotnet publish src/SerialLoops.Gtk/SerialLoops.Gtk.csproj -c Release -f net6.0 -r linux-x64 --self-contained /p:DebugType=None /p:DebugSymbols=false /p:PublishSingleFile=true`n`n%install`nrm -rf %{buildroot}`nmkdir -p %{buildroot}/%{_bindir}`nmkdir -p %{buildroot}/%{_libdir}/SerialLoops`nmkdir -p %{buildroot}/%{_datadir}/applications`ncp -r src/SerialLoops.Gtk/bin/Release/net6.0/linux-x64/publish/* %{buildroot}/%{_libdir}/SerialLoops/`nchmod 777 %{buildroot}/%{_libdir}/SerialLoops/`nln -s %{_libdir}/SerialLoops/SerialLoops %{buildroot}/%{_bindir}/SerialLoops`nprintf `"[Desktop Entry]\nVersion=%{version}\nName=Serial Loops\nComment=Editor for Suzumiya Haruhi no Chokuretsu\nExec=%{_bindir}/SerialLoops\nIcon=%{_libdir}/SerialLoops/Icons/AppIcon.png\nTerminal=false\nType=Application\nCategories=Utility;Application;\n`" > %{buildroot}/%{_datadir}/applications/SerialLoops.desktop`nchmod +x %{buildroot}/%{_datadir}/applications/SerialLoops.desktop`n`n%files`n%dir %{_libdir}/SerialLoops`n%{_bindir}/SerialLoops`n%{_libdir}/SerialLoops`n%{_datadir}/applications/SerialLoops.desktop`n" | Out-File -FilePath rpmbuild/SPECS/SerialLoops.spec
Write-Output "Name: SerialLoops`nVersion: $(Version)`nRelease: 1%{?dist}`nSummary: Editor for Suzumiya Haruhi no Chokuretsu`nExclusiveArch: x86_64`n`nLicense: GPLv3`nURL: https://haroohie.club/chokuretsu/serial-loops`nSource0: %{name}-%{version}.tar.gz`nSource1: https://github.com/haroohie-club/SerialLoops`n`nBuildRequires: dotnet-sdk-6.0`nRequires: openal-soft make`n`n%global debug_package %{nil}`n%define __os_install_post %{nil}`n`n%description`nAn editor for the Nintendo DS game Suzumiya Haruhi no Chokuretsu (The Series of Haruhi Suzumiya)`n`n%prep`n%setup -q`n`n%build`ndotnet publish src/SerialLoops.Gtk/SerialLoops.Gtk.csproj -c Release -f net8.0 -r linux-x64 --self-contained /p:DebugType=None /p:DebugSymbols=false /p:PublishSingleFile=true`n`n%install`nrm -rf %{buildroot}`nmkdir -p %{buildroot}/%{_bindir}`nmkdir -p %{buildroot}/%{_libdir}/SerialLoops`nmkdir -p %{buildroot}/%{_datadir}/applications`ncp -r src/SerialLoops.Gtk/bin/Release/net8.0/linux-x64/publish/* %{buildroot}/%{_libdir}/SerialLoops/`nchmod 777 %{buildroot}/%{_libdir}/SerialLoops/`nln -s %{_libdir}/SerialLoops/SerialLoops %{buildroot}/%{_bindir}/SerialLoops`nprintf `"[Desktop Entry]\nVersion=%{version}\nName=Serial Loops\nComment=Editor for Suzumiya Haruhi no Chokuretsu\nExec=%{_bindir}/SerialLoops\nIcon=%{_libdir}/SerialLoops/Icons/AppIcon.png\nTerminal=false\nType=Application\nCategories=Utility;Application;\n`" > %{buildroot}/%{_datadir}/applications/SerialLoops.desktop`nchmod +x %{buildroot}/%{_datadir}/applications/SerialLoops.desktop`n`n%files`n%dir %{_libdir}/SerialLoops`n%{_bindir}/SerialLoops`n%{_libdir}/SerialLoops`n%{_datadir}/applications/SerialLoops.desktop`n" | Out-File -FilePath rpmbuild/SPECS/SerialLoops.spec
chmod +x $(Build.SourcesDirectory)/install/rpm-scripts/rpm-make.sh
docker run -v $(Build.SourcesDirectory)/install/rpm-scripts:/rpm-scripts -v $(Build.SourcesDirectory)/rpmbuild:/root/rpmbuild -e VERSION=$(Version) fedora:39 /rpm-scripts/rpm-make.sh
displayName: Create Linux tar, dpkg, and rpm
Expand Down
2 changes: 1 addition & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
inputs:
command: 'build'
projects: $(Build.SourcesDirectory)/src/SerialLoops.$(platformName)/SerialLoops.$(platformName).csproj
displayName: Build solution
displayName: Build project

- task: DotNetCoreCLI@2
inputs:
Expand Down
19 changes: 13 additions & 6 deletions src/SerialLoops.Lib/Config.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public void ValidateConfig(ILogger log)
{
if (string.IsNullOrWhiteSpace(DevkitArmPath))
{
log.LogError("devkitARM is not detected at the default or specified install location. Please set devkitPro path.");
log.LogError("devkitARM is not detected at the default or specified install location. Please set devkitARM path.");
}
}

Expand Down Expand Up @@ -116,14 +116,21 @@ private void InitializeHacks(ILogger log)

private static Config GetDefault(ILogger log)
{
string devkitArmDir;
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
string devkitArmDir = Environment.GetEnvironmentVariable("DEVKITARM") ?? string.Empty;
if (!string.IsNullOrEmpty(devkitArmDir) && !Directory.Exists(devkitArmDir))
{
devkitArmDir = Path.Combine("C:", "devkitPro", "devkitARM");
devkitArmDir = "";
}
else
if (string.IsNullOrEmpty(devkitArmDir))
{
devkitArmDir = Path.Combine("/opt", "devkitpro", "devkitARM");
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
devkitArmDir = Path.Combine("C:", "devkitPro", "devkitARM");
}
else
{
devkitArmDir = Path.Combine("/opt", "devkitpro", "devkitARM");
}
}
if (!Directory.Exists(devkitArmDir))
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using SerialLoops.Lib.Util;

namespace SerialLoops.Tests
namespace SerialLoops.Tests.Shared
{
public class ConsoleProgressTracker : IProgressTracker
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\..\..\src\SerialLoops.Lib\SerialLoops.Lib.csproj" />
<ProjectReference Include="..\..\SerialLoops.Tests\SerialLoops.Tests.csproj" />
<ProjectReference Include="..\..\src\SerialLoops.Lib\SerialLoops.Lib.csproj" />
</ItemGroup>

</Project>
File renamed without changes.
1 change: 1 addition & 0 deletions test/SerialLoops.Tests/CoreTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using SerialLoops.Lib;
using SerialLoops.Lib.Items;
using SerialLoops.Lib.Script;
using SerialLoops.Tests.Shared;
using SkiaSharp;
using System;
using System.IO;
Expand Down
1 change: 1 addition & 0 deletions test/SerialLoops.Tests/SerialLoops.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\SerialLoops.Tests.Shared\SerialLoops.Tests.Shared.csproj" />
<ProjectReference Include="..\..\src\SerialLoops.Lib\SerialLoops.Lib.csproj" />
<ProjectReference Include="..\..\src\SerialLoops\SerialLoops.csproj" />
</ItemGroup>
Expand Down
1 change: 1 addition & 0 deletions test/SerialLoops.Tests/StartUpTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using NUnit.Framework;
using NUnit.Framework.Internal;
using SerialLoops.Lib;
using SerialLoops.Tests.Shared;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
Expand Down
18 changes: 0 additions & 18 deletions test/ui/SerialLoops.Gtk.Tests/GtkUITests.cs

This file was deleted.

Loading

0 comments on commit c78aefd

Please sign in to comment.