Skip to content

Merge the ctest2 repository into libc #4361

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 353 commits into from
Apr 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
353 commits
Select commit Hold shift + click to select a range
e35360e
Merge pull request JohnTitor/ctest2#29 from glandium/target_endian
alexcrichton Apr 11, 2018
b0a4c37
Update Cargo.toml doc url
alexcrichton May 3, 2018
f77627b
Update libc dep
alexcrichton Jul 5, 2018
cb5851f
Add support for unions without typedefs
afdw Jul 14, 2018
beb0243
Merge pull request JohnTitor/ctest2#34 from afdw/master
alexcrichton Jul 16, 2018
72ddcca
improve docs of cfg method
gnzlbg Aug 12, 2018
6e58891
Bump to 0.2.0
alexcrichton Aug 12, 2018
b96286b
Merge pull request JohnTitor/ctest2#35 from gnzlbg/doc0
alexcrichton Aug 12, 2018
a344fd4
Add static testing
tbu- Sep 4, 2018
68f37c5
Add a test exercising statics
alexcrichton Sep 4, 2018
5a95aee
Bump to 0.2.1
alexcrichton Sep 4, 2018
7b95629
Revert bump in the minimum supported Rust version
tbu- Sep 12, 2018
f77a017
Merge pull request JohnTitor/ctest2#37 from tbu-/pr_test_statics2
alexcrichton Sep 12, 2018
ba0585b
Bump to 0.2.2
alexcrichton Sep 12, 2018
837abd1
Minimal support for fn types in extern statics
gnzlbg Oct 16, 2018
5303eb6
add support for nested functions
gnzlbg Oct 16, 2018
b8d295b
Merge pull request JohnTitor/ctest2#39 from gnzlbg/rs2c
alexcrichton Oct 16, 2018
b749da0
Add support for arrays in extern statics
gnzlbg Oct 16, 2018
2548752
Verify that ctest does not break libc
gnzlbg Oct 16, 2018
5050950
Bump minor version
gnzlbg Oct 16, 2018
ed7dabc
Bump version in readme
gnzlbg Oct 16, 2018
0c27050
Skip signedness checks for non-integer type aliases
johnschug Oct 18, 2018
f2923d6
remove travis cargo before_script
gnzlbg Oct 19, 2018
580c89c
Merge pull request JohnTitor/ctest2#42 from gnzlbg/arrs
alexcrichton Oct 20, 2018
de26092
update libc test
gnzlbg Oct 20, 2018
d9105e9
Merge pull request JohnTitor/ctest2#45 from gnzlbg/update_libc
alexcrichton Oct 20, 2018
e2bfc9a
Merge pull request JohnTitor/ctest2#43 from johnschug/skip-sign
alexcrichton Oct 21, 2018
a873e88
add support for extern static references and optional references
gnzlbg Oct 25, 2018
f4cd2dd
test ctest for libc on linux
gnzlbg Oct 25, 2018
e326070
bump minor version
gnzlbg Oct 25, 2018
d88456a
Merge pull request JohnTitor/ctest2#46 from gnzlbg/fb2
alexcrichton Oct 29, 2018
01ab34f
Merge pull request JohnTitor/ctest2#48 from gnzlbg/linux-libc
alexcrichton Oct 29, 2018
90a377b
Merge pull request JohnTitor/ctest2#49 from gnzlbg/bv
alexcrichton Oct 29, 2018
85724e1
re-format
gnzlbg Oct 25, 2018
f055eec
fix clippy issues
gnzlbg Oct 25, 2018
1539e37
support non-mut statics with Option<&T>
gnzlbg Oct 30, 2018
b8aee63
bump minor version
gnzlbg Oct 30, 2018
9c54167
support statics of Option<fn> types
gnzlbg Oct 30, 2018
ca48c06
bump minimum version
gnzlbg Oct 30, 2018
d9a84f1
Fix generates tests with C function conflict
alexcrichton Nov 25, 2018
0450e5e
(cargo-release) version 0.2.7
alexcrichton Nov 25, 2018
8693197
Run rustfmt
alexcrichton Nov 26, 2018
9cce3da
Add support for packed structs
gnzlbg Nov 22, 2018
d873b69
Bump version
gnzlbg Nov 27, 2018
0f49b3f
Update travis config
alexcrichton Jan 2, 2019
ad16446
Add const_cname API to map Rust const names to C names
gnzlbg Feb 11, 2019
97bd1ab
Add C++ support
gnzlbg Feb 11, 2019
1494a7e
Fix clippy and formatting
gnzlbg Feb 11, 2019
59c7cf8
Merge pull request JohnTitor/ctest2#58 from gnzlbg/const_name
alexcrichton Feb 12, 2019
bf7a240
Properly replace the libc path
gnzlbg Feb 16, 2019
f1e7f8f
Allow rustfmt to fail if the component is not available
gnzlbg Feb 18, 2019
5527a73
Check that the tests do not emit warnings
gnzlbg Feb 12, 2019
6296ca8
Add an option to print skipped items
gnzlbg Feb 20, 2019
42b8348
Add wasi definitions
alexcrichton Feb 13, 2019
c248f5d
Add support for verifying volatile pointers
gnzlbg Feb 22, 2019
c20af06
Formatting
gnzlbg Feb 22, 2019
dd42332
Clippy
gnzlbg Feb 22, 2019
9a4d4da
Improve support for arrays
gnzlbg Mar 3, 2019
cfca760
Bump patch version
gnzlbg Mar 4, 2019
f54f795
Add a way to specify that a function argument is an array in C
gnzlbg Mar 4, 2019
6f46b8c
Fix build status and some other links
robinst Mar 20, 2019
7fdee1d
Rename my-sys-library to mylib-sys
spl Mar 29, 2019
5122384
Fix build by running rustfmt
robinst Mar 28, 2019
459f697
Add redox target
jackpot51 Jun 21, 2019
5fbaace
Bump patch version
gnzlbg Jun 21, 2019
63eea75
Only use pragma pack
gnzlbg Jun 21, 2019
c0b48ce
Update readme
gnzlbg Jun 21, 2019
7e9ccf2
Allow taking references to packed struct fields in MSVC
gnzlbg Jun 21, 2019
0dd0de1
Update libc docker container
gnzlbg Jun 21, 2019
b30aa06
silence another msvc warning
gnzlbg Jun 21, 2019
08d19bf
Cut down the number of Travis CI jobs
gnzlbg Jun 29, 2019
8617827
Re-order travis jobs such that heavy jobs start first
gnzlbg Jun 29, 2019
350d2cf
Add a repr(packed(N)) test
gnzlbg Jun 28, 2019
f94f459
Dump output on failure
gnzlbg Jun 29, 2019
cbcc8e5
Add support for transparent and packed(N) types
gnzlbg Jun 28, 2019
478c2eb
Add ABI roundtrip test
gnzlbg Jun 28, 2019
cfa8c3c
Silence spurous warnings on MSVC
gnzlbg Jun 29, 2019
8c8dd0d
Use MaybeUninit to store invalid representations and only check non-p…
gnzlbg Jun 29, 2019
928cc7e
Workaround mingw being broken: rust-lang/47048
gnzlbg Jun 29, 2019
d124e1a
Workaround Rust bug for MinGW toolchains
mati865 Jun 29, 2019
5dbe3f4
Temporarily remove MaybeUninit
gnzlbg Jun 30, 2019
776ae69
Use a custom alignof implementation
gnzlbg Jul 1, 2019
b080044
Bump patch version
gnzlbg Jul 1, 2019
b6b719c
Fix alignment computation once and for all
gnzlbg Jul 3, 2019
b499886
Bump patch version
gnzlbg Jul 3, 2019
273411d
Update readme
gnzlbg Jul 3, 2019
2f98127
Avoid errors on unknown warnings
gnzlbg Aug 24, 2019
4ac0d7a
mem::uninitialized is deprecated
gnzlbg Aug 24, 2019
6270ec0
Merge pull request JohnTitor/ctest2#78 from gnzlbg/unknown_warning
gnzlbg Aug 25, 2019
a494a35
fix roundtrip tests for structs larger than 252 bytes
posborne Sep 13, 2019
822a81f
Add test for long structs
gnzlbg Sep 14, 2019
365c691
Update ctest version
gnzlbg Sep 14, 2019
e6aa7c9
Add azure pipelines
gnzlbg Sep 17, 2019
e40d31d
Remove travis and appveyor
gnzlbg Sep 17, 2019
40ed66a
Fix lockfiles
gnzlbg Sep 17, 2019
3051d8e
Add Azure badge to readme
gnzlbg Sep 17, 2019
6dbee54
Fix test scripts
gnzlbg Sep 17, 2019
225e6d3
Disable shellcheck
gnzlbg Sep 17, 2019
694aa30
Improve errors of roundtrip tests
gnzlbg Sep 17, 2019
f2b61b2
Improve error output
gnzlbg Sep 17, 2019
88fef9c
add supporting for vxWorks
BaoshanPang Oct 8, 2019
1e8b3ca
Version 0.2.21
gnzlbg Oct 10, 2019
742883b
Fix the typo in the homepage field
lu-zero Nov 11, 2019
891f20a
Add illumos target
pfmooney Mar 30, 2020
282f173
Fix typo in "unknown target" error message
pfmooney Mar 30, 2020
1085b8a
Merge pull request JohnTitor/ctest2#1 from pfmooney/illumos-target
JohnTitor Apr 7, 2020
e9eccae
Merge pull request JohnTitor/ctest2#2 from pfmooney/target-error
JohnTitor Apr 7, 2020
cf73883
Setup GitHub Actions
JohnTitor Apr 8, 2020
2c11169
Merge pull request JohnTitor/ctest2#3 from JohnTitor/gha
JohnTitor Apr 11, 2020
7e64a6e
Use MaybeUninit instead of uninitialized
alexcrichton Apr 10, 2020
fbd2f7f
Merge pull request JohnTitor/ctest2#4 from JohnTitor/maybe-uninit
JohnTitor Apr 11, 2020
47993b5
Add `riscv64gc` arch support
JohnTitor Apr 11, 2020
0e0914a
Merge pull request JohnTitor/ctest2#5 from JohnTitor/riscv64gc
JohnTitor Apr 11, 2020
68c32f0
Use fork syntex to compile fine
JohnTitor May 20, 2020
90f0f58
Merge pull request JohnTitor/ctest2#7 from JohnTitor/fork-syntex
JohnTitor May 21, 2020
9cd9072
Rename to ctest2
JohnTitor May 27, 2020
a77700f
Update Cargo.toml
JohnTitor May 27, 2020
8ddbe33
Merge pull request JohnTitor/ctest2#8 from JohnTitor/ctest2
JohnTitor May 27, 2020
df1d46e
Specify syntex version
JohnTitor May 27, 2020
8241a81
Merge pull request JohnTitor/ctest2#9 from JohnTitor/version-specify
JohnTitor May 27, 2020
be20340
Use garando_syntax
JohnTitor Jun 1, 2020
eaf89eb
Merge pull request JohnTitor/ctest2#11 from JohnTitor/garando
JohnTitor Jun 1, 2020
8d8e0e3
Tweak authors not to make confusion
JohnTitor Jun 1, 2020
72da477
Use `OR` keyword instead of deprecated `/`
JohnTitor Aug 21, 2020
00aea88
Merge pull request JohnTitor/ctest2#13 from JohnTitor/use-or
JohnTitor Aug 22, 2020
51896b1
Tweak licenses
JohnTitor Oct 30, 2020
938a5cb
Reduce crate size with `cargo-diet`
JohnTitor Oct 30, 2020
b432d88
Remove azure config
JohnTitor Oct 30, 2020
d3efc26
Trigger GHA on push to master as well
JohnTitor Oct 30, 2020
0af0460
Update Ubuntu to 20.04 on Docker
JohnTitor Oct 30, 2020
5536bea
Merge pull request JohnTitor/ctest2#14 from JohnTitor/tweak-ci
JohnTitor Oct 30, 2020
b7c3b6f
Check MSRV on CI
JohnTitor Oct 30, 2020
07c3075
Merge pull request JohnTitor/ctest2#15 from JohnTitor/msrv
JohnTitor Oct 30, 2020
1eae6e9
Add note about MSRV
JohnTitor Oct 30, 2020
a0b68fb
Update crate to edition 2018
JohnTitor Oct 30, 2020
cb1e7bd
Remove unnecessary `extern crate`s
JohnTitor Oct 30, 2020
71d6141
Update `testcrate` to edition 2018
JohnTitor Oct 30, 2020
78c52ec
Fix Clippy warnings
JohnTitor Oct 30, 2020
f10feda
Merge pull request JohnTitor/ctest2#16 from JohnTitor/edition-2018
JohnTitor Oct 30, 2020
691a13f
Add changelog
JohnTitor Oct 30, 2020
77ec2b8
Update `ctest2` version on README
JohnTitor Dec 2, 2020
063d770
Update MSRV to 1.34
JohnTitor Dec 2, 2020
4a77df2
Update README.md
JohnTitor Dec 2, 2020
d06f69b
Clarify statement of purpose in readme
jnqnfe Dec 2, 2020
c9c8354
Merge pull request JohnTitor/ctest2#19 from jnqnfe/patch-2
JohnTitor Dec 3, 2020
c4ac5fe
Add libz-sys to README
JohnTitor Dec 3, 2020
841335b
Add support for the Haiku target
nielx Jan 14, 2021
cf6d5c5
Merge pull request JohnTitor/ctest2#20 from nielx/master
JohnTitor Jan 15, 2021
5b6f66d
Upgrade `rustc_version` to 0.3.2
JohnTitor Jan 15, 2021
e4fe686
Merge pull request JohnTitor/ctest2#21 from JohnTitor/rustc-version-bump
JohnTitor Jan 15, 2021
85884f4
Prepare release for 0.4.0
JohnTitor Jan 28, 2021
f36cf21
Fix the `deref_nullptr` warning
JohnTitor May 23, 2021
9391217
Allow `unaligned_references` lint for now
JohnTitor May 23, 2021
6beb93a
Merge pull request JohnTitor/ctest2#24 from JohnTitor/fix-dereference…
JohnTitor May 23, 2021
8d87574
Fix `unaligned_references` warning
JohnTitor May 23, 2021
4ac0765
Fix `fmt_panic` warning on tests
JohnTitor May 23, 2021
fae3f03
Merge pull request JohnTitor/ctest2#25 from JohnTitor/fix-unaligned-r…
JohnTitor May 23, 2021
d538792
Prepare for 0.4.1 release
JohnTitor May 23, 2021
d48a131
Use Rustup/Cargo directly on GHA
JohnTitor Jun 2, 2021
3d10e11
Merge pull request JohnTitor/ctest2#26 from JohnTitor/gha-directly
JohnTitor Jun 2, 2021
6cb6bc1
Update `rustc_version` to 0.4
JohnTitor Jun 8, 2021
8667e78
Fix install script
JohnTitor Jun 8, 2021
f54af3a
Merge pull request JohnTitor/ctest2#27 from JohnTitor/rustc-version-0.4
JohnTitor Jun 8, 2021
1d868cd
Allow to subtract in constants
GuillaumeGomez Oct 16, 2021
dd27776
Merge pull request JohnTitor/ctest2#28 from GuillaumeGomez/subtract
JohnTitor Oct 16, 2021
13e51e1
Bump MSRV to 1.46.0
JohnTitor Oct 16, 2021
ee44505
Upgrade macOS image to Big Sur on CI
JohnTitor Oct 16, 2021
4d9e370
Merge pull request JohnTitor/ctest2#29 from JohnTitor/fix-ci-2021-10
JohnTitor Oct 16, 2021
b5980d0
Prepare for a new release
JohnTitor Oct 16, 2021
52daebf
Add support for long double
GuillaumeGomez Nov 22, 2021
942b541
Upgrade crate version to 0.4.3
GuillaumeGomez Nov 22, 2021
373be10
Merge pull request JohnTitor/ctest2#30 from GuillaumeGomez/long-double
JohnTitor Nov 28, 2021
22f9497
Update changelog
JohnTitor Nov 28, 2021
77a98bd
ci: actually patch libc-test's Cargo.toml
jessicah Apr 25, 2022
00c5920
Merge pull request JohnTitor/ctest2#34 from jessicah/fix-ci
JohnTitor Apr 26, 2022
32cf220
Specify linkage for `__test_fn...()`.
jessicah Apr 22, 2022
048146e
Merge pull request JohnTitor/ctest2#33 from jessicah/cpp-linkage
JohnTitor Apr 28, 2022
cd06489
Update ctest2 version on README
JohnTitor May 9, 2022
b10340f
Update `actions/checkout` to v3
JohnTitor May 9, 2022
d3f933c
Remove the use of `mem::zeroed()` on generated code
JohnTitor May 10, 2022
0108e75
Merge pull request JohnTitor/ctest2#35 from JohnTitor/fix-offset-of-a…
JohnTitor May 12, 2022
46e6451
Prepare 0.4.4 release
JohnTitor May 12, 2022
7a6d3bd
Print out errors to stderr
flba-eb Jul 8, 2022
b095074
Merge pull request JohnTitor/ctest2#37 from flba-eb/master
JohnTitor Aug 8, 2022
2a864de
Fix missing code block terminators in docstrings
joshtriplett Aug 8, 2022
4679655
Merge pull request JohnTitor/ctest2#39 from joshtriplett/code-block-t…
JohnTitor Aug 8, 2022
4c2329d
Update macOS image to 12
JohnTitor Aug 8, 2022
e99f036
Merge pull request JohnTitor/ctest2#40 from JohnTitor/upd-images
JohnTitor Aug 8, 2022
8ef9712
Regenerate changelog
JohnTitor Aug 8, 2022
2006782
Swap size and value args in roundtrip tests
wesleywiser Aug 26, 2022
169299b
Update hosted runner versions
JohnTitor Oct 13, 2022
7c3b3a1
Update Docker image to Ubuntu 22.04
JohnTitor Oct 13, 2022
1972d74
Ignore testcrate on GNU targets for now
JohnTitor Oct 13, 2022
2eccefa
Merge pull request JohnTitor/ctest2#43 from JohnTitor/ci-tweaks
JohnTitor Oct 13, 2022
61f01c3
Fix some typos
JohnTitor Oct 13, 2022
663fb7c
Merge pull request JohnTitor/ctest2#44 from JohnTitor/fix-typos
JohnTitor Oct 14, 2022
8874f3b
Add basic QNX support
flba-eb Jun 28, 2022
2652f52
Merge pull request JohnTitor/ctest2#42 from flba-eb/add_qnx_support
JohnTitor Oct 14, 2022
adb6da3
Merge pull request JohnTitor/ctest2#41 from wesleywiser/master
JohnTitor Oct 14, 2022
42e06d4
Fix QNX/nto support of 7.1
flba-eb Oct 28, 2022
11e1d82
Merge pull request JohnTitor/ctest2#46 from flba-eb/add_nto_support
JohnTitor Nov 17, 2022
39b4fe8
Adjusting changelogs prior to release of ctest2 v0.4.5
JohnTitor Nov 19, 2022
13e476e
Release ctest2 v0.4.5
JohnTitor Nov 19, 2022
1bc65df
fix: don't use periods in target names
flba-eb Dec 6, 2022
633a79a
Merge pull request JohnTitor/ctest2#47 from flba-eb/remove_period_in_…
JohnTitor Dec 8, 2022
7b61763
Add support for OpenHarmony
Amanieu Mar 5, 2023
7e03175
Merge pull request JohnTitor/ctest2#49 from Amanieu/ohos
JohnTitor Mar 6, 2023
66b1e74
Add loongarch64 support
zhaixiaojuan Apr 11, 2022
73b014d
Merge pull request JohnTitor/ctest2#32 from zhaixiaojuan/master
JohnTitor Apr 24, 2023
b4b8d6d
Bump up MSRV to 1.56
JohnTitor May 6, 2023
214e880
Merge pull request JohnTitor/ctest2#50 from JohnTitor/msrv-1.56
JohnTitor May 6, 2023
0b5a117
Upgrade to edition 2021
JohnTitor May 6, 2023
de44431
Merge pull request JohnTitor/ctest2#51 from JohnTitor/edition-2021
JohnTitor May 6, 2023
ff7a29a
Release ctest2 v0.4.6
JohnTitor May 6, 2023
f4269c2
Add a config default for QNX 7.0
samkearney Feb 13, 2023
3f25fbc
Merge pull request JohnTitor/ctest2#52 from samkearney/add-x86-qnx-su…
JohnTitor Jun 4, 2023
de33952
Address `forgetting_copy_types` lint
JohnTitor Jun 10, 2023
7b2df7a
Merge pull request JohnTitor/ctest2#53 from JohnTitor/forgetting_copy…
JohnTitor Jun 10, 2023
133e89d
Adjusting changelogs prior to release of ctest2 v0.4.7
JohnTitor Jun 10, 2023
fefeba2
Fix build
JohnTitor Feb 17, 2024
8d7528c
Support AIX
Apr 2, 2024
787a7e2
Replace references of static externs to addr_of!. We need to do this …
Apr 3, 2024
450cb09
Fix CI by bumping MSRV. We need to do this, because we have "cc 1.0.9…
Apr 20, 2024
6f55e5c
Fix CI by bumping version of Ubuntu in Docker. Crate libc already did…
Apr 20, 2024
adb9dba
Merge pull request JohnTitor/ctest2#56 from safinaskar/addr_of
JohnTitor Jun 25, 2024
63d7f36
Merge pull request JohnTitor/ctest2#55 from bzEq/aix
JohnTitor Jun 25, 2024
0d78ccc
Add missing support for target sparcv9-sun-solaris
psumbera Aug 26, 2024
54ab692
Merge pull request JohnTitor/ctest2#57 from psumbera/solaris-fixes
JohnTitor Oct 23, 2024
9cfd075
Add support for GNU/Hurd
pinotree Nov 30, 2024
657b34b
Fix CI
JohnTitor Dec 1, 2024
704ee05
Update Dockerfile
JohnTitor Dec 1, 2024
ba648cc
Merge pull request JohnTitor/ctest2#60 from JohnTitor/JohnTitor-patch-1
JohnTitor Dec 1, 2024
84372d9
Update macos.yml
JohnTitor Dec 1, 2024
70c7198
Merge pull request JohnTitor/ctest2#61 from JohnTitor/JohnTitor-patch-2
JohnTitor Dec 1, 2024
cdd85fa
Merge pull request JohnTitor/ctest2#62 from JohnTitor/JohnTitor-patch-1
JohnTitor Dec 1, 2024
8ef2938
Update windows.yml
JohnTitor Dec 1, 2024
d325e87
Merge pull request JohnTitor/ctest2#59 from pinotree/hurd
JohnTitor Dec 1, 2024
3a8d90b
release: v0.4.9
JohnTitor Dec 1, 2024
8f35361
Add support for alternative network stack io-sock on QNX 7.1
flba-eb Nov 28, 2024
da90cd0
Add support for QNX 8.0 targets
flba-eb Dec 10, 2024
757c96a
Merge pull request JohnTitor/ctest2#63 from flba-eb/add_nto-iosock
JohnTitor Feb 5, 2025
d10bbcd
fix: Declare explicit ABI on `extern` block
JohnTitor Feb 5, 2025
4c55b46
Merge pull request JohnTitor/ctest2#65 from JohnTitor/explicit-abi
JohnTitor Feb 5, 2025
55ba0eb
chore: Release v0.4.10
JohnTitor Feb 5, 2025
2431fbc
Merge pull request JohnTitor/ctest2#66 from JohnTitor/release-0.4.10
JohnTitor Feb 5, 2025
a4ec883
Add renovate.json
renovate[bot] Feb 12, 2025
80de0d7
Merge pull request JohnTitor/ctest2#67 from JohnTitor/renovate/configure
JohnTitor Feb 12, 2025
50591f0
Merge branch 'ctest2' into absorb-ctest
tgross35 Apr 2, 2025
1a2f652
Rename `ctest2` back to `ctest`
tgross35 Feb 22, 2025
4c7fd2d
Minor adjustments to scripts so CI passes with ctest
tgross35 Apr 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion ci/style.sh
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,8 @@ done < "$tmpfile"
rm "$tmpfile"

