Repository: biosimulators/Biosimulators_test_suite (language: python)

Issue:
pass tests
This PR aims gets all the failing CI checks to pass. This only required updating sphinxprettysearchresults to a patched version by @CodeByDrescher 


Discussion / hints:

Fix patch:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a553f3d..e9c8677 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -7,7 +7,7 @@ jobs:
   getVersionNumber:
     name: Get version number
     if: startsWith(github.ref, 'refs/tags/') && github.actor != 'biosimulators-daemon' && !contains(github.event.head_commit.message, '[skip ci]')
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-20.04
     outputs:
       version: ${{ steps.get-version-number.outputs.version }}
     steps:
@@ -17,12 +17,13 @@ jobs:
           TAG: ${{ github.ref }}
         run: |
           version="${TAG/refs\/tags\//}"
-          echo "::set-output name=version::$version"
+          echo "version=$version" >> $GITHUB_OUTPUT
+          echo "version=$version"
 
   build:
     name: Lint, test, and compile documentation
     if: github.actor != 'biosimulators-daemon' && !contains(github.event.head_commit.message, '[skip ci]')
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-20.04
     steps:
       - name: Checkout repository
         uses: actions/checkout@v2
@@ -50,7 +51,7 @@ jobs:
 
       - name: Install pip and setuptools
         run: |
-          python -m pip install --upgrade pip
+          #python -m pip install --upgrade pip
           python -m pip install --upgrade setuptools
 
       - name: Install Java # for pyNeuroML
@@ -66,20 +67,7 @@ jobs:
 
       - name: Install XPP
         run: |
-          sudo apt-get update -y
-          sudo apt-get install -y --no-install-recommends wget make gcc libx11-dev libc6-dev
-
-          cd /tmp
-          wget http://www.math.pitt.edu/~bard/bardware/xppaut_latest.tar.gz
-          mkdir xpp
-          tar zxvf xppaut_latest.tar.gz --directory xpp
-          cd xpp
-          make
-          sudo make install
-
-          cd /tmp
-          rm xppaut_latest.tar.gz
-          rm -r xpp
+          sudo apt-get install -y --no-install-recommends xppaut
 
       - name: Install Singularity # to validate that the Docker image can be converted into a Singularity image
         uses: eWaterCycle/setup-singularity@v6
@@ -114,10 +102,10 @@ jobs:
           else
             archivesChanged=0
           fi
-          echo "::set-output name=archivesChanged::$archivesChanged"
+          echo "archivesChanged=$archivesChanged" >> $GITHUB_OUTPUT
 
           branch="${HEAD/refs\/heads\//}"
-          echo "::set-output name=branch::$branch"
+          echo "branch=$branch" >> $GITHUB_OUTPUT
 
       - name: Push the zipped COMBINE/OMEX archives
         if: steps.commit-archives.outputs.archivesChanged == '1' && startsWith(github.ref, 'refs/heads/')
@@ -167,7 +155,7 @@ jobs:
   release:
     name: Release a new version
     needs: [getVersionNumber, build]
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-20.04
     outputs:
       docsChanged: ${{ steps.commit-docs.outputs.docsChanged }}
     steps:
@@ -198,7 +186,7 @@ jobs:
 
       - name: Install pip and setuptools
         run: |
-          python -m pip install --upgrade pip
+          #python -m pip install --upgrade pip
           python -m pip install --upgrade setuptools
 
       # install package
@@ -234,7 +222,7 @@ jobs:
           else
             docsChanged=0
           fi
-          echo "::set-output name=docsChanged::$docsChanged"
+          echo "docsChanged=$docsChanged" >> $GITHUB_OUTPUT
 
       - name: Push the compiled documentation
         if: steps.commit-docs.outputs.docsChanged == '1'
@@ -256,14 +244,7 @@ jobs:
       - name: Install pandoc
         run: |
           sudo apt-get update -y
-          sudo apt-get install -y --no-install-recommends wget
-
-          wget https://github.com/jgm/pandoc/releases -O /tmp/pandocVersions.html
-          urlPart=`grep "\.deb" /tmp/pandocVersions.html | head -n 1 | cut -d'/' -f2-7 | cut -d'"' -f1`
-          wget "https://github.com/$urlPart" -O /tmp/pandoc.deb
-          sudo dpkg -i /tmp/pandoc.deb
-          rm /tmp/pandocVersions.html
-          rm /tmp/pandoc.deb
+          sudo apt-get install -y pandoc
 
       - name: Convert README to .rst format
         run: pandoc --from=gfm --output=README.rst --to=rst README.md
