]> _ Git - alire.git/commit
Comprehensive tests for shared builds
authorAlejandro R. Mosteo <amosteo@unizar.es>
Fri, 15 Sep 2023 11:27:48 +0000 (13:27 +0200)
committerAlejandro R. Mosteo <amosteo@unizar.es>
Thu, 21 Sep 2023 13:24:58 +0000 (15:24 +0200)
commit96c539dfc02f4d6adf829d986de2d78345d49df5
tree87e6ee50bf9077d4235c01aad1c17cf55a8a91ba
parent2e3a5209bbccd42c88c41512109e0f1722a8ba4c
Comprehensive tests for shared builds

Added `shared-build` driver

Added `build_mode` key to the Python driver

Fix config generation in `alr update` in shared mode

Remove need for compiler in absence of dependencies

Fixed monorepo tests and base dir

Delay config generation in sandboxed mode too

Include explicit switches in build hash inputs

This is necessary because for shared builds we're never regenerating the
configuration, so changes in switches went undetected

Require complete config for sandboxed build

Self-review
98 files changed:
src/alire/alire-builds-hashes.adb
src/alire/alire-builds.adb
src/alire/alire-builds.ads
src/alire/alire-crate_configuration.adb
src/alire/alire-crate_configuration.ads
src/alire/alire-properties-actions-executor.adb
src/alire/alire-roots.adb
src/alire/alire-roots.ads
src/alr/alr-commands-action.adb
testsuite/README.md
testsuite/drivers/builds.py
testsuite/drivers/driver/python_script.py
testsuite/fixtures/basic_index/gn/gnat_external/gnat_external-external.toml [new file with mode: 0644]
testsuite/fixtures/basic_no_compiler_index/he/hello/hello-1.0.0.toml [new file with mode: 0644]
testsuite/fixtures/basic_no_compiler_index/he/hello/hello-1.0.1.toml [new file with mode: 0644]
testsuite/fixtures/basic_no_compiler_index/index.toml [new file with mode: 0644]
testsuite/fixtures/basic_no_compiler_index/li/libhello/libhello-1.0.0.toml [new file with mode: 0644]
testsuite/fixtures/basic_no_compiler_index/ma/make/make-external.toml [new file with mode: 0644]
testsuite/fixtures/compiler_only_index/gn/gnat_external/gnat_external-external.toml [new file with mode: 0644]
testsuite/fixtures/compiler_only_index/index.toml [new file with mode: 0644]
testsuite/fixtures/solver_index/gn/gnat_external/gnat_external-external.toml [new file with mode: 0644]
testsuite/run.py
testsuite/skels/global-index/test.yaml
testsuite/skels/local-index/test.yaml
testsuite/skels/no-index/test.yaml
testsuite/tests/action/trigger/test.yaml
testsuite/tests/alias/basic/test.yaml
testsuite/tests/build/hashes/compiler-input/test.py
testsuite/tests/build/hashes/compiler-input/test.yaml
testsuite/tests/build/hashes/compiler-missing/test.py
testsuite/tests/build/hashes/compiler-missing/test.yaml
testsuite/tests/build/hashes/config-types/test.py
testsuite/tests/build/hashes/config-types/test.yaml
testsuite/tests/build/hashes/hashing-inputs/test.py
testsuite/tests/build/hashes/hashing-inputs/test.yaml
testsuite/tests/build/hashes/incomplete-config/test.py
testsuite/tests/build/hashes/incomplete-config/test.yaml
testsuite/tests/build_profile/alr_build_switches/test.py
testsuite/tests/build_profile/alr_build_switches/test.yaml
testsuite/tests/build_profile/custom_profiles/test.yaml
testsuite/tests/build_profile/custom_switches/test.yaml
testsuite/tests/build_profile/default/test.yaml
testsuite/tests/build_profile/get-build-profile/test.yaml
testsuite/tests/build_profile/recursive/test.py
testsuite/tests/build_profile/recursive/test.yaml
testsuite/tests/config/missing-config-default/test.py
testsuite/tests/config/missing-config-default/test.yaml
testsuite/tests/config/shared-deps/test.py
testsuite/tests/config/shared-deps/test.yaml
testsuite/tests/crate_config/basic/test.yaml
testsuite/tests/crate_config/gen_control/test.yaml
testsuite/tests/crate_config/value_conflict/test.py
testsuite/tests/dockerized/misc/default-cache/test.py
testsuite/tests/exec/basic/test.py
testsuite/tests/exec/with_project/test.yaml
testsuite/tests/get/external-tool-dependency/test.py
testsuite/tests/get/git-local/test.py
testsuite/tests/get/unpack-in-place/test.py
testsuite/tests/index/bad-config-vars/test.py
testsuite/tests/install/dynamic-linking/test.yaml
testsuite/tests/install/executable-dependency/test.yaml
testsuite/tests/install/static-linking/test.yaml
testsuite/tests/misc/sync-manual-edit/test.py
testsuite/tests/misc/sync-manual-edit/test.yaml
testsuite/tests/misc/sync-missing-deps/test.py
testsuite/tests/misc/sync-missing-deps/test.yaml
testsuite/tests/monorepo/basic/test.py
testsuite/tests/monorepo/basic/test.yaml
testsuite/tests/monorepo/doubly-nested/test.py
testsuite/tests/monorepo/doubly-nested/test.yaml
testsuite/tests/monorepo/multi-commit/test.py
testsuite/tests/monorepo/multi-commit/test.yaml
testsuite/tests/pin/downgrade/test.py
testsuite/tests/pin/downgrade/test.yaml
testsuite/tests/pin/equivalent/test.py
testsuite/tests/pin/equivalent/test.yaml
testsuite/tests/pin/from-subdir/test.yaml
testsuite/tests/pin/post-update/test.yaml
testsuite/tests/pin/remote/test.yaml
testsuite/tests/pin/to-parent/test.yaml
testsuite/tests/printenv/basic/test.py
testsuite/tests/printenv/env-during-fetch/test.py
testsuite/tests/printenv/env-during-fetch/test.yaml
testsuite/tests/printenv/linked-paths/test.yaml
testsuite/tests/publish/check-properties/test.yaml
testsuite/tests/publish/pin-removal/test.yaml
testsuite/tests/publish/remote-origin-nonstd/test.py
testsuite/tests/publish/remote-origin/test.py
testsuite/tests/solver/compiler-installed/test.py
testsuite/tests/update/selective/test.yaml
testsuite/tests/with/auto-gpr-with/gpr_in_subdir/test.py
testsuite/tests/with/auto-gpr-with/gpr_in_subdir/test.yaml
testsuite/tests/with/changes-info/test.yaml
testsuite/tests/with/equivalent/test.yaml
testsuite/tests/workflows/actions-as-dependency/test.py
testsuite/tests/workflows/actions-as-dependency/test.yaml
testsuite/tests/workflows/actions-as-root/test.yaml
testsuite/tests/workflows/get-build-run-clean/test.yaml