Skip to content

Commit 5172254

Browse files
authored
Fix the threadsafe-setenv example in the try_getenv case. (#158)
* Fix the threadsafe-setenv example in the `try_getenv` case. * Install libglib2.0-dev in CI for qemu.
1 parent 79ef7df commit 5172254

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
run: |
6969
set -ex
7070
sudo apt-get update
71-
sudo apt-get install -y ${{ matrix.gcc_package }} ninja-build
71+
sudo apt-get install -y ${{ matrix.gcc_package }} ninja-build libglib2.0-dev
7272
upcase=$(echo ${{ matrix.host_target }} | awk '{ print toupper($0) }' | sed 's/-/_/g')
7373
echo CARGO_TARGET_${upcase}_LINKER=${{ matrix.gcc }} >> $GITHUB_ENV
7474
echo CC_${{ matrix.target }}=${{ matrix.gcc }} >> $GITHUB_ENV

example-crates/threadsafe-setenv/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,6 @@ fn lookup_localhost() {
5858
fn do_getenv() {
5959
for _ in 0..1000 {
6060
let r = std::env::var("doesnotexist");
61-
assert!(r.is_ok(), "env var should not exist");
61+
assert!(!r.is_ok(), "env var should not exist");
6262
}
6363
}

tests/example_crates.rs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,21 @@ fn example_crate_dns() {
163163
}
164164

165165
#[test]
166-
fn example_crate_threadsafe_setenv() {
166+
fn example_crate_threadsafe_setenv_getenv() {
167+
test_crate(
168+
"threadsafe-setenv",
169+
&["try_getenv"],
170+
&[],
171+
"will call std::env::set_var() 100 times ...\n\
172+
spawning thread to call std::env::var (will not crash: Rust holds lock for getenv)...\n\
173+
exiting without error\n",
174+
"",
175+
None,
176+
);
177+
}
178+
179+
#[test]
180+
fn example_crate_threadsafe_setenv_lookup() {
167181
test_crate(
168182
"threadsafe-setenv",
169183
&[],

0 commit comments

Comments
 (0)