diff --git a/docs-src/requirements.txt b/docs-src/requirements.txt
index 41c3485..2c75c0d 100644
--- a/docs-src/requirements.txt
+++ b/docs-src/requirements.txt
@@ -1,3 +1,3 @@
 pydata-sphinx-theme
 sphinx >= 1.8
-sphinxprettysearchresults
+sphinxprettysearchresults @ git+https://github.com/biosimulators/sphinx-pretty-searchresults.git
diff --git a/requirements.txt b/requirements.txt
index 310bc9c..50766ff 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,5 @@
 numpy < 1.23.0
-biosimulators_utils[containers,bngl,cellml,lems,neuroml,sbml,smoldyn] >= 0.1.168
+biosimulators_utils[containers,bngl,cellml,lems,neuroml,sbml,smoldyn] >= 0.1.172
 cement
 docker
 natsort


Test patch:
diff --git a/biosimulators_test_suite/_version.py b/biosimulators_test_suite/_version.py
index 06d4b59..95a0c62 100644
--- a/biosimulators_test_suite/_version.py
+++ b/biosimulators_test_suite/_version.py
@@ -1,1 +1,1 @@
-__version__ = '0.1.86'
+__version__ = '0.1.87'
diff --git a/biosimulators_test_suite/test_case/sedml.py b/biosimulators_test_suite/test_case/sedml.py
index 6c892a8..975f140 100644
--- a/biosimulators_test_suite/test_case/sedml.py
+++ b/biosimulators_test_suite/test_case/sedml.py
@@ -1575,7 +1575,7 @@ def eval_outputs(self, specifications, synthetic_archive, synthetic_sed_docs, ou
         for file in archive.files:
             with open(file.local_path, 'rb') as file:
                 try:
-                    PyPDF2.PdfFileReader(file)
+                    PyPDF2.PdfReader(file)
                 except Exception:
                     shutil.rmtree(tempdir)
                     raise InvalidOutputsException('Simulator produced an invalid PDF plot')
diff --git a/tests/test_case/test_sedml.py b/tests/test_case/test_sedml.py
index 253d76e..2822c0d 100644
--- a/tests/test_case/test_sedml.py
+++ b/tests/test_case/test_sedml.py
@@ -819,8 +819,8 @@ def test_SimulatorProducesLinear2DPlots_eval_outputs(self):
             case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname)
 
         with open(plot_1_path, 'wb') as file:
-            writer = PyPDF2.PdfFileWriter()
-            writer.addBlankPage(width=20, height=20)
+            writer = PyPDF2.PdfWriter()
+            writer.add_blank_page(width=20, height=20)
             writer.write(file)
         ArchiveWriter().run(archive, plots_path)
         with self.assertRaisesRegex(InvalidOutputsException, 'did not produce'):
@@ -828,8 +828,8 @@ def test_SimulatorProducesLinear2DPlots_eval_outputs(self):
 
         plot_2_path = os.path.join(self.dirname, 'plot_2.pdf')
         with open(plot_2_path, 'wb') as file:
-            writer = PyPDF2.PdfFileWriter()
-            writer.addBlankPage(width=20, height=20)
+            writer = PyPDF2.PdfWriter()
+            writer.add_blank_page(width=20, height=20)
             writer.write(file)
         archive.files.append(ArchiveFile(archive_path='a.sedml/plot_2.pdf', local_path=plot_2_path))
         ArchiveWriter().run(archive, plots_path)
@@ -845,8 +845,8 @@ def test_SimulatorProducesLinear2DPlots_eval_outputs(self):
 
         plot_3_path = os.path.join(self.dirname, 'plot_3.pdf')
         with open(plot_3_path, 'wb') as file:
-            writer = PyPDF2.PdfFileWriter()
-            writer.addBlankPage(width=20, height=20)
+            writer = PyPDF2.PdfWriter()
+            writer.add_blank_page(width=20, height=20)
             writer.write(file)
         archive.files.append(ArchiveFile(archive_path='a.sedml/plot_3.pdf', local_path=plot_3_path))
         ArchiveWriter().run(archive, plots_path)