if shellcheck --version ; then
find . -name '*.sh' -print0 | xargs -0 shellcheck
# FIXME(ctest): update ctest scripts so we don't need to exclude them
find . -name '*.sh' -not -path './ctest/*' -print0 | xargs -0 shellcheck
else
echo "shellcheck not found"
exit 1
Expand Down
46 changes: 46 additions & 0 deletions ctest/.github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: CI (Linux)

on:
pull_request:
push:
branches:
- master

jobs:
build_and_test:
strategy:
fail-fast: false
matrix:
version:
- 1.63.0 # MSRV
- stable
- beta
- nightly
target:
- x86_64-unknown-linux-gnu

name: ${{ matrix.version }} - ${{ matrix.target }}
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v4

- name: Install ${{ matrix.version }}
run: TOOLCHAIN=${{ matrix.version }} TARGET=${{ matrix.target }} sh ./ci/install-rust.sh

- name: Check MSRV
if: matrix.version == '1.63.0'
run: cargo check

# FIXME: Some symbols cause multiple definitions error on the same line:
# /usr/bin/ld: /home/runner/work/ctest2/ctest2/target/debug/deps/libtestcrate-a072d428f9532abb.rlib(t1gen.o):
# /home/runner/work/ctest2/ctest2/testcrate/src/t1.h:65: multiple definition of `T1_static_mut_u8';
# /home/runner/work/ctest2/ctest2/target/debug/deps/libtestcrate-a072d428f9532abb.rlib(t1.o):
# /home/runner/work/ctest2/ctest2/testcrate/src/t1.h:65: first defined here
# - name: Run tests
# if: matrix.version != '1.63.0'
# run: cargo test --all -- --nocapture

