Friendica
daniel:// stenberg://
daniel:// stenberg://

daniel:// stenberg://

bagder@mastodon.social

daniel:// stenberg://

bagder@mastodon.social
I write curl. I don't know anything.
ActivityPub
2024-12-17 13:30:26 2024-12-16 09:40:25 2024-12-16 09:40:24 6311810

daniel:// stenberg://
daniel:// stenberg://
mastodon - Link to source

daniel:// stenberg://

8 months ago • •

daniel:// stenberg://

8 months ago • •


Five years ago I improved #curl testing by randomly skipping some tests! This concept is still in use today.

daniel.haxx.se/blog/2019/12/16…


How randomly skipping tests made them better!

In the curl project we produce and ship a rock solid and reliable library for the masses, we must never exit, leak memory or do anything in an ungraceful manner.
daniel.haxx.se
#curl
  •  Languages
  •  Search Text
  •  Share via ...
in reply to daniel:// stenberg://

Daniel Evers
mastodon - Link to source

Daniel Evers

in reply to daniel:// stenberg:// • 8 months ago • •
Very interesting. I'm wondering whether the use of sanitizers (AddressSanitizer, ThreadSanitizer, maybe UBSanitizer) could replace some of these wrappers. They have a small overhead/footprint and are part of gcc and clang.
  •  Languages
  •  Search Text
  •  Share via ...
in reply to Daniel Evers

daniel:// stenberg://
mastodon - Link to source

daniel:// stenberg://

in reply to Daniel Evers • 8 months ago • •
@dermojo they check for completely different things. We run all of those as well.
@Daniel Evers
  •  Languages
  •  Search Text
  •  Share via ...
in reply to daniel:// stenberg://

excds
mastodon - Link to source

excds

in reply to daniel:// stenberg:// • 8 months ago • •
This is one of those when you read it you have a facepalm reaction and go about implementing in your long-running test runs... Should of course include an option to force run some tests via commit message tags or similar.
  •  Languages
  •  Search Text
  •  Share via ...
in reply to excds

daniel:// stenberg://
mastodon - Link to source

daniel:// stenberg://

in reply to excds • 8 months ago • •
@excds often when one of these tests show a problem I rerun the tests in their entirety locally when working on the fix. The "fixed seed" per month then makes sure that the next CI round runs the same random set and thus verifies the fix properly when merged.
@excds
  •  Languages
  •  Search Text
  •  Share via ...
in reply to daniel:// stenberg://

excds
mastodon - Link to source

excds

in reply to daniel:// stenberg:// • 8 months ago • •
The fixed seed certainly verifies failures found in a test run, but if you add a new test to additionally verify something, it's probably nice to be able to run that newly added test.
  •  Languages
  •  Search Text
  •  Share via ...
in reply to excds

daniel:// stenberg://
mastodon - Link to source

daniel:// stenberg://

in reply to excds • 8 months ago • •
@excds yeah, I suppose it would. I just never got around to add any such wizardry!
@excds
  •  Languages
  •  Search Text
  •  Share via ...
in reply to daniel:// stenberg://

excds
mastodon - Link to source

excds

in reply to daniel:// stenberg:// • 8 months ago • •
Hmm, what about always running tests that were written the last month? Then you would get the benefit of always running the newest tests together with the random ones for different code paths.
  •  Languages
  •  Search Text
  •  Share via ...
in reply to excds

daniel:// stenberg://
mastodon - Link to source

daniel:// stenberg://

in reply to excds • 8 months ago • •
@excds I like it! That sounds like a rather simple and yet effective approach, as the newest ones are probably more interesting to run "complete"
@excds
  •  Languages
  •  Search Text
  •  Share via ...
⇧