Skip to content

Small D testing utility scripts for CI and development as git submodule

Notifications You must be signed in to change notification settings

dlang-community/d-test-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

D Test Utils

This repository contains some small scripts intended for development and automated testing use.

This repository should be used as submodule but only be used for development purposes and not be part of a final distribution, as the download zip function on GitHub (which DUB uses to fetch dependencies) does not include submodules. It is fine to use this for testing and CI however, assuming the CI is setup to clone recursively.

test_with_package.d

Temporarily modifies the dub.json, replacing one dependency version with either the minimum satisfiable version for a dub dependency or the maximum satisfiable version for a dub dependency.

For example for packages supporting multiple libdparse versions such as =>0.13.0 <0.15.0 this script can be used to run any dub build or test command or any other arbitrary commands using a dub.json which has the version either pinned to 0.13.0 or to <0.15.0. A dub upgrade will always be called after modification of the dub.json file.

Usage:

# run `dub test` with minimum specified libdparse version
rdmd ./test_with_package.d min libdparse
# run `dub test` with maximum specified libdparse version
rdmd ./test_with_package.d max libdparse

# try if compilation of executable works with both minimum and maximum
rdmd ./test_with_package.d both libdparse -- dub build --config=executable --compiler=$DC

# checking multiple packages
rdmd ./test_with_package.d libdparse -- rdmd ./test_with_package.d dsymbol

Example travis config:

sudo: false
language: d
d:
  - dmd
  - ldc
env:
  - VERSION=min
  - VERSION=max
script:
  - rdmd ./d-test-utils/test_with_package.d libdparse

This travis config will create 4 runs (dmd VERSION=min, dmd VERSION=max, ldc VERSION=min and ldc VERSION=max) each running dub test

Example uses:

About

Small D testing utility scripts for CI and development as git submodule

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages