Skip to content

Display actual Python exceptions in parsl_test_runner CI logs - #437

Merged
sou-cheng-choi merged 7 commits into
booktests_choifrom
copilot/fix-ci-job-test-logging
Dec 13, 2025
Merged

Display actual Python exceptions in parsl_test_runner CI logs#437
sou-cheng-choi merged 7 commits into
booktests_choifrom
copilot/fix-ci-job-test-logging

Conversation

Copilot AI commented Dec 13, 2025

Copy link
Copy Markdown
Contributor

The booktests_parallel_no_docker CI job shows generic "unix exit code 1" errors without Python tracebacks, making debugging impossible.

Changes

Combine stderr/stdout in bash_app (line 27)

  • Added 2>&1 redirection to capture all error output in stdout log file

Display error logs on first failure (lines 98-109)

  • Read and print last 2000 chars of stdout log before retry
  • Error handling for file I/O exceptions

Display error logs on retry failure (lines 127-138)

  • Read and print last 2000 chars of retry log before marking FAILED
  • Error handling for file I/O exceptions

Example Output

Before:

Test tb_elliptic_pde failed with error: bash_app run_single_test failed with unix exit code 1

After:

--- Error details for tb_elliptic_pde (first attempt) ---
Traceback (most recent call last):
  File "tb_elliptic_pde.py", line 2, in <module>
    from testbook import testbook
ModuleNotFoundError: No module named 'testbook'
--- End of error details for tb_elliptic_pde ---
Original prompt

Problem

The booktests_parallel_no_docker CI job is failing with 8 test failures, but the logs only show generic "bash_app run_single_test failed with unix exit code 1" errors without revealing the actual Python exceptions or stack traces. This makes debugging impossible.

Failing tests:

  • tb_elliptic_pde
  • tb_vectorized_qmc
  • tb_plot_proj_function
  • tb_joss2025
  • tb_vectorized_qmc_bayes
  • tb_gbm_examples
  • tb_linear_scrambled_halton
  • tb_why_add_q_to_mc_blog

CI Run: https://github.com/QMCSoftware/QMCSoftware/actions/runs/20197244148/job/57983013219#step:15:163

Root Cause

The parsl_test_runner.py script redirects test output to log files but doesn't read and display those logs when tests fail. The error handling only shows the exception message from Parsl, not the underlying Python test errors.

Required Changes

Modify test/booktests/parsl_test_runner.py to:

  1. Capture stderr and stdout together in the bash_app to ensure all error output is captured
  2. Read and print error log contents when tests fail (both on first attempt and retry)
  3. Display detailed failure information including the actual Python traceback/error messages to aid debugging

Specific Implementation

  1. In the run_single_test bash_app (around line 24-28):

    • Combine stderr and stdout using 2>&1 redirection to ensure all output goes to the stdout file
  2. In the exception handler for first attempt failures (around line 88-96):

    • After catching the exception, read the error/output log files
    • Print the contents (last 2000 characters to avoid log overflow) to show what actually failed
  3. In the exception handler for retry failures (around line 109-119):

    • Similarly read and print the retry error log contents
    • Display a clear failure details section with the actual Python error
  4. Ensure error details are printed before marking tests as FAILED so they appear in CI logs

This will make the actual test errors visible in GitHub Actions logs, allowing developers to see ImportErrors, ModuleNotFoundErrors, assertion failures, or any other Python exceptions that are causing the tests to fail.

Expected Outcome

After this fix, when tests fail in CI, the logs will show the actual Python exceptions and stack traces, making it immediately clear what needs to be fixed (e.g., missing dependencies, import errors, assertion failures, etc.).

This pull request was created as a result of the following prompt from Copilot chat.

Problem

The booktests_parallel_no_docker CI job is failing with 8 test failures, but the logs only show generic "bash_app run_single_test failed with unix exit code 1" errors without revealing the actual Python exceptions or stack traces. This makes debugging impossible.

Failing tests:

  • tb_elliptic_pde
  • tb_vectorized_qmc
  • tb_plot_proj_function
  • tb_joss2025
  • tb_vectorized_qmc_bayes
  • tb_gbm_examples
  • tb_linear_scrambled_halton
  • tb_why_add_q_to_mc_blog

CI Run: https://github.com/QMCSoftware/QMCSoftware/actions/runs/20197244148/job/57983013219#step:15:163

Root Cause

The parsl_test_runner.py script redirects test output to log files but doesn't read and display those logs when tests fail. The error handling only shows the exception message from Parsl, not the underlying Python test errors.

Required Changes

Modify test/booktests/parsl_test_runner.py to:

  1. Capture stderr and stdout together in the bash_app to ensure all error output is captured
  2. Read and print error log contents when tests fail (both on first attempt and retry)
  3. Display detailed failure information including the actual Python traceback/error messages to aid debugging

Specific Implementation

  1. In the run_single_test bash_app (around line 24-28):

    • Combine stderr and stdout using 2>&1 redirection to ensure all output goes to the stdout file
  2. In the exception handler for first attempt failures (around line 88-96):

    • After catching the exception, read the error/output log files
    • Print the contents (last 2000 characters to avoid log overflow) to show what actually failed
  3. In the exception handler for retry failures (around line 109-119):

    • Similarly read and print the retry error log contents
    • Display a clear failure details section with the actual Python error
  4. Ensure error details are printed before marking tests as FAILED so they appear in CI logs

This will make the actual test errors visible in GitHub Actions logs, allowing developers to see ImportErrors, ModuleNotFoundErrors, assertion failures, or any other Python exceptions that are causing the tests to fail.

Expected Outcome