- name: Run libc tests
if: matrix.version != '1.63.0'
run: sh ./ci/run-docker.sh ${{ matrix.target }}
36 changes: 36 additions & 0 deletions ctest/.github/workflows/macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: CI (macOS)

on:
pull_request:
push:
branches:
- master

jobs:
build_and_test:
strategy:
fail-fast: false
matrix:
version:
- stable
- beta
- nightly
target:
- x86_64-apple-darwin

name: ${{ matrix.version }} - ${{ matrix.target }}
runs-on: macos-14

steps:
- uses: actions/checkout@v4

- name: Install ${{ matrix.version }}
run: TOOLCHAIN=${{ matrix.version }} TARGET=${{ matrix.target }} sh ./ci/install-rust.sh

- name: Run tests
run: cargo test --all -- --nocapture

- name: Run libc tests
env:
TARGET: ${{ matrix.target }}
run: sh ./ci/run.sh ${{ matrix.target }}
66 changes: 66 additions & 0 deletions ctest/.github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: CI (Windows)

on:
pull_request:
push:
branches:
- master

jobs:
build_and_test:
strategy:
fail-fast: false
matrix:
version:
- nightly
target:
#- x86_64-pc-windows-gnu
- x86_64-pc-windows-msvc
#- i686-pc-windows-gnu
- i686-pc-windows-msvc
include:
#- target: x86_64-pc-windows-gnu
# arch: x86_64
- target: x86_64-pc-windows-msvc
arch: x86_64
#- target: i686-pc-windows-gnu
# arch: i686
- target: i686-pc-windows-msvc
arch: i686

