Skip to content

Add manual tests#15351

Merged
Siedlerchr merged 13 commits into
mainfrom
add-manual-tests
May 11, 2026
Merged

Add manual tests#15351
Siedlerchr merged 13 commits into
mainfrom
add-manual-tests

Conversation

@koppor

@koppor koppor commented Mar 16, 2026

Copy link
Copy Markdown
Member

Related issues and pull requests

Add test for #14085 / #15316

PR Description

Add tests-manual dir. I added to the root dir because no other place - did not want to spread around jabgui, jabkit, ...

Steps to test

Just browse source code

Checklist

  • I own the copyright of the code submitted and I license it under the MIT license
  • [/] I manually tested my changes in running JabRef (always required)
  • [/] I added JUnit tests for changes (if applicable)
  • [/] I added screenshots in the PR description (if change is visible to the user)
  • [/] I added a screenshot in the PR description showing a library with a single entry with me as author and as title the issue number
  • [/] I described the change in CHANGELOG.md in a way that can be understood by the average user (if change is visible to the user)
  • [/] I checked the user documentation for up to dateness and submitted a pull request to our user documentation repository

@testlens-app

testlens-app Bot commented Mar 16, 2026

Copy link
Copy Markdown

✅ All tests passed ✅

🏷️ Commit: 93d3463
▶️ Tests: 10181 executed
⚪️ Checks: 98/98 completed


Learn more about TestLens at testlens.app.

@koppor koppor marked this pull request as ready for review March 16, 2026 22:24
@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Mar 16, 2026

Copy link
Copy Markdown
Contributor

Review Summary by Qodo

(Agentic_describe updated until commit e921a39)

Add manual test fixtures for PDF reference extraction

🧪 Tests

Grey Divider

Walkthroughs

