Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
ae9cd3d
Bootstrap format registration explicitly
orting Jul 2, 2026
cf3faaf
Bootstrap util registration explicitly
orting Jul 2, 2026
2af2986
Bootstrap object_model parser and parameter roots
orting Jul 2, 2026
2c06e27
Bootstrap object_model unit models explicitly
orting Jul 2, 2026
56fe111
Bootstrap object_model rate models explicitly
orting Jul 2, 2026
6709602
Bootstrap derived parameter-type models explicitly
orting Jul 2, 2026
32c6817
Finish explicit bootstrap for object_model
orting Jul 2, 2026
da84547
Bootstrap ui models explicitly
orting Jul 2, 2026
b0e2875
Fix Windows test executable path and skip known system failures
orting Jul 2, 2026
79eb5f7
Use packaged daisy-bin.exe in Windows tests
orting Jul 2, 2026
761a29c
Disable additional known Windows system failures
orting Jul 2, 2026
989d629
Bootstrap core programs models explicitly
orting Jul 2, 2026
4ed8592
Bootstrap more programs models explicitly
orting Jul 2, 2026
cbfbb5d
Finish explicit bootstrap for programs
orting Jul 2, 2026
c80a944
Bootstrap core gnuplot models explicitly
orting Jul 2, 2026
3695fc5
Finish explicit bootstrap for gnuplot
orting Jul 2, 2026
0de9697
Bootstrap daisy root models explicitly
orting Jul 2, 2026
14baa9d
Bootstrap top-level daisy conditions explicitly
orting Jul 3, 2026
b18e5a4
Bootstrap lower boundary models explicitly
orting Jul 3, 2026
98664a8
Bootstrap manager models explicitly
orting Jul 3, 2026
4e2f5b9
Bootstrap output models explicitly
orting Jul 3, 2026
7a1af56
Bootstrap organic matter models explicitly
orting Jul 3, 2026
be32cc6
Bootstrap chemistry models explicitly
orting Jul 3, 2026
5d37f45
Bootstrap crop models explicitly
orting Jul 3, 2026
f416240
Fix xref path deduplication
orting Jul 3, 2026
8cd87e7
Stabilize doc builds and add PDF baselines
orting Jul 3, 2026
fd0bbcf
Bootstrap upper boundary models explicitly
orting Jul 6, 2026
20f48bc
Bootstrap soil transport models explicitly
orting Jul 6, 2026
bbfbb92
Bootstrap soil core models explicitly
orting Jul 6, 2026
1d36718
Document Makefile test entrypoints
orting Jul 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 9 additions & 4 deletions cmake/Doc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,19 @@ if(${BUILD_DOC})
COMMAND mkdir -p doc/gnufig
)
add_custom_command(OUTPUT doc/components.tex
COMMAND ${DAISY_BIN_NAME} -d doc all.dai -p document
COMMAND ${DAISY_BIN_NAME} -d doc
-D ${CMAKE_SOURCE_DIR}/lib
${CMAKE_SOURCE_DIR}/lib/all.dai
-p document
COMMAND cd doc && gnuplot document.gnuplot
DEPENDS
doc_setup
)

add_custom_command(OUTPUT doc/stdlog.tex
COMMAND ${DAISY_BIN_NAME} -d doc ${CMAKE_SOURCE_DIR}/txt/stdlog.dai
COMMAND ${DAISY_BIN_NAME} -d doc
-D ${CMAKE_SOURCE_DIR}/lib
${CMAKE_SOURCE_DIR}/txt/stdlog.dai
DEPENDS doc_setup
)

Expand Down Expand Up @@ -104,8 +109,8 @@ if(${BUILD_DOC})
# The docs target first builds reference.pdf, tutorial.pdf and exercises.pdf; then it deletes all
# the files used/generated during build.
add_custom_target(docs
COMMAND rm -r doc/gnufig
COMMAND find doc/ -type f -regex .+\.[^pdf] | xargs rm
COMMAND ${CMAKE_COMMAND} -E rm -rf doc/gnufig
COMMAND find doc -type f ! -name "*.pdf" -delete
DEPENDS reference tutorial exercises
)
endif()
24 changes: 20 additions & 4 deletions doc/testing.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
# Testing
## Install test dependencies
We use a set of python tools to check Daisy output against a baseline. These are available from [daispy-test](https://github.com/daisy-model/daisypy-test) and can be installed with
We use a set of python tools to check Daisy output against a baseline. These are available from [daisypy-test](https://github.com/daisy-model/daisypy-test) and can be installed with

pip install daisypy-test@git+https://github.com/daisy-model/daisypy-test

## Recommended local entrypoints
For local development, the recommended way to run the test suites is via the
platform-specific Makefile targets:

make linux-test
make macos-test
make windows-test

These targets build Daisy, create or reuse the local `uv` environment in the
build directory, install `daisypy-test`, and then run `ctest`.

Test scenarios are in [test/dai_test_files](test/dai_test_files).
When adding a test you need to add it as a `dai_test_case` in [test/CMakeLists.txt](test/CMakeLists.txt).

Use [ctest](https://cmake.org/cmake/help/latest/manual/ctest.1.html) to run tests.
Use [ctest](https://cmake.org/cmake/help/latest/manual/ctest.1.html) directly if
you need lower-level control from a configured build directory.

ctest

Expand All @@ -26,6 +38,10 @@ and activate it

source ~/.venvs/daisy/bin/activate

Then you can use `pip` to install `daispy-test`.
Then you can use `pip` to install `daisypy-test`.

NOTE: This will most likely fail if you have already built daisy and try to setup the test environment from the build directory. The reason is that python binaries are copied to the build direcotry. The solution is to run the commands from another directory or specify the full path to the msys installed python binary.
NOTE: This will most likely fail if you have already built daisy and try to set
up the test environment from the build directory. The reason is that python
binaries are copied to the build directory. The solution is to run the commands
from another directory or specify the full path to the MSYS-installed python
binary.
26 changes: 26 additions & 0 deletions include/daisy/daisy_registration.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// daisy_registration.h -- Explicit registration for Daisy models.
//
// Copyright 2026 The Daisy Authors.
//
// This file is part of Daisy.
//
// Daisy is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser Public License as published by
// the Free Software Foundation; either version 2.1 of the License, or
// (at your option) any later version.
//
// Daisy is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser Public License for more details.
//
// You should have received a copy of the GNU Lesser Public License
// along with Daisy; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

#ifndef DAISY_REGISTRATION_H
#define DAISY_REGISTRATION_H

void register_daisy_models ();

#endif // DAISY_REGISTRATION_H
Loading
Loading