name: ${{ matrix.version }} - ${{ matrix.target }}
runs-on: windows-2022

steps:
- uses: actions/checkout@v4

- name: Install MinGW (i686)
if: matrix.arch == 'i686'
run: |
choco install mingw --x86 --force

- name: Find GCC libraries
run: |
set -ex
gcc -print-search-dirs
find "C:\ProgramData\Chocolatey" -name "crt2*"
find "C:\ProgramData\Chocolatey" -name "dllcrt2*"
find "C:\ProgramData\Chocolatey" -name "libmsvcrt*"
shell: bash

- name: Fix MinGW
run: |
set -ex
if [[ -n ${ARCH_BITS} ]]; then
for i in crt2.o dllcrt2.o libmingwex.a libmsvcrt.a ; do
cp -f "/C/ProgramData/Chocolatey/lib/mingw/tools/install/mingw${ARCH_BITS}/${ARCH}-w64-mingw32/lib/$i" "`rustc --print sysroot`/lib/rustlib/${TARGET}/lib"
done
fi
shell: bash

- name: Install ${{ matrix.version }}
run: TOOLCHAIN=${{ matrix.version }} TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
shell: bash

- name: Run tests
run: cargo test --all -- --nocapture
2 changes: 2 additions & 0 deletions ctest/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
target
Cargo.lock
Loading
Loading