Description
• Add tests-manual directory for manual testing infrastructure
• Create test fixture for PDF reference extraction feature (issue #14085)
• Include LaTeX paper with Related Work section and BibTeX entries
• Provide comprehensive documentation and compilation scripts
Diagram
flowchart LR
  A["tests-manual directory"] --> B["extract-references subdirectory"]
  B --> C["paper1 LaTeX project"]
  B --> D["extract-references.bib"]
  B --> E["README documentation"]
  C --> F["main.tex with Related Work"]
  C --> G["references.bib"]
  C --> H["compile.sh script"]
  F --> I["PDF generation for testing"]
Loading

Grey Divider

File Changes

1. tests-manual/README.md 📝 Documentation +3/-0

Root manual tests directory documentation

• Created root directory for manual tests
• Added brief description of manual test purpose

tests-manual/README.md


2. tests-manual/extract-references/README.md 📝 Documentation +90/-0

Detailed manual test guide for reference extraction

• Comprehensive guide for testing PDF reference extraction feature
• Documents directory structure and test setup procedures
• Provides step-by-step instructions for testing citation matching
• Includes reference format documentation and LaTeX prerequisites

tests-manual/extract-references/README.md


3. tests-manual/extract-references/extract-references.bib 🧪 Tests +42/-0

BibTeX test library with reference entries

• Created BibTeX library with four reference entries
• Includes Kopp2024 article with PDF file reference
• Contains three cited papers (Kitchenham2007, AlZubidy2018, Voigt2021)
• Serves as main test fixture for reference extraction

tests-manual/extract-references/extract-references.bib


View more (4)
4. tests-manual/extract-references/paper1/main.tex 🧪 Tests +61/-0

LaTeX source for test PDF generation

• Created LaTeX document for TUGboat journal article
• Includes Related Work section with three citations
• Contains abstract and introduction sections
• Uses tugboat bibliography style for numeric citations

tests-manual/extract-references/paper1/main.tex


5. tests-manual/extract-references/paper1/references.bib 🧪 Tests +29/-0

BibTeX references for LaTeX paper

• Created BibTeX file for paper1 LaTeX project
• Contains three reference entries cited in Related Work section
• Matches entries in main extract-references.bib

tests-manual/extract-references/paper1/references.bib


6. tests-manual/extract-references/compile.sh 🧪 Tests +9/-0

PDF compilation automation script

• Created shell script for PDF compilation
• Runs pdflatex and bibtex in correct sequence
• Executes three pdflatex passes for reference resolution
• Sets strict error handling with set -e

tests-manual/extract-references/compile.sh


7. tests-manual/extract-references/.gitattributes ⚙️ Configuration changes +1/-0

Git attributes for shell scripts

• Configure shell scripts with Unix line endings
• Ensures consistent line ending format across platforms

tests-manual/extract-references/.gitattributes


Grey Divider

Qodo Logo

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Mar 16, 2026

Copy link
Copy Markdown
Contributor

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider


Action required

1. README.md code fence missing language ✓ Resolved 📘 Rule violation ≡ Correctness
Description
The new manual-test README adds a fenced code block without a language identifier, which violates
markdownlint rules and may fail CI quality gates. This can block merges due to markdown linting
errors.
Code

tests-manual/extract-references/README.md[R8-19]

+```
+extract-references/
+├── main-paper/
+│   ├── main.tex        — Main paper with a "Related Work" section
+│   └── references.bib  — BibTeX entries for the three referenced papers
+├── paper1/
+│   └── paper1.tex      — Referenced paper 1: Sustainable Agriculture Methods
+├── paper2/
+│   └── paper2.tex      — Referenced paper 2: Machine Learning for Climate Monitoring
+└── paper3/
+    └── paper3.tex      — Referenced paper 3: Renewable Energy Systems Survey
+```
Evidence
Compliance requires keeping quality gates (including markdown lint) passing. The repository
markdownlint config enables default rules (including fenced-code language requirements), and the
added README block uses ``` without a language tag.

AGENTS.md
.markdownlint.yml[1-4]
tests-manual/extract-references/README.md[8-19]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The new markdown file introduces a fenced code block without a language identifier, which is typically rejected by markdownlint (MD040) and can fail CI quality gates.
## Issue Context
The repository enables markdownlint rules by default via `.markdownlint.yml`.
## Fix Focus Areas
- tests-manual/extract-references/README.md[8-19]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Wrong .bib referenced ✓ Resolved 🐞 Bug ≡ Correctness
Description
The manual test instructions tell users to import main-paper/references.bib, but the actual test
fixture with the main-paper entry and PDF file links is extract-references.bib. Following the
README produces an incomplete library (missing Doe2024 and all file links), making the manual
test setup inconsistent.
Code

tests-manual/extract-references/README.md[R58-61]

+3. Import `main-paper/references.bib` into your library
+   (File → Import into current library).
+4. Attach `main-paper/main.pdf` to any entry in your library, or open it in your
+   system PDF reader.
Evidence
The README instructs importing main-paper/references.bib, but that file contains only three
referenced entries and no file fields, while the top-level extract-references.bib contains the
main paper entry (Doe2024) and file fields pointing to the generated PDFs.

tests-manual/extract-references/README.md[56-61]
tests-manual/extract-references/extract-references.bib[1-10]
tests-manual/extract-references/extract-references.bib[12-22]
tests-manual/extract-references/main-paper/references.bib[1-28]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`tests-manual/extract-references/README.md` points to `main-paper/references.bib`, but the actual complete fixture (main paper + PDF file links) is `extract-references.bib`. This makes the documented setup inconsistent with the provided test data.
### Issue Context
The repository already includes a prepared `.bib` (`extract-references.bib`) with `file` fields for PDFs and an entry for the main paper (`Doe2024`). The README currently instructs importing a different `.bib` that lacks these fields.
### Fix Focus Areas
- tests-manual/extract-references/README.md[56-61]
- tests-manual/extract-references/extract-references.bib[1-22]
- tests-manual/extract-references/main-paper/references.bib[1-28]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

3. Manual tests split roots ✓ Resolved 🐞 Bug ✧ Quality
Description
This PR introduces a new top-level tests-manual/ even though the repo already documents manual
tests under test-support/src/manual-tests/. Having two parallel “manual tests” roots reduces
discoverability and increases the chance future manual tests are added inconsistently.
Code

tests-manual/README.md[R1-3]

+# Manual Tests
+
+This directory contains tests to be executed manually.
Evidence
The new tests-manual/ README establishes a second manual-tests home, while an existing README
already defines test-support/src/manual-tests/ as the place for manual test cases.

tests-manual/README.md[1-3]
test-support/src/manual-tests/README.md[1-6]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The repo now has two different top-level locations that claim to be the home for manual tests (`tests-manual/` and `test-support/src/manual-tests/`). This fragments documentation and makes manual tests harder to find and maintain.
### Issue Context
`test-support/src/manual-tests/README.md` already describes the expected manual test structure. The new `tests-manual/README.md` introduces a second structure.
### Fix Focus Areas
- tests-manual/README.md[1-3]
- test-support/src/manual-tests/README.md[1-6]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


4. LaTeX outputs not ignored ✓ Resolved 🐞 Bug ≡ Correctness
Description
compile.sh generates PDFs and LaTeX auxiliary files inside tracked directories, but the new
tests-manual/extract-references/ tree provides no .gitignore to keep these generated files out
of git status. This increases the risk of accidentally committing generated artifacts in future
PRs.
Code

tests-manual/extract-references/compile.sh[R4-20]

+cd paper1
+pdflatex paper1.tex
+cd ..
+
+cd paper2
+pdflatex paper2.tex
+cd ..
+
+cd paper3
+pdflatex paper3.tex
+cd ..
+
+cd main-paper
+pdflatex main.tex
+bibtex main
+pdflatex main.tex
+pdflatex main.tex
Evidence
The script runs pdflatex/bibtex, which emits .pdf, .aux, .bbl, .blg, etc. The repo’s
root .gitignore does not ignore generic PDFs (only docs/book.pdf), while existing LaTeX test
directories have a dedicated .gitignore ignoring common LaTeX outputs including *.pdf.

tests-manual/extract-references/compile.sh[1-21]
.gitignore[39-42]
jablib/src/test/latex/.gitignore[1-9]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Running `tests-manual/extract-references/compile.sh` will create many generated LaTeX artifacts in tracked directories. Without ignore rules, contributors can easily commit these outputs accidentally.
### Issue Context
The root `.gitignore` does not ignore general PDFs, while existing LaTeX test folders (`jablib/src/test/latex`) explicitly ignore typical LaTeX outputs.
### Fix Focus Areas
- tests-manual/extract-references/compile.sh[1-21]
- jablib/src/test/latex/.gitignore[1-9]
- .gitignore[39-42]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Advisory comments

5. compile.sh depends on cwd ✓ Resolved 🐞 Bug ≡ Correctness
Description
compile.sh uses relative cd paper1/cd main-paper without first switching to the script
directory, so it fails when executed from any working directory other than
tests-manual/extract-references/. This makes the provided helper script brittle for users running
it from the repo root or via an IDE.
Code

tests-manual/extract-references/compile.sh[R1-6]

+#!/bin/sh
+set -e
+
+cd paper1
+pdflatex paper1.tex
+cd ..
Evidence
The script immediately cds into subdirectories by relative name, which only works if the current
working directory is exactly the script’s parent directory.

tests-manual/extract-references/compile.sh[1-6]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`compile.sh` assumes the caller’s current working directory is `tests-manual/extract-references/`, otherwise `cd paper1` fails.
### Issue Context
This is a manual helper script; making it robust reduces friction and support questions.
### Fix Focus Areas
- tests-manual/extract-references/compile.sh[1-6]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

Comment thread tests-manual/extract-references/README.md Outdated
Comment thread tests-manual/extract-references/README.md Outdated
subhramit
subhramit previously approved these changes Mar 17, 2026
@@ -0,0 +1,44 @@
@article{Doe2024,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this duplicated?

@koppor koppor marked this pull request as draft March 23, 2026 08:49
@github-actions github-actions Bot added the status: changes-required Pull requests that are not yet complete label Mar 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Your pull request conflicts with the target branch.

Please merge with your code. For a step-by-step guide to resolve merge conflicts, see https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line.

@Siedlerchr

Copy link
Copy Markdown
Member

Reopen if you continue with this

@Siedlerchr Siedlerchr closed this Mar 30, 2026
@calixtus calixtus reopened this Mar 30, 2026
@koppor

koppor commented Apr 4, 2026

Copy link
Copy Markdown
Member Author

Blocks #15316

@github-actions

Copy link
Copy Markdown
Contributor

The requested changes were not addressed for 10 days. Please follow-up in the next 10 days or your PR will be automatically closed. You can check the contributing guidelines for hints on the pull request process.

@github-actions github-actions Bot added the status: stale Issues marked by a bot as "stale". All issues need to be investigated manually. label Apr 18, 2026
@github-actions

github-actions Bot commented May 1, 2026

Copy link
Copy Markdown
Contributor

This PR is being closed due to continued inactivity.

@github-actions github-actions Bot closed this May 1, 2026
@koppor koppor reopened this May 5, 2026
@koppor

koppor commented May 5, 2026

Copy link
Copy Markdown
Member Author

Screenshot of PDF:

grafik

@koppor koppor marked this pull request as ready for review May 5, 2026 23:13
@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented May 5, 2026

Copy link
Copy Markdown
Contributor

Persistent review updated to latest commit e921a39

@koppor koppor removed status: stale Issues marked by a bot as "stale". All issues need to be investigated manually. status: changes-required Pull requests that are not yet complete labels May 10, 2026
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Siedlerchr Siedlerchr added this pull request to the merge queue May 11, 2026
@github-actions github-actions Bot added the status: to-be-merged PRs which are accepted and should go into the merge-queue. label May 11, 2026
Merged via the queue into main with commit 85ed22f May 11, 2026
69 checks passed
@Siedlerchr Siedlerchr deleted the add-manual-tests branch May 11, 2026 08:24
Siedlerchr added a commit to pluto-han/jabref that referenced this pull request May 11, 2026
* upstream/main: (21 commits)
  chore(deps): update dependency com.konghq:unirest-modules-gson to v4.10.0 (JabRef#15715)
  Add manual tests (JabRef#15351)
  Refactored the comments for UnlinkedFilesCrawler (JabRef#15709)
  Replace inline styles with CSS classes (JabRef#15694)
  add test case for multiple authors in csl citaiton (JabRef#15707)
  fix invalid desktop file for linux (JabRef#15702)
  Change FileKeystore and Folder fields to disable/enable (JabRef#15685)
  Chore(deps): Bump org.openrewrite.recipe:rewrite-recipe-bom from 3.30.0 to 3.30.1 (JabRef#15696)
  New Crowdin updates (JabRef#15693)
  Chore(deps): Bump dev.langchain4j:langchain4j-bom in /versions (JabRef#15698)
  Chore(deps): Bump org.apache.logging.log4j:log4j-to-slf4j in /versions (JabRef#15700)
  chore(deps): update dependency org.apache.logging.log4j:log4j-to-slf4j to v2.26.0 (JabRef#15699)
  Chore(deps): Bump org.openrewrite.rewrite from 7.32.1 to 7.32.2 (JabRef#15697)
  Chore(deps): Bump jablib/src/main/resources/csl-locales (JabRef#15689)
  Fix month checker regex (JabRef#15678)
  Chore(deps): Bump com.dlsc.gemsfx:gemsfx in /versions (JabRef#15692)
  Chore(deps): Bump org.hisp.dhis:json-tree in /versions (JabRef#15691)
  Chore(deps): Bump jablib/src/main/resources/csl-styles (JabRef#15690)
  New Crowdin updates (JabRef#15687)
  Chore(deps): Bump com.konghq:unirest-java-core in /versions (JabRef#15683)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status: to-be-merged PRs which are accepted and should go into the merge-queue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants