From f477b8085f945eeeadb4cede78c68aa0089d04d5 Mon Sep 17 00:00:00 2001 From: ell <77150506+ellraiser@users.noreply.github.com> Date: Mon, 9 Oct 2023 22:32:41 +0100 Subject: [PATCH] finish graphics module + HTML image comparison - added mostly all graphics draw tests - added a basic set of "expected" images (generated from successful tests) - HTML output now shows the expected vs actual generated images for each of the graphics tests applicable --- .github/workflows/main.yml | 33 +- .gitignore | 1 + testing/classes/TestMethod.lua | 38 ++- testing/classes/TestModule.lua | 2 +- testing/classes/TestSuite.lua | 2 - testing/main.lua | 3 + testing/output/actual/notes.txt | 2 + .../love.test.graphics.applyTransform-1.png | Bin 0 -> 89 bytes .../expected/love.test.graphics.arc-1.png | Bin 0 -> 245 bytes .../expected/love.test.graphics.arc-2.png | Bin 0 -> 204 bytes .../expected/love.test.graphics.arc-3.png | Bin 0 -> 223 bytes .../expected/love.test.graphics.circle-1.png | Bin 0 -> 212 bytes .../expected/love.test.graphics.clear-1.png | Bin 0 -> 84 bytes .../expected/love.test.graphics.draw-1.png | Bin 0 -> 221 bytes .../love.test.graphics.drawLayer-1.png | Bin 0 -> 386 bytes .../expected/love.test.graphics.ellipse-1.png | Bin 0 -> 185 bytes .../love.test.graphics.intersectScissor-1.png | Bin 0 -> 91 bytes .../expected/love.test.graphics.line-1.png | Bin 0 -> 139 bytes .../expected/love.test.graphics.origin-1.png | Bin 0 -> 90 bytes .../expected/love.test.graphics.points-1.png | Bin 0 -> 111 bytes .../expected/love.test.graphics.polygon-1.png | Bin 0 -> 154 bytes .../expected/love.test.graphics.pop-1.png | Bin 0 -> 90 bytes .../expected/love.test.graphics.print-1.png | Bin 0 -> 154 bytes .../expected/love.test.graphics.printf-1.png | Bin 0 -> 196 bytes .../expected/love.test.graphics.push-1.png | Bin 0 -> 91 bytes .../love.test.graphics.rectangle-1.png | Bin 0 -> 92 bytes .../love.test.graphics.rectangle-2.png | Bin 0 -> 103 bytes .../love.test.graphics.replaceTransform-1.png | Bin 0 -> 89 bytes .../expected/love.test.graphics.rotate-1.png | Bin 0 -> 91 bytes .../love.test.graphics.setBlendMode-1.png | Bin 0 -> 123 bytes .../love.test.graphics.setCanvas-1.png | Bin 0 -> 84 bytes .../love.test.graphics.setColor-1.png | Bin 0 -> 128 bytes .../love.test.graphics.setColorMask-1.png | Bin 0 -> 99 bytes .../expected/love.test.graphics.setFont-1.png | Bin 0 -> 106 bytes .../love.test.graphics.setLineJoin-1.png | Bin 0 -> 122 bytes .../love.test.graphics.setLineStyle-1.png | Bin 0 -> 102 bytes .../love.test.graphics.setLineWidth-1.png | Bin 0 -> 118 bytes .../love.test.graphics.setScissor-1.png | Bin 0 -> 89 bytes .../love.test.graphics.setShader-1.png | Bin 0 -> 84 bytes .../love.test.graphics.setStencilTest-1.png | Bin 0 -> 107 bytes .../love.test.graphics.setWireframe-1.png | Bin 0 -> 128 bytes .../expected/love.test.graphics.shear-1.png | Bin 0 -> 98 bytes .../expected/love.test.graphics.shear-2.png | Bin 0 -> 101 bytes .../love.test.graphics.translate-1.png | Bin 0 -> 93 bytes testing/output/expected/notes.txt | 2 + testing/output/{readme.md => notes.txt} | 0 testing/resources/loveinv.png | Bin 0 -> 680 bytes testing/tests/graphics.lua | 310 +++++++++++++++++- testing/todo.md | 5 +- 49 files changed, 366 insertions(+), 32 deletions(-) create mode 100644 testing/output/actual/notes.txt create mode 100644 testing/output/expected/love.test.graphics.applyTransform-1.png create mode 100644 testing/output/expected/love.test.graphics.arc-1.png create mode 100644 testing/output/expected/love.test.graphics.arc-2.png create mode 100644 testing/output/expected/love.test.graphics.arc-3.png create mode 100644 testing/output/expected/love.test.graphics.circle-1.png create mode 100644 testing/output/expected/love.test.graphics.clear-1.png create mode 100644 testing/output/expected/love.test.graphics.draw-1.png create mode 100644 testing/output/expected/love.test.graphics.drawLayer-1.png create mode 100644 testing/output/expected/love.test.graphics.ellipse-1.png create mode 100644 testing/output/expected/love.test.graphics.intersectScissor-1.png create mode 100644 testing/output/expected/love.test.graphics.line-1.png create mode 100644 testing/output/expected/love.test.graphics.origin-1.png create mode 100644 testing/output/expected/love.test.graphics.points-1.png create mode 100644 testing/output/expected/love.test.graphics.polygon-1.png create mode 100644 testing/output/expected/love.test.graphics.pop-1.png create mode 100644 testing/output/expected/love.test.graphics.print-1.png create mode 100644 testing/output/expected/love.test.graphics.printf-1.png create mode 100644 testing/output/expected/love.test.graphics.push-1.png create mode 100644 testing/output/expected/love.test.graphics.rectangle-1.png create mode 100644 testing/output/expected/love.test.graphics.rectangle-2.png create mode 100644 testing/output/expected/love.test.graphics.replaceTransform-1.png create mode 100644 testing/output/expected/love.test.graphics.rotate-1.png create mode 100644 testing/output/expected/love.test.graphics.setBlendMode-1.png create mode 100644 testing/output/expected/love.test.graphics.setCanvas-1.png create mode 100644 testing/output/expected/love.test.graphics.setColor-1.png create mode 100644 testing/output/expected/love.test.graphics.setColorMask-1.png create mode 100644 testing/output/expected/love.test.graphics.setFont-1.png create mode 100644 testing/output/expected/love.test.graphics.setLineJoin-1.png create mode 100644 testing/output/expected/love.test.graphics.setLineStyle-1.png create mode 100644 testing/output/expected/love.test.graphics.setLineWidth-1.png create mode 100644 testing/output/expected/love.test.graphics.setScissor-1.png create mode 100644 testing/output/expected/love.test.graphics.setShader-1.png create mode 100644 testing/output/expected/love.test.graphics.setStencilTest-1.png create mode 100644 testing/output/expected/love.test.graphics.setWireframe-1.png create mode 100644 testing/output/expected/love.test.graphics.shear-1.png create mode 100644 testing/output/expected/love.test.graphics.shear-2.png create mode 100644 testing/output/expected/love.test.graphics.translate-1.png create mode 100644 testing/output/expected/notes.txt rename testing/output/{readme.md => notes.txt} (100%) create mode 100644 testing/resources/loveinv.png diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7b0801aab..5229bdaf8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,6 +4,7 @@ on: [push, pull_request] jobs: linux-os: runs-on: ubuntu-20.04 + timeout-minutes: 60 steps: - name: Update APT run: sudo apt-get update @@ -50,9 +51,12 @@ jobs: name: love-x86_64-AppImage-debug path: love-${{ github.sha }}.AppImage-debug.tar.gz - name: Make Runnable - run: chmod a+x love-${{ github.sha }}.AppImage + run: | + chmod a+x love-${{ github.sha }}.AppImage + echo "ready to run" + ls - name: Run All Tests - run: xvfb-run ./love-${{ github.sha }}.AppImage testing + run: xvfb-run ./love-${{ github.sha }}.AppImage ./testing/main.lua - name: Love Test Report uses: ellraiser/love-test-report@main with: @@ -61,6 +65,7 @@ jobs: path: testing/output/lovetest_runAllTests.md windows-os: runs-on: windows-latest + timeout-minutes: 60 strategy: matrix: platform: [Win32, x64, ARM64] @@ -214,9 +219,21 @@ jobs: uses: actions/upload-artifact@v3 with: name: love-windows-${{ steps.vars.outputs.arch }}${{ steps.vars.outputs.compatname }}-dbg - path: pdb/Release/*.pdb + path: pdb/Release/*.pdb + - name: Install Scream + shell: powershell + run: | + Start-Service audio* + Invoke-WebRequest https://github.com/duncanthrax/scream/releases/download/3.6/Scream3.6.zip -OutFile C:\Scream3.6.zip + Extract-7Zip -Path C:\Scream3.6.zip -DestinationPath C:\Scream + $cert = (Get-AuthenticodeSignature C:\Scream\Install\driver\Scream.sys).SignerCertificate + $store = [System.Security.Cryptography.X509Certificates.X509Store]::new("TrustedPublisher", "LocalMachine") + $store.Open("ReadWrite") + $store.Add($cert) + $store.Close() + cd C:\Scream\Install\driver + C:\Scream\Install\helpers\devcon install Scream.inf *Scream - name: Install Mesa - if: steps.vars.outputs.arch != 'ARM64' run: | curl -L --output mesa.7z --url https://github.com/pal1000/mesa-dist-win/releases/download/23.2.1/mesa3d-23.2.1-release-msvc.7z 7z x mesa.7z -o* @@ -226,7 +243,9 @@ jobs: run: cmake --build build --config Release --target install - name: Run All Tests if: steps.vars.outputs.arch != 'ARM64' - run: powershell.exe install/lovec.exe testing + run: | + dir + powershell.exe ./install/lovec.exe ./testing/main.lua - name: Love Test Report if: steps.vars.outputs.arch != 'ARM64' uses: ellraiser/love-test-report@main @@ -236,6 +255,7 @@ jobs: path: testing/output/lovetest_runAllTests.md macOS: runs-on: macos-latest + timeout-minutes: 60 steps: - name: Checkout uses: actions/checkout@v3 @@ -263,7 +283,7 @@ jobs: name: love-macos path: love-macos.zip - name: Run All Tests - run: love-macos/love.app/Contents/MacOS/love testing + run: love-macos/love.app/Contents/MacOS/love testing/main.lua - name: Love Test Report uses: ellraiser/love-test-report@main with: @@ -272,6 +292,7 @@ jobs: path: testing/output/lovetest_runAllTests.md iOS-Simulator: runs-on: macos-latest + timeout-minutes: 60 steps: - name: Checkout uses: actions/checkout@v3 diff --git a/.gitignore b/.gitignore index f84038cd7..3f5288d45 100644 --- a/.gitignore +++ b/.gitignore @@ -72,3 +72,4 @@ stamp-h1 /testing/output/*.xml /testing/output/*.html /testing/output/*.md +/testing/output/actual/*.png diff --git a/testing/classes/TestMethod.lua b/testing/classes/TestMethod.lua index 9b355a6bb..ad3a742e6 100644 --- a/testing/classes/TestMethod.lua +++ b/testing/classes/TestMethod.lua @@ -33,9 +33,13 @@ TestMethod = { blue = {0, 0, 1, 1}, bluefade = {0, 0, 1, 0.5}, yellow = {1, 1, 0, 1}, + pink = {1, 0, 1, 1}, black = {0, 0, 0, 1}, - white = {1, 1, 1, 1} + white = {1, 1, 1, 1}, + lovepink = {214/255, 86/255, 151/255, 1}, + loveblue = {83/255, 168/255, 220/255, 1} }, + imgs = 1, delay = 0, delayed = false } @@ -82,6 +86,10 @@ TestMethod = { tg = math.floor((tg*10)+0.5)/10 tb = math.floor((tb*10)+0.5)/10 ta = math.floor((ta*10)+0.5)/10 + col[1] = math.floor((col[1]*10)+0.5)/10 + col[2] = math.floor((col[2]*10)+0.5)/10 + col[3] = math.floor((col[3]*10)+0.5)/10 + col[4] = math.floor((col[4]*10)+0.5)/10 -- @TODO add some sort pixel tolerance to the coords self:assertEquals(col[1], tr, 'check pixel r for ' .. i .. ' at ' .. compare_id .. '(' .. label .. ')') self:assertEquals(col[2], tg, 'check pixel g for ' .. i .. ' at ' .. compare_id .. '(' .. label .. ')') @@ -227,6 +235,14 @@ TestMethod = { end, + exportImg = function(self, imgdata) + local path = 'tempoutput/actual/love.test.graphics.' .. + self.method .. '-' .. tostring(self.imgs) .. '.png' + imgdata:encode('png', path) + self.imgs = self.imgs + 1 + end, + + -- @method - TestMethod:skipTest() -- @desc - used to mark this test as skipped for a specific reason -- @param {string} reason - reason why method is being skipped @@ -356,11 +372,21 @@ TestMethod = { -- unused currently, adds a preview image for certain graphics methods to the output local preview = '' - -- if self.testmodule.module == 'graphics' then - -- local filename = 'love_test_graphics_rectangle' - -- preview = '
' .. '

Expected

' .. - -- '

Actual

' - -- end + if self.testmodule.module == 'graphics' then + local filename = 'love.test.graphics.' .. self.method + if love.filesystem.openFile('tempoutput/actual/' .. filename .. '-1.png', 'r') then + preview = '
' .. '

Expected

' .. + '
' .. '

Actual

' + end + if love.filesystem.openFile('tempoutput/actual/' .. filename .. '-2.png', 'r') then + preview = preview .. '
' .. '

Expected

' .. + '
' .. '

Actual

' + end + if love.filesystem.openFile('tempoutput/actual/' .. filename .. '-3.png', 'r') then + preview = preview .. '
' .. '

Expected

' .. + '
' .. '

Actual

' + end + end -- append HTML for the test class result local status = '🔴' diff --git a/testing/classes/TestModule.lua b/testing/classes/TestModule.lua index 89fd1f7fa..dae7d82ed 100644 --- a/testing/classes/TestModule.lua +++ b/testing/classes/TestModule.lua @@ -88,7 +88,7 @@ TestModule = { if self.failed == 0 then status = '🟢' end -- add md row to main output love.test.mdrows = love.test.mdrows .. '| ' .. status .. - ' love.' .. self.module .. + ' ' .. self.module .. ' | ' .. tostring(self.passed) .. ' | ' .. tostring(self.failed) .. ' | ' .. tostring(self.skipped) .. diff --git a/testing/classes/TestSuite.lua b/testing/classes/TestSuite.lua index 8d9ce368c..cbe171c31 100644 --- a/testing/classes/TestSuite.lua +++ b/testing/classes/TestSuite.lua @@ -187,8 +187,6 @@ TestSuite = { '
  • 🟡 ' .. tostring(self.totals[3]) .. ' Skipped
  • ' .. '
  • ' .. finaltime .. 's


  • ' - -- @TODO use mountFullPath to write output to src? - love.filesystem.mountFullPath(love.filesystem.getSource() .. "/output", "tempoutput", "readwrite") love.filesystem.write('tempoutput/' .. self.output .. '.xml', xml .. self.xml .. '') love.filesystem.write('tempoutput/' .. self.output .. '.html', html .. self.html .. '') love.filesystem.write('tempoutput/' .. self.output .. '.md', md) diff --git a/testing/main.lua b/testing/main.lua index 292ad82c6..523d536d6 100644 --- a/testing/main.lua +++ b/testing/main.lua @@ -53,6 +53,9 @@ love.load = function(args) end end + -- mount for output later + love.filesystem.mountFullPath(love.filesystem.getSource() .. "/output", "tempoutput", "readwrite") + -- get all args with any comma lists split out as seperate local arglist = {} for a=1,#args do diff --git a/testing/output/actual/notes.txt b/testing/output/actual/notes.txt new file mode 100644 index 000000000..2716b1df8 --- /dev/null +++ b/testing/output/actual/notes.txt @@ -0,0 +1,2 @@ +# Actual Graphics Output +The images generated by the tests \ No newline at end of file diff --git a/testing/output/expected/love.test.graphics.applyTransform-1.png b/testing/output/expected/love.test.graphics.applyTransform-1.png new file mode 100644 index 0000000000000000000000000000000000000000..f80ad8f855197459002a951418f9f3634fb4fb80 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E0F%rz##p<7bL>x>Eakt hF()}8AVGnZfr0e{gJSsX)Tclh22WQ%mvv4FO#qOZ5*7de literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.arc-1.png b/testing/output/expected/love.test.graphics.arc-1.png new file mode 100644 index 0000000000000000000000000000000000000000..f95e65bb33dc252eb431a6b7164b2b30ff5773aa GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnH3?%tPCZz)@o&cW^S0Mc#1Q`A^Fho4oUk2na z@pN$vshE>{!I0~ag8=J=`56M*x|7abyQlm{km*@Er&!n{RTh6i8%HVq#J(rI*X)xO z6#O>#&z+l?&XAJQ;OaVsPpEZnYr`#Lri@e?xqV@w~2ZFHYN= zuhJ4NS~;&*9a_v7<|Lgdal^H?uGv<9qG_3v{7sJ6(*pPMpRjh8n8@GunByvUx_rQn npC=Bz@b1|2TWHgadk5G*9Wpmg`o*jbbT5OatDnm{r-UW||0G#e literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.arc-2.png b/testing/output/expected/love.test.graphics.arc-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f0ae7e649bb82c4412e1cb92901f75f97965acdf GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnH3?%tPCZz)@o&cW^S0Mc#2tXtQ<6_YWAivtv z#WAE}PH*2v!3G5$*Zs?{MeX44OL%P8_kcsJO1zopr04vs06951J literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.circle-1.png b/testing/output/expected/love.test.graphics.circle-1.png new file mode 100644 index 0000000000000000000000000000000000000000..dbc1304073622223d5f2bb98ed77014719033eb0 GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv{s5m4S0Mc#h(G|uvRvry4iswe zba4!+m{U9HwBP{+4wtRWTbVuC5AtpKKdWhx+a}|i()nUf78l3bbv51o)ahb*E5c*L z#tEDm-jgqJyIo3D;JUUTRK!64LAs4+KtXANw#VrO(`*_fyh2YiE!|qh5O#n)V^RGF z&&EX`)@1TTwLeU#i4j;MFs&!O!TF%(#~aVAZTM5HlPCPzv=QhQ22WQ%mvv4FO#mnc BPe=d& literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.clear-1.png b/testing/output/expected/love.test.graphics.clear-1.png new file mode 100644 index 0000000000000000000000000000000000000000..315c7a936f3dc201ea118e957e50a50e5f26b1f7 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;bAV5X>;L}@UB|w-0=Yb%E{-7; dbCMGjc!4|v21c>YSr>sU22WQ%mvv4FO#qBk5)l9Z literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.draw-1.png b/testing/output/expected/love.test.graphics.draw-1.png new file mode 100644 index 0000000000000000000000000000000000000000..6318b14a4830af9a595dc40007227bb527446c7f GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnH3?%tPCZz)@o&cW^*K1+Z|1&TIuekI7|NmQB z3#EbLJ)SO(Ar*64&l&PH8wj{uWGv5&`DvqOz92#GrCRxk!WEOmTz&R1cfHs&X{mm8 zs=dghj-B#`Nw30RhR&bCZdAV|(JgUmnU2H?<)A`=pS5oH3w(n19$`Bd8W|<)ne||j zX;#0-F57EzEm86@>0dazZ4)=D&-*U^apAus`Ib80T8_@!a6?$E`cRU;^>c1l*IDI0 S;zl5MF?hQAxvX0!Gc6!x4C*Kq=@Op3OT}aP{sdam9~I zJC`uzUZjf@k#^=@RA@>s^xhhV19!Q}${Fgx7OcuCTy6_{Ht{dMpun2kEX(B;Gxy7XHik*j zjB+CGZzE))W_4WZ{?vG;Kz)|z#fCc_n-naRHvbVe_&kkASNdF*MV^a$!2)L^W-A7( dWAzdu;=9Vqo-SlubpdE6gQu&X%Q~loCIGzfJB9!N literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.intersectScissor-1.png b/testing/output/expected/love.test.graphics.intersectScissor-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7c40b8c9e8c4c8aeda3f0e8668d425043bee5049 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9>wh4Ffx&UH5J*D6)5S5Q jVovgd|K}Op|8puc#J-bJgTe~DWM4f&OH;7 literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.line-1.png b/testing/output/expected/love.test.graphics.line-1.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa77e263a1a310f430b69fe165a461122dd46ed GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uK)it{0Fib7&sPtECf=v zo-U3d6?2jWczJmfKSXWKQgptwDs(Q7*Q+}JDGSJi2&t;ucLK6T!h$e;r literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.origin-1.png b/testing/output/expected/love.test.graphics.origin-1.png new file mode 100644 index 0000000000000000000000000000000000000000..e018bbfbc4bf35f890c70e81e0aa15c5e1d21d21 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9>wh4Ffx&UH5J-aG)5S5Q iVovgk|K~rYn_BGKs0d4pj>AVc_5(ahpq&kg_;GkCiCxvXwh4Ffx&UH5J-aG)5S5Q iVovgk|K~r=*%m~z_9kWNcr}cvv&fmXYh3Ob6Mw<&;$Tsggnsz literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.push-1.png b/testing/output/expected/love.test.graphics.push-1.png new file mode 100644 index 0000000000000000000000000000000000000000..58ace03b31caf4aa1e1ceae60811a2cd1342efd5 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9>wh4Ffx&UH5J*D6)5S5Q jVoq|xhV%o>QWpdnG?wh4F;eXD;zkNVj(9^{+ kq+(8T!U2Xe>;fD>weHuLc|T^Xt^uj?boFyt=akR{047)!8vpx>Eakt hF()}8AVGnZfr0e{gJSsX)Tclh22WQ%mvv4FO#qOZ5*7de literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.rotate-1.png b/testing/output/expected/love.test.graphics.rotate-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7c40b8c9e8c4c8aeda3f0e8668d425043bee5049 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9>wh4Ffx&UH5J*D6)5S5Q jVovgd|K}Op|8puc#J-bJgTe~DWM4f&OH;7 literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.setBlendMode-1.png b/testing/output/expected/love.test.graphics.setBlendMode-1.png new file mode 100644 index 0000000000000000000000000000000000000000..71ad3bdd94807a7db7a898e8f9ed2b2325871cd0 GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b{oeorjEsy74F4G#7$n`r z;(<~uB|(0{|NsB5Zf!s$uV`#o%R<% OB@CXfelF{r5}E)E&>(vN literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.setCanvas-1.png b/testing/output/expected/love.test.graphics.setCanvas-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a97348e509ee00fea8cf1432a82a5b89df82c91a GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;bAV5X>wg9Y$w!>#KrWA`i(^Q| doa6)rULenafl;h;)fw97*a7OIYC53K!inzr>n`SsmY<~U_d}bfPjaA1y>gb7ZWF&qs9VeW`>R0oZ5*i RzOsW1@^tlcS?83{1OPg!9~S@s literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.setColorMask-1.png b/testing/output/expected/love.test.graphics.setColorMask-1.png new file mode 100644 index 0000000000000000000000000000000000000000..254f834f807f381374e51f249e36e74ffcdd595f GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|WIbIRLo9le v|NNi-(4LvKp;PGWVzwSBgRBDyMhpx|vzcWNpM1UxsF1wh4Ffx&UH5J*Da)5S5Q zVovgg|K~USw?Evso9A}&L5>|Gz_k!R?dO&7D4LHh{Evy85}Sb4q9e0Pq?g Ai2wiq literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.setLineJoin-1.png b/testing/output/expected/love.test.graphics.setLineJoin-1.png new file mode 100644 index 0000000000000000000000000000000000000000..76397bdbe9e4cb23caefb88287bf919b8d6d9da6 GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uK$4y28RD2>OVu!Q9B^5 z>FMGaQZXkvA%TN8H6cNOH)%)oHszVuc`#g7d@ OO$?r{elF{r5}E*@EFo6_ literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.setLineStyle-1.png b/testing/output/expected/love.test.graphics.setLineStyle-1.png new file mode 100644 index 0000000000000000000000000000000000000000..9df1b38176469edd331bb69b5c15855e6b536363 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uK$4y28K-x3_Rb?e+9B6 vJY5_^D&{07Ff;}zI4FfNGPXEOR`6k9s9i2LRov399HiXS)z4*}Q$iB}1wt1E literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.setLineWidth-1.png b/testing/output/expected/love.test.graphics.setLineWidth-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ce30d2cfe919586b3897bd2956f0f14623c430a8 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uK$4y28RD2>OVu!Q9B^5 z>gnPbQZXkvAwhsQl|gu+qC?WvRVz=pWQa`o@&CUzo1j$xTn2^(cNGKgcU4XSY4>#X Kb6Mw<&;$TWV<9O3 literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.setScissor-1.png b/testing/output/expected/love.test.graphics.setScissor-1.png new file mode 100644 index 0000000000000000000000000000000000000000..202f26d04f4fd146dd215e9d609c5d286939c111 GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9>wh4Ffx&UH5J-a0)5S5Q hVoq|xkMj;(Oblhm`9D5sSG)mI;pyt_~=6Vm_y literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.setShader-1.png b/testing/output/expected/love.test.graphics.setShader-1.png new file mode 100644 index 0000000000000000000000000000000000000000..315c7a936f3dc201ea118e957e50a50e5f26b1f7 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;bAV5X>;L}@UB|w-0=Yb%E{-7; dbCMGjc!4|v21c>YSr>sU22WQ%mvv4FO#qBk5)l9Z literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.setStencilTest-1.png b/testing/output/expected/love.test.graphics.setStencilTest-1.png new file mode 100644 index 0000000000000000000000000000000000000000..773650483e3fc116451895a7d9a769351601bfcc GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E0F%rz##p<7bK$K>Eakt zF()~Jf%zFT&mVb-C-n^z{>rm7bucV#;5xv-pf{E0tZnl~U!YnBPgg&ebxsLQ0AyGi A5&!@I literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.setWireframe-1.png b/testing/output/expected/love.test.graphics.setWireframe-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ceea66531e124bd8a373e27a938f70537b8a89c5 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E0F&GpP}P+K>(0t>gnPb zQZa}3)J9&Qa+izqwMD#?BaR5RUg9vDC=pZfm04rD>N1H%-D;~o9OO-(Q*flQ_J8dX XTXsI7l5JOj1~7QK`njxgN@xNAeg7o< literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.shear-1.png b/testing/output/expected/love.test.graphics.shear-1.png new file mode 100644 index 0000000000000000000000000000000000000000..36a779c57416abdc435ab92f97dcd8a83d87af63 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E0F%rz##p<7bGI?>Eakt rF(-LNLc)aPgoONrgqi~mEDQ{Rtc?GiTT}l5l`wd^`njxgN@xNAg6J0G literal 0 HcmV?d00001 diff --git a/testing/output/expected/love.test.graphics.shear-2.png b/testing/output/expected/love.test.graphics.shear-2.png new file mode 100644 index 0000000000000000000000000000000000000000..3d1873ea5604756786337a8e5c2f1541c57b4f8d GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;TYyi9E0F%rz##p<7bGI(>Eakt uF()}8At8fdF>}Hc1~;|@6$ZBz3=GW|m=BhJINbwh4Ffx&UH5J*DE)5S5Q mVovgkf9F5Qb1p126kxbAN$%#^nTJe3syto&T-G@yGywn}=@wi7 literal 0 HcmV?d00001 diff --git a/testing/output/expected/notes.txt b/testing/output/expected/notes.txt new file mode 100644 index 000000000..25b54bba5 --- /dev/null +++ b/testing/output/expected/notes.txt @@ -0,0 +1,2 @@ +# Expected Graphics Output +The images expected by the tests \ No newline at end of file diff --git a/testing/output/readme.md b/testing/output/notes.txt similarity index 100% rename from testing/output/readme.md rename to testing/output/notes.txt diff --git a/testing/resources/loveinv.png b/testing/resources/loveinv.png new file mode 100644 index 0000000000000000000000000000000000000000..7be943a20fb70f11f5969fa6548bf70cc90608dc GIT binary patch literal 680 zcmV;Z0$2TsP)Px%Vo5|nRCt{2o7+*tFc3vAv;sfS4h*3LsDmP)1i}Cf&9(vG=YF z@%7T0>Fr z7M27`Bhl~{h6Hy5z2Gfg3CEs;d&2|3`_;Yc9GV5p0p8+~&{RHifxmlw+j@QebX(0+ zT>*1}A4^LmR2gf5e_owz{=Qs)(T+*4{xCI_Q2fPO_#s4^DX5xb_6Y#WB@}&$32#Y( zYL3alTS_Ekzo3A(7*NeIAFGF&)5%KM`=Juv6Q+d859SJQVM!Pr2IoA~wPtFF+_B;v z>LOEH1;B14Y*oO2yz*(%N^so_{fBG>9KzMN469(NfZiw2I|nadYe?|?ADH_Op<#wY z;ZgzV8-Jk+SXUnyseoQfRU$HWKR~+~vZ$+|_3BUE3{h`~Eh-6Yct9{AVqr^AzyqQw zF$+tA3LX$nidwu9l<8FF4Q!4>;Ecn1otzc3R;9!U75J^LcMP@BnFvOfLyuc!0P_ zDp~>q9w0B1i;}>C2LuZx)e@NSfM}_#N&*`m5H6NxOHjZA;^p!z2`YFXV8eu0f)XAG z+A`BBK@ATCZkno<5CIPaZ<{NX5Cso(*f^P!5D5=-+&Y_zhz4J>