After this fix, when tests fail in CI, the logs will show the actual Python exceptions and stack traces, making it immediately clear what needs to be fixed (e.g., missing dependencies, import errors, assertion failures, etc.).


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 3 commits December 13, 2025 21:44
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix CI job logging to capture test errors Display actual Python exceptions in parsl_test_runner CI logs Dec 13, 2025
Copilot AI requested a review from sou-cheng-choi December 13, 2025 21:50
@sou-cheng-choi
sou-cheng-choi changed the base branch from master to booktests_choi December 13, 2025 22:07
@sou-cheng-choi
sou-cheng-choi marked this pull request as ready for review December 13, 2025 22:07
@sou-cheng-choi
sou-cheng-choi merged commit 5060083 into booktests_choi Dec 13, 2025
3 checks passed
sou-cheng-choi added a commit that referenced this pull request Dec 18, 2025
…stbook failures (#438)

* GBM code

* Fix doctest and inline documentation

* Fix typo. Add GBM to doc.

* GBM unit test

* Add _validate_input()

* Add fast unit tests for GBM

* Create gbm_demo.ipynb

* Add mean and covariance of GBM

* Speed up gen_samples using Parsl

* Interactive visualization.

* Add demo to documentation

* Minor improvements

* Revert "Minor improvements"

This reverts commit aeb3d5c.

* Revert "Interactive visualization."

This reverts commit 3b3f795.

* Update gbm_demo.ipynb

* Update gbm_demo.ipynb

* Add interactive visualization

* Add section title and some text before code

* Change input parameter to 2**n

* Add help

* clean up

* Delete workout

* Update gbm_demo.ipynb

* added to do list

* Update gbm_demo.ipynb

* Update gbm_demo.ipynb

* rendering widgets

* Update gbm_demo.ipynb

* gbm updates

* gbm edits

* Delete testing.py

* Delete test_geometric_brownian_motion.py

* Update geometric_brownian_motion_copy.py

* changes

* Update geometric_brownian_motion_copy.py

* Create testing.py

to see what results I'm gettinh

* Fix doctests

* Revert changes

* Fix GBM

* Remove testing.py

* add colab button

* Fix Colab button

* Clean up

* Clean up more

* Add QMCPy heat map for covariance

* Add _validate_samples only in long tests. Add _weight()

* Final change

* Add unit tests for (G)BM and more comprehensive gbm_demo notebook

* Accelerated GBM

* Add unit tests and remove useless methods

* Minor changes to gbm_demo

* Minor changes to demo

* Better latex table

* Restore .gitignore

* Fix latex error

* Add code and seed to QuantLib GBM with Sobol sampler

* Add minor changes and unit tests

* Update test_true_measures.py

* Use GBM instead of BM in FinancialOption

* Update gbm_demo.ipynb

* small change

* gbm changes

* gbm

* gbm changes

* Fix notebook errors in interactive plots and plots of QMCPy paths

* new plots

* fix

* Take out useless functions

* Remove useless functions from the code below.

* Update examples.ipynb

* Reproducing results from Larysa

* MAE

* averaged MAE for qmcpy + quantlib

* plot legend fix

* Change ME to MAE. Move code reload after import.

* Rerun examples

* Remove text output from Matplotlib and import statements that are not used.

* Increase readability and fix typos.

* Add README. Add headers to examples.ipynb.

* Update date. Fix a bug in plot_util.py

* Remove repeated lines

* Fix GBM documentation at http://127.0.0.1:8000/demos/GBM/gbm_demo/

* Update gbm_demo.ipynb

* fix typo and broken image of Fig 7 in gbm_demo's documentation

* deleted files

* Update README and averaged_mae.py

README.md:
* Corrected filename references.
* Removed references to non-existent files.

averaged_mae.py:
* Fixed PEP 8 spacing for parameter qp_seed and use the parameter in code.
*Enhanced documentation with.
*Removed an unused import.
* Cleaned up code by removing a commented-out block.

* Update mkdocs.yml

* Update mkdocs.yml

* Fix typos

* Change to develop branch for Colab button

* Update date

* Update examples.ipynb

* Update averaged_mae.py

* Address copilot review comments

* Match parent class's method signature

* Remove unnecessary space

* Update GBM demo

* updated plots

* fix typos + update examples notebook

* Fix typos.  Git rm .png.  Add testbook. Rename examples notebook.

* +doc strings. -test file and examples notebook.

* Update averaged_mae.py

* final updates

* Create gbm_todo

* Add TODO

* +1 item

* Make sure booktests.yml failed if failures occurred.

* Fix booktests failures

* Display actual Python exceptions in parsl_test_runner CI logs (#437)

* Initial plan

* Add error log capture and display in parsl_test_runner.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Simplify error logging by removing redundant stderr checks

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add error handling for log file reading operations

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: alegresor <agsorokin3@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add .md as file extension to TODO file. DONE some items in there.

* Fix testbook failures

* Fix testbook failures

* Fix remote CI failure in tb_linear_scrambled_halton.py

* Renamed demos/GBM/code/ to gbm_code. Update README.

* unified plotting function

* Add demos/GBM to sys.path

* Fixing broken tests

* Turn on execute=True

* Add quantlib

* + ipywidgets

* Use helper functions

* Shorten testbook runtime by injecting is_debug=True

* Update tb_gbm_examples.py

* Increase timeout. Add nbconvert.

* Workaround for now

* Update gbm to-do list

* Shorten run time of tb_joss.py

* Address PR review comments: fix typo, remove unused imports, clarify documentation (#442)

* Initial plan

* Fix typo and remove unused imports

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Clarify comment in tb_gbm_demo.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: Sou-Cheng Choi <schoi32@iit.edu>
Co-authored-by: Larysa Matiukha <123220119+larissensium@users.noreply.github.com>
Co-authored-by: Sou-Cheng Choi <terrya@192.168.1.218>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: alegresor <agsorokin3@gmail.com>
sou-cheng-choi added a commit that referenced this pull request Dec 23, 2025
* GBM code

* Fix doctest and inline documentation

* Fix typo. Add GBM to doc.

* GBM unit test

* Add _validate_input()

* Add fast unit tests for GBM

* Create gbm_demo.ipynb

* Add mean and covariance of GBM

* Speed up gen_samples using Parsl

* Interactive visualization.

* Add demo to documentation

* Minor improvements

* Revert "Minor improvements"

This reverts commit aeb3d5c.

* Revert "Interactive visualization."

This reverts commit 3b3f795.

* Update gbm_demo.ipynb

* Update gbm_demo.ipynb

* Add interactive visualization

* Add section title and some text before code

* Change input parameter to 2**n

* Add help

* clean up

* Delete workout

* Update gbm_demo.ipynb

* added to do list

* Update gbm_demo.ipynb

* Update gbm_demo.ipynb

* rendering widgets

* Update gbm_demo.ipynb

* gbm updates

* gbm edits

* Delete testing.py

* Delete test_geometric_brownian_motion.py

* Update geometric_brownian_motion_copy.py

* changes

* Update geometric_brownian_motion_copy.py

* Create testing.py

to see what results I'm gettinh

* Fix doctests

* Revert changes

* Fix GBM

* Remove testing.py

* add colab button

* Fix Colab button

* Clean up

* Clean up more

* Add QMCPy heat map for covariance

* Add _validate_samples only in long tests. Add _weight()

* Final change

* Add unit tests for (G)BM and more comprehensive gbm_demo notebook

* Accelerated GBM

* Add unit tests and remove useless methods

* Minor changes to gbm_demo

* Minor changes to demo

* Better latex table

* Restore .gitignore

* Fix latex error

* Add code and seed to QuantLib GBM with Sobol sampler

* Add minor changes and unit tests

* Update test_true_measures.py

* Use GBM instead of BM in FinancialOption

* Update gbm_demo.ipynb

* small change

* gbm changes

* gbm

* gbm changes

* Fix notebook errors in interactive plots and plots of QMCPy paths

* new plots

* fix

* Take out useless functions

* Remove useless functions from the code below.

* Update examples.ipynb

* Reproducing results from Larysa

* MAE

* averaged MAE for qmcpy + quantlib

* plot legend fix

* Change ME to MAE. Move code reload after import.

* Rerun examples

* Remove text output from Matplotlib and import statements that are not used.

* Increase readability and fix typos.

* Add README. Add headers to examples.ipynb.

* Update date. Fix a bug in plot_util.py

* Remove repeated lines

* Fix GBM documentation at http://127.0.0.1:8000/demos/GBM/gbm_demo/

* Update gbm_demo.ipynb

* fix typo and broken image of Fig 7 in gbm_demo's documentation

* deleted files

* Update README and averaged_mae.py

README.md:
* Corrected filename references.
* Removed references to non-existent files.

averaged_mae.py:
* Fixed PEP 8 spacing for parameter qp_seed and use the parameter in code.
*Enhanced documentation with.
*Removed an unused import.
* Cleaned up code by removing a commented-out block.

* Update mkdocs.yml

* Update mkdocs.yml

* Fix typos

* Change to develop branch for Colab button

* Update date

* Update examples.ipynb

* Update averaged_mae.py

* Address copilot review comments

* Match parent class's method signature

* Remove unnecessary space

* Update GBM demo

* updated plots

* fix typos + update examples notebook

* Fix typos.  Git rm .png.  Add testbook. Rename examples notebook.

* +doc strings. -test file and examples notebook.

* Update averaged_mae.py

* final updates

* Create gbm_todo

* Add TODO

* +1 item

* Make sure booktests.yml failed if failures occurred.

* Fix booktests failures

* Display actual Python exceptions in parsl_test_runner CI logs (#437)

* Initial plan

* Add error log capture and display in parsl_test_runner.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Simplify error logging by removing redundant stderr checks

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add error handling for log file reading operations

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: alegresor <agsorokin3@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add .md as file extension to TODO file. DONE some items in there.

* Fix testbook failures

* Fix testbook failures

* Fix remote CI failure in tb_linear_scrambled_halton.py

* Renamed demos/GBM/code/ to gbm_code. Update README.

* unified plotting function

* Add demos/GBM to sys.path

* Fixing broken tests

* Turn on execute=True

* Add quantlib

* + ipywidgets

* Use helper functions

* Shorten testbook runtime by injecting is_debug=True

* Update tb_gbm_examples.py

* Increase timeout. Add nbconvert.

* Workaround for now

* Update gbm to-do list

* Shorten run time of tb_joss.py

* Address PR review comments: fix typo, remove unused imports, clarify documentation (#442)

* Initial plan

* Fix typo and remove unused imports

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Clarify comment in tb_gbm_demo.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Fix a bug and speedup tb_jboss2025

* Fix paths

* Add seed for reproducible results

* Add seed value and fix path.

* Speed up tests. Add README.

* Add alltests,yml

* Update alltests.yml

* Install pytest-xdist

* Update alltests.yml

* Update alltests.yml

* Update alltests.yml

* Fix path

* Update alltests.yml

* Update all tests

* Install LaTeX on Windows

* Fix Windows LaTeX

* Update alltests.yml

* Fix latex on windows

* One more attempt to fix Windows booktest error

* Update alltests.yml

* Fix latex issues on WIndows

* Fix windows latex

* Update alltests.yml

* Update alltests.yml

* Take out ghostcript installation to save time

* All tests

* Update alltests.yml

* Fix typo

* Update alltests.yml

* Update alltests.yml

* Add documentation. Remove duplicate statements.

* Fix windows add swap space

* +Windows swap space

* Best effort pagefile

* Last try on windows pagefile

* Speed up tb_elliptic_pde.py. Suppress matplotlib outputs in Jupyter Notebook.

* Update tb_elliptic_pde.py

* Speed up a bit

* Skip unnecessary installation for Windows

* Speedup windows booktests

* More caching. Pytest-xdist for all OS.

* Comment out redundant statements

* Update alltests.yml

* Update alltests.yml

* Dynamically detect number of processors (workers)

* Revert and use 4 processors for WIndows Booktests

* Resolve reviews of copilot

* Disable two workflows

* Update alltests.yml

* Delay LaTeX Installations

* Fix LaTeX error involving geometry.sty not found

* Install LaTeX after Python dependencies

* Update __init__.py

* Fix windows LaTeX failures

* Take out redundant line

---------

Co-authored-by: Sou-Cheng Choi <schoi32@iit.edu>
Co-authored-by: Larysa Matiukha <123220119+larissensium@users.noreply.github.com>
Co-authored-by: Sou-Cheng Choi <terrya@192.168.1.218>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: alegresor <agsorokin3@gmail.com>
sou-cheng-choi added a commit that referenced this pull request Dec 27, 2025
* GBM code

* Fix doctest and inline documentation

* Fix typo. Add GBM to doc.

* GBM unit test

* Add _validate_input()

* Add fast unit tests for GBM

* Create gbm_demo.ipynb

* Add mean and covariance of GBM

* Speed up gen_samples using Parsl

* Interactive visualization.

* Add demo to documentation

* Minor improvements

* Revert "Minor improvements"

This reverts commit aeb3d5c.

* Revert "Interactive visualization."

This reverts commit 3b3f795.

* Update gbm_demo.ipynb

* Update gbm_demo.ipynb

* Add interactive visualization

* Add section title and some text before code

* Change input parameter to 2**n

* Add help

* clean up

* Delete workout

* Update gbm_demo.ipynb

* added to do list

* Update gbm_demo.ipynb

* Update gbm_demo.ipynb

* rendering widgets

* Update gbm_demo.ipynb

* gbm updates

* gbm edits

* Delete testing.py

* Delete test_geometric_brownian_motion.py

* Update geometric_brownian_motion_copy.py

* changes

* Update geometric_brownian_motion_copy.py

* Create testing.py

to see what results I'm gettinh

* Fix doctests

* Revert changes

* Fix GBM

* Remove testing.py

* add colab button

* Fix Colab button

* Clean up

* Clean up more

* Add QMCPy heat map for covariance

* Add _validate_samples only in long tests. Add _weight()

* Final change

* Add unit tests for (G)BM and more comprehensive gbm_demo notebook

* Accelerated GBM

* Add unit tests and remove useless methods

* Minor changes to gbm_demo

* Minor changes to demo

* Better latex table

* Restore .gitignore

* Fix latex error

* Add code and seed to QuantLib GBM with Sobol sampler

* Add minor changes and unit tests

* Update test_true_measures.py

* Use GBM instead of BM in FinancialOption

* Update gbm_demo.ipynb

* small change

* gbm changes

* gbm

* gbm changes

* Fix notebook errors in interactive plots and plots of QMCPy paths

* new plots

* fix

* Take out useless functions

* Remove useless functions from the code below.

* Update examples.ipynb

* Reproducing results from Larysa

* MAE

* averaged MAE for qmcpy + quantlib

* plot legend fix

* Change ME to MAE. Move code reload after import.

* Rerun examples

* Remove text output from Matplotlib and import statements that are not used.

* Increase readability and fix typos.

* Add README. Add headers to examples.ipynb.

* Update date. Fix a bug in plot_util.py

* Remove repeated lines

* Fix GBM documentation at http://127.0.0.1:8000/demos/GBM/gbm_demo/

* Update gbm_demo.ipynb

* fix typo and broken image of Fig 7 in gbm_demo's documentation

* deleted files

* Update README and averaged_mae.py

README.md:
* Corrected filename references.
* Removed references to non-existent files.

averaged_mae.py:
* Fixed PEP 8 spacing for parameter qp_seed and use the parameter in code.
*Enhanced documentation with.
*Removed an unused import.
* Cleaned up code by removing a commented-out block.

* Update mkdocs.yml

* Update mkdocs.yml

* Fix typos

* Change to develop branch for Colab button

* Update date

* Update examples.ipynb

* Update averaged_mae.py

* Address copilot review comments

* Match parent class's method signature

* Remove unnecessary space

* Update GBM demo

* updated plots

* fix typos + update examples notebook

* Fix typos.  Git rm .png.  Add testbook. Rename examples notebook.

* +doc strings. -test file and examples notebook.

* Update averaged_mae.py

* final updates

* Create gbm_todo

* Add TODO

* +1 item

* Make sure booktests.yml failed if failures occurred.

* Fix booktests failures

* Display actual Python exceptions in parsl_test_runner CI logs (#437)

* Initial plan

* Add error log capture and display in parsl_test_runner.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Simplify error logging by removing redundant stderr checks

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add error handling for log file reading operations

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: alegresor <agsorokin3@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add .md as file extension to TODO file. DONE some items in there.

* Fix testbook failures

* Fix testbook failures

* Fix remote CI failure in tb_linear_scrambled_halton.py

* Renamed demos/GBM/code/ to gbm_code. Update README.

* unified plotting function

* Add demos/GBM to sys.path

* Fixing broken tests

* Turn on execute=True

* Add quantlib

* + ipywidgets

* Use helper functions

* Shorten testbook runtime by injecting is_debug=True

* Update tb_gbm_examples.py

* Increase timeout. Add nbconvert.

* Workaround for now

* Update gbm to-do list

* Shorten run time of tb_joss.py

* Address PR review comments: fix typo, remove unused imports, clarify documentation (#442)

* Initial plan

* Fix typo and remove unused imports

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Clarify comment in tb_gbm_demo.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Fix a bug and speedup tb_jboss2025

* Fix paths

* Add seed for reproducible results

* Add seed value and fix path.

* Speed up tests. Add README.

* Add alltests,yml

* Update alltests.yml

* Install pytest-xdist

* Update alltests.yml

* Update alltests.yml

* Update alltests.yml

* Fix path

* Update alltests.yml

* Update all tests

* Install LaTeX on Windows

* Fix Windows LaTeX

* Update alltests.yml

* Fix latex on windows

* One more attempt to fix Windows booktest error

* Update alltests.yml

* Fix latex issues on WIndows

* Fix windows latex

* Update alltests.yml

* Update alltests.yml

* Take out ghostcript installation to save time

* All tests

* Update alltests.yml

* Fix typo

* Update alltests.yml

* Update alltests.yml

* Add documentation. Remove duplicate statements.

* Fix windows add swap space

* +Windows swap space

* Best effort pagefile

* Last try on windows pagefile

* Speed up tb_elliptic_pde.py. Suppress matplotlib outputs in Jupyter Notebook.

* Update tb_elliptic_pde.py

* Speed up a bit

* Skip unnecessary installation for Windows

* Speedup windows booktests

* More caching. Pytest-xdist for all OS.

* Comment out redundant statements

* Update alltests.yml

* Update alltests.yml

* Dynamically detect number of processors (workers)

* Revert and use 4 processors for WIndows Booktests

* Resolve reviews of copilot

* Disable two workflows

* Update alltests.yml

* Delay LaTeX Installations

* Fix LaTeX error involving geometry.sty not found

* Install LaTeX after Python dependencies

* Update __init__.py

* Fix windows LaTeX failures

* Take out redundant line

* Introduce debug mode. Delay LaTeX installation.

* Add memory

* Clear cache to free space

* Combine coverage reports

* Get one final coverage report

* Correctly remove .coverage on windows

* Update README on coverage and also commments

* Clear space

* Append coverage for Parsl BookTests. Update README.

* Display coverage report

* Simplify README. Fix combine coverage job

* More robut MikTex installation on Windows

* Fix coverage issue

* Update coverage combination

* Standardize test seeds to 7 and add trailing commas (#446)

* Initial plan

* Fix seed inconsistencies and add trailing commas per review feedback

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Find coverage files before combining

* fix failure of coverage combined report

* Update alltests.yml

* Fix coverage reports

* Fix coverage file detection to exclude .coveragerc

Changed line 371 to properly detect coverage data files while excluding .coveragerc configuration file, which was causing "No data to combine" errors.

* Fix coverage file detection in alltests.yml line 371

Changed line 371 from using compgen -G to using ls with grep to properly exclude .coveragerc configuration file and only match actual coverage data files (.coverage and .coverage.*).

This prevents the workflow from incorrectly detecting .coveragerc as a coverage data file.

* Update alltests.yml

* Revert and fix

* Remove combining report

* Summarize OS vs coverage

* Coverage reports for each OS

* Display final reports for Mac and Linux

* Update README.md

* +Code coverage badge

* Remove coverage reports in CI

* Speedup

* Remove and ignore coverage files. Update README.

---------

Co-authored-by: Sou-Cheng Choi <schoi32@iit.edu>
Co-authored-by: Larysa Matiukha <123220119+larissensium@users.noreply.github.com>
Co-authored-by: Sou-Cheng Choi <terrya@192.168.1.218>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: alegresor <agsorokin3@gmail.com>
sou-cheng-choi added a commit that referenced this pull request Dec 28, 2025
* Create gbm_demo.ipynb

* Add mean and covariance of GBM

* Speed up gen_samples using Parsl

* Interactive visualization.

* Add demo to documentation

* Minor improvements

* Revert "Minor improvements"

This reverts commit aeb3d5c.

* Revert "Interactive visualization."

This reverts commit 3b3f795.

* Update gbm_demo.ipynb

* Update gbm_demo.ipynb

* Add interactive visualization

* Add section title and some text before code

* Change input parameter to 2**n

* Add help

* clean up

* Delete workout

* Update gbm_demo.ipynb

* added to do list

* Update gbm_demo.ipynb

* Update gbm_demo.ipynb

* rendering widgets

* Update gbm_demo.ipynb

* gbm updates

* gbm edits

* Delete testing.py

* Delete test_geometric_brownian_motion.py

* Update geometric_brownian_motion_copy.py

* changes

* Update geometric_brownian_motion_copy.py

* Create testing.py

to see what results I'm gettinh

* Fix doctests

* Revert changes

* Fix GBM

* Remove testing.py

* add colab button

* Fix Colab button

* Clean up

* Clean up more

* Add QMCPy heat map for covariance

* Add _validate_samples only in long tests. Add _weight()

* Final change

* Add unit tests for (G)BM and more comprehensive gbm_demo notebook

* Accelerated GBM

* Add unit tests and remove useless methods

* Minor changes to gbm_demo

* Minor changes to demo

* Better latex table

* Restore .gitignore

* Fix latex error

* Add code and seed to QuantLib GBM with Sobol sampler

* Add minor changes and unit tests

* Update test_true_measures.py

* Use GBM instead of BM in FinancialOption

* Update gbm_demo.ipynb

* small change

* gbm changes

* gbm

* gbm changes

* Fix notebook errors in interactive plots and plots of QMCPy paths

* new plots

* fix

* Take out useless functions

* Remove useless functions from the code below.

* Update examples.ipynb

* Reproducing results from Larysa

* MAE

* averaged MAE for qmcpy + quantlib

* plot legend fix

* Change ME to MAE. Move code reload after import.

* Rerun examples

* Remove text output from Matplotlib and import statements that are not used.

* Increase readability and fix typos.

* Add README. Add headers to examples.ipynb.

* Update date. Fix a bug in plot_util.py

* Remove repeated lines

* Fix GBM documentation at http://127.0.0.1:8000/demos/GBM/gbm_demo/

* Update gbm_demo.ipynb

* fix typo and broken image of Fig 7 in gbm_demo's documentation

* deleted files

* Update README and averaged_mae.py

README.md:
* Corrected filename references.
* Removed references to non-existent files.

averaged_mae.py:
* Fixed PEP 8 spacing for parameter qp_seed and use the parameter in code.
*Enhanced documentation with.
*Removed an unused import.
* Cleaned up code by removing a commented-out block.

* Update mkdocs.yml

* Update mkdocs.yml

* Fix typos

* Change to develop branch for Colab button

* Update date

* Update examples.ipynb

* Update averaged_mae.py

* Address copilot review comments

* Match parent class's method signature

* Remove unnecessary space

* Update GBM demo

* updated plots

* fix typos + update examples notebook

* Fix typos.  Git rm .png.  Add testbook. Rename examples notebook.

* +doc strings. -test file and examples notebook.

* Update averaged_mae.py

* final updates

* Create gbm_todo

* Add TODO

* +1 item

* Make sure booktests.yml failed if failures occurred.

* Fix booktests failures

* Display actual Python exceptions in parsl_test_runner CI logs (#437)

* Initial plan

* Add error log capture and display in parsl_test_runner.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Simplify error logging by removing redundant stderr checks

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add error handling for log file reading operations

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: alegresor <agsorokin3@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add .md as file extension to TODO file. DONE some items in there.

* Fix testbook failures

* Fix testbook failures

* Fix remote CI failure in tb_linear_scrambled_halton.py

* Renamed demos/GBM/code/ to gbm_code. Update README.

* unified plotting function

* Add demos/GBM to sys.path

* Fixing broken tests

* Turn on execute=True

* Add quantlib

* + ipywidgets

* Use helper functions

* Shorten testbook runtime by injecting is_debug=True

* Update tb_gbm_examples.py

* Increase timeout. Add nbconvert.

* Workaround for now

* Update gbm to-do list

* Shorten run time of tb_joss.py

* Address PR review comments: fix typo, remove unused imports, clarify documentation (#442)

* Initial plan

* Fix typo and remove unused imports

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Clarify comment in tb_gbm_demo.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Fix a bug and speedup tb_jboss2025

* Fix paths

* Add seed for reproducible results

* Add seed value and fix path.

* Speed up tests. Add README.

* Add alltests,yml

* Update alltests.yml

* Install pytest-xdist

* Update alltests.yml

* Update alltests.yml

* Update alltests.yml

* Fix path

* Update alltests.yml

* Update all tests

* Install LaTeX on Windows

* Fix Windows LaTeX

* Update alltests.yml

* Fix latex on windows

* One more attempt to fix Windows booktest error

* Update alltests.yml

* Fix latex issues on WIndows

* Fix windows latex

* Update alltests.yml

* Update alltests.yml

* Take out ghostcript installation to save time

* All tests

* Update alltests.yml

* Fix typo

* Update alltests.yml

* Update alltests.yml

* Add documentation. Remove duplicate statements.

* Fix windows add swap space

* +Windows swap space

* Best effort pagefile

* Last try on windows pagefile

* Speed up tb_elliptic_pde.py. Suppress matplotlib outputs in Jupyter Notebook.

* Update tb_elliptic_pde.py

* Speed up a bit

* Skip unnecessary installation for Windows

* Speedup windows booktests

* More caching. Pytest-xdist for all OS.

* Comment out redundant statements

* Update alltests.yml

* Update alltests.yml

* Dynamically detect number of processors (workers)

* Revert and use 4 processors for WIndows Booktests

* Resolve reviews of copilot

* Disable two workflows

* Update alltests.yml

* Delay LaTeX Installations

* Fix LaTeX error involving geometry.sty not found

* Install LaTeX after Python dependencies

* Update __init__.py

* Fix windows LaTeX failures

* Take out redundant line

* Introduce debug mode. Delay LaTeX installation.

* Add memory

* Clear cache to free space

* Combine coverage reports

* Get one final coverage report

* Correctly remove .coverage on windows

* Update README on coverage and also commments

* Clear space

* Append coverage for Parsl BookTests. Update README.

* Display coverage report

* Simplify README. Fix combine coverage job

* More robut MikTex installation on Windows

* Fix coverage issue

* Update coverage combination

* Standardize test seeds to 7 and add trailing commas (#446)

* Initial plan

* Fix seed inconsistencies and add trailing commas per review feedback

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Find coverage files before combining

* fix failure of coverage combined report

* Update alltests.yml

* Fix coverage reports

* Fix coverage file detection to exclude .coveragerc

Changed line 371 to properly detect coverage data files while excluding .coveragerc configuration file, which was causing "No data to combine" errors.

* Fix coverage file detection in alltests.yml line 371

Changed line 371 from using compgen -G to using ls with grep to properly exclude .coveragerc configuration file and only match actual coverage data files (.coverage and .coverage.*).

This prevents the workflow from incorrectly detecting .coveragerc as a coverage data file.

* Update alltests.yml

* Revert and fix

* Remove combining report

* Summarize OS vs coverage

* Coverage reports for each OS

* Display final reports for Mac and Linux

* Update README.md

* +Code coverage badge

* Remove coverage reports in CI

* Speedup

* Remove and ignore coverage files. Update README.

* Skip slow notebook tests on windows

* import pytest

* Add seed values for reproducible test results

* Add seed value

* Mark 1 more slow test

* Add two targets in Makefile for reuse in alltests.yml.

* Revert "Add two targets in Makefile for reuse in alltests.yml."

This reverts commit 6f4cf4c.

* Remove duplicate target in makefile

* Remove useless import

* Increase coverage to 100% for qmcpy codebase

* Initial plan (#449)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

* Remove extra spaces

* Removed useless import

* removed useless import

* Add testing documentation for developers

---------

Co-authored-by: Larysa Matiukha <123220119+larissensium@users.noreply.github.com>
Co-authored-by: Sou-Cheng Choi <schoi32@iit.edu>
Co-authored-by: Sou-Cheng Choi <terrya@192.168.1.218>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: alegresor <agsorokin3@gmail.com>
sou-cheng-choi added a commit that referenced this pull request Jan 1, 2026
* Interactive visualization.

* Add demo to documentation

* Minor improvements

* Revert "Minor improvements"

This reverts commit aeb3d5c.

* Revert "Interactive visualization."

This reverts commit 3b3f795.

* Update gbm_demo.ipynb

* Update gbm_demo.ipynb

* Add interactive visualization

* Add section title and some text before code

* Change input parameter to 2**n

* Add help

* clean up

* Delete workout

* Update gbm_demo.ipynb

* added to do list

* Update gbm_demo.ipynb

* Update gbm_demo.ipynb

* rendering widgets

* Update gbm_demo.ipynb

* gbm updates

* gbm edits

* Delete testing.py

* Delete test_geometric_brownian_motion.py

* Update geometric_brownian_motion_copy.py

* changes

* Update geometric_brownian_motion_copy.py

* Create testing.py

to see what results I'm gettinh

* Fix doctests

* Revert changes

* Fix GBM

* Remove testing.py

* add colab button

* Fix Colab button

* Clean up

* Clean up more

* Add QMCPy heat map for covariance

* Add _validate_samples only in long tests. Add _weight()

* Final change

* Add unit tests for (G)BM and more comprehensive gbm_demo notebook

* Accelerated GBM

* Add unit tests and remove useless methods

* Minor changes to gbm_demo

* Minor changes to demo

* Better latex table

* Restore .gitignore

* Fix latex error

* Add code and seed to QuantLib GBM with Sobol sampler

* Add minor changes and unit tests

* Update test_true_measures.py

* Use GBM instead of BM in FinancialOption

* Update gbm_demo.ipynb

* small change

* gbm changes

* gbm

* gbm changes

* Fix notebook errors in interactive plots and plots of QMCPy paths

* new plots

* fix

* Take out useless functions

* Remove useless functions from the code below.

* Update examples.ipynb

* Reproducing results from Larysa

* MAE

* averaged MAE for qmcpy + quantlib

* plot legend fix

* Change ME to MAE. Move code reload after import.

* Rerun examples

* Remove text output from Matplotlib and import statements that are not used.

* Increase readability and fix typos.

* Add README. Add headers to examples.ipynb.

* Update date. Fix a bug in plot_util.py

* Remove repeated lines

* Fix GBM documentation at http://127.0.0.1:8000/demos/GBM/gbm_demo/

* Update gbm_demo.ipynb

* fix typo and broken image of Fig 7 in gbm_demo's documentation

* deleted files

* Update README and averaged_mae.py

README.md:
* Corrected filename references.
* Removed references to non-existent files.

averaged_mae.py:
* Fixed PEP 8 spacing for parameter qp_seed and use the parameter in code.
*Enhanced documentation with.
*Removed an unused import.
* Cleaned up code by removing a commented-out block.

* Update mkdocs.yml

* Update mkdocs.yml

* Fix typos

* Change to develop branch for Colab button

* Update date

* Update examples.ipynb

* Update averaged_mae.py

* Address copilot review comments

* Match parent class's method signature

* Remove unnecessary space

* Update GBM demo

* updated plots

* fix typos + update examples notebook

* Fix typos.  Git rm .png.  Add testbook. Rename examples notebook.

* +doc strings. -test file and examples notebook.

* Update averaged_mae.py

* final updates

* Create gbm_todo

* Add TODO

* +1 item

* Make sure booktests.yml failed if failures occurred.

* Fix booktests failures

* Display actual Python exceptions in parsl_test_runner CI logs (#437)

* Initial plan

* Add error log capture and display in parsl_test_runner.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Simplify error logging by removing redundant stderr checks

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add error handling for log file reading operations

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: alegresor <agsorokin3@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add .md as file extension to TODO file. DONE some items in there.

* Fix testbook failures

* Fix testbook failures

* Fix remote CI failure in tb_linear_scrambled_halton.py

* Renamed demos/GBM/code/ to gbm_code. Update README.

* unified plotting function

* Add demos/GBM to sys.path

* Fixing broken tests

* Turn on execute=True

* Add quantlib

* + ipywidgets

* Use helper functions

* Shorten testbook runtime by injecting is_debug=True

* Update tb_gbm_examples.py

* Increase timeout. Add nbconvert.

* Workaround for now

* Update gbm to-do list

* Shorten run time of tb_joss.py

* Address PR review comments: fix typo, remove unused imports, clarify documentation (#442)

* Initial plan

* Fix typo and remove unused imports

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Clarify comment in tb_gbm_demo.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Fix a bug and speedup tb_jboss2025

* Fix paths

* Add seed for reproducible results

* Add seed value and fix path.

* Speed up tests. Add README.

* Add alltests,yml

* Update alltests.yml

* Install pytest-xdist

* Update alltests.yml

* Update alltests.yml

* Update alltests.yml

* Fix path

* Update alltests.yml

* Update all tests

* Install LaTeX on Windows

* Fix Windows LaTeX

* Update alltests.yml

* Fix latex on windows

* One more attempt to fix Windows booktest error

* Update alltests.yml

* Fix latex issues on WIndows

* Fix windows latex

* Update alltests.yml

* Update alltests.yml

* Take out ghostcript installation to save time

* All tests

* Update alltests.yml

* Fix typo

* Update alltests.yml

* Update alltests.yml

* Add documentation. Remove duplicate statements.

* Fix windows add swap space

* +Windows swap space

* Best effort pagefile

* Last try on windows pagefile

* Speed up tb_elliptic_pde.py. Suppress matplotlib outputs in Jupyter Notebook.

* Update tb_elliptic_pde.py

* Speed up a bit

* Skip unnecessary installation for Windows

* Speedup windows booktests

* More caching. Pytest-xdist for all OS.

* Comment out redundant statements

* Update alltests.yml

* Update alltests.yml

* Dynamically detect number of processors (workers)

* Revert and use 4 processors for WIndows Booktests

* Resolve reviews of copilot

* Disable two workflows

* Update alltests.yml

* Delay LaTeX Installations

* Fix LaTeX error involving geometry.sty not found

* Install LaTeX after Python dependencies

* Update __init__.py

* Fix windows LaTeX failures

* Take out redundant line

* Introduce debug mode. Delay LaTeX installation.

* Add memory

* Clear cache to free space

* Combine coverage reports

* Get one final coverage report

* Correctly remove .coverage on windows

* Update README on coverage and also commments

* Clear space

* Append coverage for Parsl BookTests. Update README.

* Display coverage report

* Simplify README. Fix combine coverage job

* More robut MikTex installation on Windows

* Fix coverage issue

* Update coverage combination

* Standardize test seeds to 7 and add trailing commas (#446)

* Initial plan

* Fix seed inconsistencies and add trailing commas per review feedback

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Find coverage files before combining

* fix failure of coverage combined report

* Update alltests.yml

* Fix coverage reports

* Fix coverage file detection to exclude .coveragerc

Changed line 371 to properly detect coverage data files while excluding .coveragerc configuration file, which was causing "No data to combine" errors.

* Fix coverage file detection in alltests.yml line 371

Changed line 371 from using compgen -G to using ls with grep to properly exclude .coveragerc configuration file and only match actual coverage data files (.coverage and .coverage.*).

This prevents the workflow from incorrectly detecting .coveragerc as a coverage data file.

* Update alltests.yml

* Revert and fix

* Remove combining report

* Summarize OS vs coverage

* Coverage reports for each OS

* Display final reports for Mac and Linux

* Update README.md

* +Code coverage badge

* Remove coverage reports in CI

* Speedup

* Remove and ignore coverage files. Update README.

* Skip slow notebook tests on windows

* import pytest

* Add seed values for reproducible test results

* Add seed value

* Mark 1 more slow test

* Add two targets in Makefile for reuse in alltests.yml.

* Revert "Add two targets in Makefile for reuse in alltests.yml."

This reverts commit 6f4cf4c.

* Remove duplicate target in makefile

* Remove useless import

* Increase coverage to 100% for qmcpy codebase

* Initial plan (#449)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

* Remove extra spaces

* Removed useless import

* removed useless import

* Add testing documentation for developers

* Enhance code and doc readability

* Add tests documentation for developers

* Update .gitignore

---------

Co-authored-by: Sou-Cheng Choi <schoi32@iit.edu>
Co-authored-by: Larysa Matiukha <123220119+larissensium@users.noreply.github.com>
Co-authored-by: Sou-Cheng Choi <terrya@192.168.1.218>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: alegresor <agsorokin3@gmail.com>
sou-cheng-choi added a commit that referenced this pull request Jan 2, 2026
* Delete testing.py

* Delete test_geometric_brownian_motion.py

* Update geometric_brownian_motion_copy.py

* changes

* Update geometric_brownian_motion_copy.py

* Create testing.py

to see what results I'm gettinh

* Fix doctests

* Revert changes

* Fix GBM

* Remove testing.py

* add colab button

* Fix Colab button

* Clean up

* Clean up more

* Add QMCPy heat map for covariance

* Add _validate_samples only in long tests. Add _weight()

* Final change

* Add unit tests for (G)BM and more comprehensive gbm_demo notebook

* Accelerated GBM

* Add unit tests and remove useless methods

* Minor changes to gbm_demo

* Minor changes to demo

* Better latex table

* Restore .gitignore

* Fix latex error

* Add code and seed to QuantLib GBM with Sobol sampler

* Add minor changes and unit tests

* Update test_true_measures.py

* Use GBM instead of BM in FinancialOption

* Update gbm_demo.ipynb

* small change

* gbm changes

* gbm

* gbm changes

* Fix notebook errors in interactive plots and plots of QMCPy paths

* new plots

* fix

* Take out useless functions

* Remove useless functions from the code below.

* Update examples.ipynb

* Reproducing results from Larysa

* MAE

* averaged MAE for qmcpy + quantlib

* plot legend fix

* Change ME to MAE. Move code reload after import.

* Rerun examples

* Remove text output from Matplotlib and import statements that are not used.

* Increase readability and fix typos.

* Add README. Add headers to examples.ipynb.

* Update date. Fix a bug in plot_util.py

* Remove repeated lines

* Fix GBM documentation at http://127.0.0.1:8000/demos/GBM/gbm_demo/

* Update gbm_demo.ipynb

* fix typo and broken image of Fig 7 in gbm_demo's documentation

* deleted files

* Update README and averaged_mae.py

README.md:
* Corrected filename references.
* Removed references to non-existent files.

averaged_mae.py:
* Fixed PEP 8 spacing for parameter qp_seed and use the parameter in code.
*Enhanced documentation with.
*Removed an unused import.
* Cleaned up code by removing a commented-out block.

* Update mkdocs.yml

* Update mkdocs.yml

* Fix typos

* Change to develop branch for Colab button

* Update date

* Update examples.ipynb

* Update averaged_mae.py

* Address copilot review comments

* Match parent class's method signature

* Remove unnecessary space

* Update GBM demo

* updated plots

* fix typos + update examples notebook

* Fix typos.  Git rm .png.  Add testbook. Rename examples notebook.

* +doc strings. -test file and examples notebook.

* Update averaged_mae.py

* final updates

* Create gbm_todo

* Add TODO

* +1 item

* Make sure booktests.yml failed if failures occurred.

* Fix booktests failures

* Display actual Python exceptions in parsl_test_runner CI logs (#437)

* Initial plan

* Add error log capture and display in parsl_test_runner.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Simplify error logging by removing redundant stderr checks

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add error handling for log file reading operations

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: alegresor <agsorokin3@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add .md as file extension to TODO file. DONE some items in there.

* Fix testbook failures

* Fix testbook failures

* Fix remote CI failure in tb_linear_scrambled_halton.py

* Renamed demos/GBM/code/ to gbm_code. Update README.

* unified plotting function

* Add demos/GBM to sys.path

* Fixing broken tests

* Turn on execute=True

* Add quantlib

* + ipywidgets

* Use helper functions

* Shorten testbook runtime by injecting is_debug=True

* Update tb_gbm_examples.py

* Increase timeout. Add nbconvert.

* Workaround for now

* Update gbm to-do list

* Shorten run time of tb_joss.py

* Address PR review comments: fix typo, remove unused imports, clarify documentation (#442)

* Initial plan

* Fix typo and remove unused imports

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Clarify comment in tb_gbm_demo.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Fix a bug and speedup tb_jboss2025

* Fix paths

* Add seed for reproducible results

* Add seed value and fix path.

* Speed up tests. Add README.

* Add alltests,yml

* Update alltests.yml

* Install pytest-xdist

* Update alltests.yml

* Update alltests.yml

* Update alltests.yml

* Fix path

* Update alltests.yml

* Update all tests

* Install LaTeX on Windows

* Fix Windows LaTeX

* Update alltests.yml

* Fix latex on windows

* One more attempt to fix Windows booktest error

* Update alltests.yml

* Fix latex issues on WIndows

* Fix windows latex

* Update alltests.yml

* Update alltests.yml

* Take out ghostcript installation to save time

* All tests

* Update alltests.yml

* Fix typo

* Update alltests.yml

* Update alltests.yml

* Add documentation. Remove duplicate statements.

* Fix windows add swap space

* +Windows swap space

* Best effort pagefile

* Last try on windows pagefile

* Speed up tb_elliptic_pde.py. Suppress matplotlib outputs in Jupyter Notebook.

* Update tb_elliptic_pde.py

* Speed up a bit

* Skip unnecessary installation for Windows

* Speedup windows booktests

* More caching. Pytest-xdist for all OS.

* Comment out redundant statements

* Update alltests.yml

* Update alltests.yml

* Dynamically detect number of processors (workers)

* Revert and use 4 processors for WIndows Booktests

* Resolve reviews of copilot

* Disable two workflows

* Update alltests.yml

* Delay LaTeX Installations

* Fix LaTeX error involving geometry.sty not found

* Install LaTeX after Python dependencies

* Update __init__.py

* Fix windows LaTeX failures

* Take out redundant line

* Introduce debug mode. Delay LaTeX installation.

* Add memory

* Clear cache to free space

* Combine coverage reports

* Get one final coverage report

* Correctly remove .coverage on windows

* Update README on coverage and also commments

* Clear space

* Append coverage for Parsl BookTests. Update README.

* Display coverage report

* Simplify README. Fix combine coverage job

* More robut MikTex installation on Windows

* Fix coverage issue

* Update coverage combination

* Standardize test seeds to 7 and add trailing commas (#446)

* Initial plan

* Fix seed inconsistencies and add trailing commas per review feedback

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Find coverage files before combining

* fix failure of coverage combined report

* Update alltests.yml

* Fix coverage reports

* Fix coverage file detection to exclude .coveragerc

Changed line 371 to properly detect coverage data files while excluding .coveragerc configuration file, which was causing "No data to combine" errors.

* Fix coverage file detection in alltests.yml line 371

Changed line 371 from using compgen -G to using ls with grep to properly exclude .coveragerc configuration file and only match actual coverage data files (.coverage and .coverage.*).

This prevents the workflow from incorrectly detecting .coveragerc as a coverage data file.

* Update alltests.yml

* Revert and fix

* Remove combining report

* Summarize OS vs coverage

* Coverage reports for each OS

* Display final reports for Mac and Linux

* Update README.md

* +Code coverage badge

* Remove coverage reports in CI

* Speedup

* Remove and ignore coverage files. Update README.

* Skip slow notebook tests on windows

* import pytest

* Add seed values for reproducible test results

* Add seed value

* Mark 1 more slow test

* Add two targets in Makefile for reuse in alltests.yml.

* Revert "Add two targets in Makefile for reuse in alltests.yml."

This reverts commit 6f4cf4c.

* Remove duplicate target in makefile

* Remove useless import

* Increase coverage to 100% for qmcpy codebase

* Initial plan (#449)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

* Remove extra spaces

* Removed useless import

* removed useless import

* Add testing documentation for developers

* Enhance code and doc readability

* Add tests documentation for developers

* Update .gitignore

* Add comments to makefile

* Speedup time consuming tests

* Remove a redundant function. Change notebook in memory or on disk.

* Install Windows MikTex with retry

* Update alltests.yml

* Add -y flag

* Speed up test/booktests/tb_asian_option_mlqmc.py

* Speed up

* speedup tb_iris

* Update iris.ipynb

* Speedup tb_vectorized_qmc_bayes.py

* Speedup test/booktests/tb_gaussian_diagnostics_demo.py

* Speedup tb_ray_tracing.py

* Speedup tb_vectorized_qmc

* Speedup test/booktests/tb_qei_demo_for_blog.py

* Update tb_digital_net_b2.py

* Update kernel name and python version

* Update alltests.yml

* Apply PR review feedback: fix whitespace and simplify parameter passing (#453)

* Initial plan

* Apply review comments: fix whitespace and simplify parameter

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Speedup further

* Update tb_gbm_demo.py

* Update tb_gbm_demo.py

---------

Co-authored-by: Larysa Matiukha <123220119+larissensium@users.noreply.github.com>
Co-authored-by: Sou-Cheng Choi <schoi32@iit.edu>
Co-authored-by: Sou-Cheng Choi <terrya@192.168.1.218>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: alegresor <agsorokin3@gmail.com>
sou-cheng-choi added a commit that referenced this pull request Jan 5, 2026
* Revert changes

* Fix GBM

* Remove testing.py

* add colab button

* Fix Colab button

* Clean up

* Clean up more

* Add QMCPy heat map for covariance

* Add _validate_samples only in long tests. Add _weight()

* Final change

* Add unit tests for (G)BM and more comprehensive gbm_demo notebook

* Accelerated GBM

* Add unit tests and remove useless methods

* Minor changes to gbm_demo

* Minor changes to demo

* Better latex table

* Restore .gitignore

* Fix latex error

* Add code and seed to QuantLib GBM with Sobol sampler

* Add minor changes and unit tests

* Update test_true_measures.py

* Use GBM instead of BM in FinancialOption

* Update gbm_demo.ipynb

* small change

* gbm changes

* gbm

* gbm changes

* Fix notebook errors in interactive plots and plots of QMCPy paths

* new plots

* fix

* Take out useless functions

* Remove useless functions from the code below.

* Update examples.ipynb

* Reproducing results from Larysa

* MAE

* averaged MAE for qmcpy + quantlib

* plot legend fix

* Change ME to MAE. Move code reload after import.

* Rerun examples

* Remove text output from Matplotlib and import statements that are not used.

* Increase readability and fix typos.

* Add README. Add headers to examples.ipynb.

* Update date. Fix a bug in plot_util.py

* Remove repeated lines

* Fix GBM documentation at http://127.0.0.1:8000/demos/GBM/gbm_demo/

* Update gbm_demo.ipynb

* fix typo and broken image of Fig 7 in gbm_demo's documentation

* deleted files

* Update README and averaged_mae.py

README.md:
* Corrected filename references.
* Removed references to non-existent files.

averaged_mae.py:
* Fixed PEP 8 spacing for parameter qp_seed and use the parameter in code.
*Enhanced documentation with.
*Removed an unused import.
* Cleaned up code by removing a commented-out block.

* Update mkdocs.yml

* Update mkdocs.yml

* Fix typos

* Change to develop branch for Colab button

* Update date

* Update examples.ipynb

* Update averaged_mae.py

* Address copilot review comments

* Match parent class's method signature

* Remove unnecessary space

* Update GBM demo

* updated plots

* fix typos + update examples notebook

* Fix typos.  Git rm .png.  Add testbook. Rename examples notebook.

* +doc strings. -test file and examples notebook.

* Update averaged_mae.py

* final updates

* Create gbm_todo

* Add TODO

* +1 item

* Make sure booktests.yml failed if failures occurred.

* Fix booktests failures

* Display actual Python exceptions in parsl_test_runner CI logs (#437)

* Initial plan

* Add error log capture and display in parsl_test_runner.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Simplify error logging by removing redundant stderr checks

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add error handling for log file reading operations

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: alegresor <agsorokin3@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add .md as file extension to TODO file. DONE some items in there.

* Fix testbook failures

* Fix testbook failures

* Fix remote CI failure in tb_linear_scrambled_halton.py

* Renamed demos/GBM/code/ to gbm_code. Update README.

* unified plotting function

* Add demos/GBM to sys.path

* Fixing broken tests

* Turn on execute=True

* Add quantlib

* + ipywidgets

* Use helper functions

* Shorten testbook runtime by injecting is_debug=True

* Update tb_gbm_examples.py

* Increase timeout. Add nbconvert.

* Workaround for now

* Update gbm to-do list

* Shorten run time of tb_joss.py

* Address PR review comments: fix typo, remove unused imports, clarify documentation (#442)

* Initial plan

* Fix typo and remove unused imports

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Clarify comment in tb_gbm_demo.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Fix a bug and speedup tb_jboss2025

* Fix paths

* Add seed for reproducible results

* Add seed value and fix path.

* Speed up tests. Add README.

* Add alltests,yml

* Update alltests.yml

* Install pytest-xdist

* Update alltests.yml

* Update alltests.yml

* Update alltests.yml

* Fix path

* Update alltests.yml

* Update all tests

* Install LaTeX on Windows

* Fix Windows LaTeX

* Update alltests.yml

* Fix latex on windows

* One more attempt to fix Windows booktest error

* Update alltests.yml

* Fix latex issues on WIndows

* Fix windows latex

* Update alltests.yml

* Update alltests.yml

* Take out ghostcript installation to save time

* All tests

* Update alltests.yml

* Fix typo

* Update alltests.yml

* Update alltests.yml

* Add documentation. Remove duplicate statements.

* Fix windows add swap space

* +Windows swap space

* Best effort pagefile

* Last try on windows pagefile

* Speed up tb_elliptic_pde.py. Suppress matplotlib outputs in Jupyter Notebook.

* Update tb_elliptic_pde.py

* Speed up a bit

* Skip unnecessary installation for Windows

* Speedup windows booktests

* More caching. Pytest-xdist for all OS.

* Comment out redundant statements

* Update alltests.yml

* Update alltests.yml

* Dynamically detect number of processors (workers)

* Revert and use 4 processors for WIndows Booktests

* Resolve reviews of copilot

* Disable two workflows

* Update alltests.yml

* Delay LaTeX Installations

* Fix LaTeX error involving geometry.sty not found

* Install LaTeX after Python dependencies

* Update __init__.py

* Fix windows LaTeX failures

* Take out redundant line

* Introduce debug mode. Delay LaTeX installation.

* Add memory

* Clear cache to free space

* Combine coverage reports

* Get one final coverage report

* Correctly remove .coverage on windows

* Update README on coverage and also commments

* Clear space

* Append coverage for Parsl BookTests. Update README.

* Display coverage report

* Simplify README. Fix combine coverage job

* More robut MikTex installation on Windows

* Fix coverage issue

* Update coverage combination

* Standardize test seeds to 7 and add trailing commas (#446)

* Initial plan

* Fix seed inconsistencies and add trailing commas per review feedback

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Find coverage files before combining

* fix failure of coverage combined report

* Update alltests.yml

* Fix coverage reports

* Fix coverage file detection to exclude .coveragerc

Changed line 371 to properly detect coverage data files while excluding .coveragerc configuration file, which was causing "No data to combine" errors.

* Fix coverage file detection in alltests.yml line 371

Changed line 371 from using compgen -G to using ls with grep to properly exclude .coveragerc configuration file and only match actual coverage data files (.coverage and .coverage.*).

This prevents the workflow from incorrectly detecting .coveragerc as a coverage data file.

* Update alltests.yml

* Revert and fix

* Remove combining report

* Summarize OS vs coverage

* Coverage reports for each OS

* Display final reports for Mac and Linux

* Update README.md

* +Code coverage badge

* Remove coverage reports in CI

* Speedup

* Remove and ignore coverage files. Update README.

* Skip slow notebook tests on windows

* import pytest

* Add seed values for reproducible test results

* Add seed value

* Mark 1 more slow test

* Add two targets in Makefile for reuse in alltests.yml.

* Revert "Add two targets in Makefile for reuse in alltests.yml."

This reverts commit 6f4cf4c.

* Remove duplicate target in makefile

* Remove useless import

* Increase coverage to 100% for qmcpy codebase

* Initial plan (#449)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

* Remove extra spaces

* Removed useless import

* removed useless import

* Add testing documentation for developers

* Enhance code and doc readability

* Add tests documentation for developers

* Update .gitignore

* Add comments to makefile

* Speedup time consuming tests

* Remove a redundant function. Change notebook in memory or on disk.

* Install Windows MikTex with retry

* Update alltests.yml

* Add -y flag

* Speed up test/booktests/tb_asian_option_mlqmc.py

* Speed up

* speedup tb_iris

* Update iris.ipynb

* Speedup tb_vectorized_qmc_bayes.py

* Speedup test/booktests/tb_gaussian_diagnostics_demo.py

* Speedup tb_ray_tracing.py

* Speedup tb_vectorized_qmc

* Speedup test/booktests/tb_qei_demo_for_blog.py

* Update tb_digital_net_b2.py

* Update kernel name and python version

* Update alltests.yml

* Apply PR review feedback: fix whitespace and simplify parameter passing (#453)

* Initial plan

* Apply review comments: fix whitespace and simplify parameter

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Speedup further

* Update tb_gbm_demo.py

* Update tb_gbm_demo.py

* Update alltests.yml

* Add unit tests workflow

* Update unittests.yml

* Change Name

* Update README.md

* Update workflows

* Update tb_qei_demo_for_blog.py

* Initial plan (#455)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

---------

Co-authored-by: Sou-Cheng Choi <schoi32@iit.edu>
Co-authored-by: Larysa Matiukha <123220119+larissensium@users.noreply.github.com>
Co-authored-by: Sou-Cheng Choi <terrya@192.168.1.218>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: alegresor <agsorokin3@gmail.com>
sou-cheng-choi added a commit that referenced this pull request Jan 15, 2026
* Restore .gitignore

* Fix latex error

* Add code and seed to QuantLib GBM with Sobol sampler

* Add minor changes and unit tests

* Update test_true_measures.py

* Use GBM instead of BM in FinancialOption

* Update gbm_demo.ipynb

* small change

* gbm changes

* gbm

* gbm changes

* Fix notebook errors in interactive plots and plots of QMCPy paths

* new plots

* fix

* Take out useless functions

* Remove useless functions from the code below.

* Update examples.ipynb

* Reproducing results from Larysa

* MAE

* averaged MAE for qmcpy + quantlib

* plot legend fix

* Change ME to MAE. Move code reload after import.

* Rerun examples

* Remove text output from Matplotlib and import statements that are not used.

* Increase readability and fix typos.

* Add README. Add headers to examples.ipynb.

* Update date. Fix a bug in plot_util.py

* Remove repeated lines

* Fix GBM documentation at http://127.0.0.1:8000/demos/GBM/gbm_demo/

* Update gbm_demo.ipynb

* fix typo and broken image of Fig 7 in gbm_demo's documentation

* deleted files

* Update README and averaged_mae.py

README.md:
* Corrected filename references.
* Removed references to non-existent files.

averaged_mae.py:
* Fixed PEP 8 spacing for parameter qp_seed and use the parameter in code.
*Enhanced documentation with.
*Removed an unused import.
* Cleaned up code by removing a commented-out block.

* Update mkdocs.yml

* Update mkdocs.yml

* Fix typos

* Change to develop branch for Colab button

* Update date

* Update examples.ipynb

* Update averaged_mae.py

* Address copilot review comments

* Match parent class's method signature

* Remove unnecessary space

* Update GBM demo

* updated plots

* fix typos + update examples notebook

* Fix typos.  Git rm .png.  Add testbook. Rename examples notebook.

* +doc strings. -test file and examples notebook.

* Update averaged_mae.py

* final updates

* Create gbm_todo

* Add TODO

* +1 item

* Make sure booktests.yml failed if failures occurred.

* Fix booktests failures

* Display actual Python exceptions in parsl_test_runner CI logs (#437)

* Initial plan

* Add error log capture and display in parsl_test_runner.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Simplify error logging by removing redundant stderr checks

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add error handling for log file reading operations

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: alegresor <agsorokin3@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Add .md as file extension to TODO file. DONE some items in there.

* Fix testbook failures

* Fix testbook failures

* Fix remote CI failure in tb_linear_scrambled_halton.py

* Renamed demos/GBM/code/ to gbm_code. Update README.

* unified plotting function

* Add demos/GBM to sys.path

* Fixing broken tests

* Turn on execute=True

* Add quantlib

* + ipywidgets

* Use helper functions

* Shorten testbook runtime by injecting is_debug=True

* Update tb_gbm_examples.py

* Increase timeout. Add nbconvert.

* Workaround for now

* Update gbm to-do list

* Shorten run time of tb_joss.py

* Address PR review comments: fix typo, remove unused imports, clarify documentation (#442)

* Initial plan

* Fix typo and remove unused imports

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Clarify comment in tb_gbm_demo.py

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Fix a bug and speedup tb_jboss2025

* Fix paths

* Add seed for reproducible results

* Add seed value and fix path.

* Speed up tests. Add README.

* Add alltests,yml

* Update alltests.yml

* Install pytest-xdist

* Update alltests.yml

* Update alltests.yml

* Update alltests.yml

* Fix path

* Update alltests.yml

* Update all tests

* Install LaTeX on Windows

* Fix Windows LaTeX

* Update alltests.yml

* Fix latex on windows

* One more attempt to fix Windows booktest error

* Update alltests.yml

* Fix latex issues on WIndows

* Fix windows latex

* Update alltests.yml

* Update alltests.yml

* Take out ghostcript installation to save time

* All tests

* Update alltests.yml

* Fix typo

* Update alltests.yml

* Update alltests.yml

* Add documentation. Remove duplicate statements.

* Fix windows add swap space

* +Windows swap space

* Best effort pagefile

* Last try on windows pagefile

* Speed up tb_elliptic_pde.py. Suppress matplotlib outputs in Jupyter Notebook.

* Update tb_elliptic_pde.py

* Speed up a bit

* Skip unnecessary installation for Windows

* Speedup windows booktests

* More caching. Pytest-xdist for all OS.

* Comment out redundant statements

* Update alltests.yml

* Update alltests.yml

* Dynamically detect number of processors (workers)

* Revert and use 4 processors for WIndows Booktests

* Resolve reviews of copilot

* Disable two workflows

* Update alltests.yml

* Delay LaTeX Installations

* Fix LaTeX error involving geometry.sty not found

* Install LaTeX after Python dependencies

* Update __init__.py

* Fix windows LaTeX failures

* Take out redundant line

* Introduce debug mode. Delay LaTeX installation.

* Add memory

* Clear cache to free space

* Combine coverage reports

* Get one final coverage report

* Correctly remove .coverage on windows

* Update README on coverage and also commments

* Clear space

* Append coverage for Parsl BookTests. Update README.

* Display coverage report

* Simplify README. Fix combine coverage job

* More robut MikTex installation on Windows

* Fix coverage issue

* Update coverage combination

* Standardize test seeds to 7 and add trailing commas (#446)

* Initial plan

* Fix seed inconsistencies and add trailing commas per review feedback

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Find coverage files before combining

* fix failure of coverage combined report

* Update alltests.yml

* Fix coverage reports

* Fix coverage file detection to exclude .coveragerc

Changed line 371 to properly detect coverage data files while excluding .coveragerc configuration file, which was causing "No data to combine" errors.

* Fix coverage file detection in alltests.yml line 371

Changed line 371 from using compgen -G to using ls with grep to properly exclude .coveragerc configuration file and only match actual coverage data files (.coverage and .coverage.*).

This prevents the workflow from incorrectly detecting .coveragerc as a coverage data file.

* Update alltests.yml

* Revert and fix

* Remove combining report

* Summarize OS vs coverage

* Coverage reports for each OS

* Display final reports for Mac and Linux

* Update README.md

* +Code coverage badge

* Remove coverage reports in CI

* Speedup

* Remove and ignore coverage files. Update README.

* Skip slow notebook tests on windows

* import pytest

* Add seed values for reproducible test results

* Add seed value

* Mark 1 more slow test

* Add two targets in Makefile for reuse in alltests.yml.

* Revert "Add two targets in Makefile for reuse in alltests.yml."

This reverts commit 6f4cf4c.

* Remove duplicate target in makefile

* Remove useless import

* Increase coverage to 100% for qmcpy codebase

* Initial plan (#449)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

* Remove extra spaces

* Removed useless import

* removed useless import

* Add testing documentation for developers

* Enhance code and doc readability

* Add tests documentation for developers

* Update .gitignore

* Fix tests

* Update tb_gbm_demo.py

* Add comments to makefile

* Speedup time consuming tests

* Remove a redundant function. Change notebook in memory or on disk.

* Install Windows MikTex with retry

* Update alltests.yml

* Add -y flag

* Speed up test/booktests/tb_asian_option_mlqmc.py

* Speed up

* speedup tb_iris

* Update iris.ipynb

* Speedup tb_vectorized_qmc_bayes.py

* Speedup test/booktests/tb_gaussian_diagnostics_demo.py

* Speedup tb_ray_tracing.py

* Speedup tb_vectorized_qmc

* Speedup test/booktests/tb_qei_demo_for_blog.py

* Update tb_digital_net_b2.py

* Update kernel name and python version

* Update alltests.yml

* Apply PR review feedback: fix whitespace and simplify parameter passing (#453)

* Initial plan

* Apply review comments: fix whitespace and simplify parameter

Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>

* Speed up tb_gbm_demo

* Delete tb_plot_proj_function.py

* Create tb_plot_proj_function.py

* Delete tb_portfolio_allocation_demo.py

* Update tb_gbm_demo.py

* Add skip and stop patterns

* Update __init__.py

* Update gbm_todo.md

* averaged results for fig_6

* Update gbm_demo.ipynb

* fix

* Update demos/GBM/gbm_code/data_util.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix test failures

* PEP8

* Update tb_gbm_demo.py

* Speed up test/booktests/tb_gbm_demo.py

* Removed commented function

* Add docstrings to add_quantlib_results and add_qmcpy_results

Addresses Copilot code review feedback on PR #477:
- Added docstrings explaining per-replication mean parameters
- Documented MAE calculation methodology
- Explained function parameters and return behavior

* Render math in GBM docstrings: wrap E[S_T] and S_T with $...$

Improve mkdocs/Katex rendering of theoretical moments in GBM demos

* Minor changes

* Remove '#' from stop_at_pattern in test file

* Normalize cell source to a single string

---------

Co-authored-by: Sou-Cheng Choi <terrya@192.168.1.218>
Co-authored-by: sou-cheng-choi <sou.cheng.choi@stanfordalumni.org>
Co-authored-by: sou-cheng-choi <schoi32@illinoistech.edu>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: alegresor <agsorokin3@gmail.com>
Co-authored-by: sou-cheng-choi <18743024+sou-cheng-choi@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants