Hit:1 https://cloud.r-project.org/bin/linux/ubuntu noble-cran40/ InRelease
Hit:2 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Hit:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Hit:5 http://security.ubuntu.com/ubuntu noble-security InRelease
Reading package lists...
W: https://cloud.r-project.org/bin/linux/ubuntu/noble-cran40/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
Reading package lists...
Building dependency tree...
Reading state information...
The following package was automatically installed and is no longer required:
  pkg-config
Use 'apt autoremove' to remove it.
The following NEW packages will be installed:
  curl
0 upgraded, 1 newly installed, 0 to remove and 42 not upgraded.
Need to get 226 kB of archives.
After this operation, 536 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 curl amd64 8.5.0-2ubuntu10.13 [226 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 226 kB in 1s (231 kB/s)
Selecting previously unselected package curl.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20743 files and directories currently installed.)
Preparing to unpack .../curl_8.5.0-2ubuntu10.13_amd64.deb ...
Unpacking curl (8.5.0-2ubuntu10.13) ...
Setting up curl (8.5.0-2ubuntu10.13) ...
downloading uv 0.9.5 x86_64-unknown-linux-gnu
no checksums to verify
installing to /root/.local/bin
  uv
  uvx
everything's installed!

To add $HOME/.local/bin to your PATH, either restart your shell or run:

    source $HOME/.local/bin/env (sh, bash, zsh)
    source $HOME/.local/bin/env.fish (fish)
Downloading cpython-3.13.9-linux-x86_64-gnu (download) (32.0MiB)
 Downloading cpython-3.13.9-linux-x86_64-gnu (download)
Downloading pygments (1.2MiB)
Downloading numpy (15.9MiB)
Downloading scipy (34.0MiB)
 Downloading pygments
 Downloading numpy
 Downloading scipy
Installed 8 packages in 96ms
============================= test session starts ==============================
platform linux -- Python 3.13.9, pytest-8.4.1, pluggy-1.6.0
rootdir: /tests
plugins: json-ctrf-0.3.5
collected 9 items

../tests/test_outputs.py ...F.....                                       [100%]

=================================== FAILURES ===================================
_____________________ test_formal_testing_with_known_truth _____________________

    def test_formal_testing_with_known_truth():
        """Test that formal testing outputs correct format as specified."""
        app_dir = Path("/app")
    
        # Run the test function and check output format
        test_code = """
    source("ars.R")
    # Run the test function if it exists
    if (exists("test")) {
        test()
    } else {
        cat("ERROR: test function not found\n")
    }
    """
    
        test_file = app_dir / "run_test.R"
        test_file.write_text(test_code)
        try:
            result = subprocess.run(
                ["Rscript", str(test_file)],
                capture_output=True,
                text=True,
                cwd=str(app_dir),
                timeout=60,
            )
            output = result.stdout + result.stderr
    
            # Check for required output format: "TEST_NAME: PASS" or "TEST_NAME: FAIL"
>           assert ": PASS" in output or ": FAIL" in output, (
                "Test function must output results in format "
                "'TEST_NAME: PASS' or 'TEST_NAME: FAIL'"
            )
E           AssertionError: Test function must output results in format 'TEST_NAME: PASS' or 'TEST_NAME: FAIL'
E           assert (': PASS' in '=================================================================\n         Adaptive Rejection Sampler — Formal Test ...ummary: 14 PASS, 0 FAIL, 0 WARN (out of 14 tests)\n=================================================================\n' or ': FAIL' in '=================================================================\n         Adaptive Rejection Sampler — Formal Test ...ummary: 14 PASS, 0 FAIL, 0 WARN (out of 14 tests)\n=================================================================\n')

/tests/test_outputs.py:141: AssertionError
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED ../tests/test_outputs.py::test_ars_function_exists
PASSED ../tests/test_outputs.py::test_can_generate_standard_distribution_samples
PASSED ../tests/test_outputs.py::test_has_test_function
PASSED ../tests/test_outputs.py::test_sample_files_generated
PASSED ../tests/test_outputs.py::test_implementation_is_modular
PASSED ../tests/test_outputs.py::test_implementation_handles_errors
PASSED ../tests/test_outputs.py::test_input_validation_functionality
PASSED ../tests/test_outputs.py::test_log_concavity_functionality
FAILED ../tests/test_outputs.py::test_formal_testing_with_known_truth - Asser...
========================= 1 failed, 8 passed in 5.09s ==========================
