@@ -554,3 +554,69 @@ the purpose of t0000-basic.sh, which is to isolate that level of
554554validation in one place. Your test also ends up needing
555555updating when such a change to the internal happens, so do _not_
556556do it and leave the low level of validation to t0000-basic.sh.
557+
558+ Smoke testing
559+ -------------
560+
561+ The Git test suite has support for smoke testing. Smoke testing is
562+ when you submit the results of a test run to a central server for
563+ analysis and aggregation.
564+
565+ Running a smoke tester is an easy and valuable way of contributing to
566+ Git development, particularly if you have access to an uncommon OS on
567+ obscure hardware.
568+
569+ After building Git you can generate a smoke report like this in the
570+ "t" directory:
571+
572+ make clean smoke
573+
574+ You can also pass arguments via the environment. This should make it
575+ faster:
576+
577+ GIT_TEST_OPTS='--root=/dev/shm' TEST_JOBS=10 make clean smoke
578+
579+ The "smoke" target will run the Git test suite with Perl's
580+ "TAP::Harness" module, and package up the results in a .tar.gz archive
581+ with "TAP::Harness::Archive". The former is included with Perl v5.10.1
582+ or later, but you'll need to install the latter from the CPAN. See the
583+ "Test coverage" section above for how you might do that.
584+
585+ Once the "smoke" target finishes you'll see a message like this:
586+
587+ TAP Archive created at <path to git>/t/test-results/git-smoke.tar.gz
588+
589+ To upload the smoke report you need to have curl(1) installed, then
590+ do:
591+
592+ make smoke_report
593+
594+ To upload the report anonymously. Hopefully that'll return something
595+ like "Reported #7 added.".
596+
597+ If you're going to be uploading reports frequently please request a
598+ user account by E-Mailing gitsmoke@v.nix.is. Once you have a username
599+ and password you'll be able to do:
600+
601+ SMOKE_USERNAME=<username> SMOKE_PASSWORD=<password> make smoke_report
602+
603+ Once the report is uploaded it'll be made available at
604+ http://smoke.git.nix.is, here's an overview of Recent Smoke Reports
605+ for Git:
606+
607+ http://smoke.git.nix.is/app/projects/smoke_reports/1
608+
609+ The reports will also be mirrored to GitHub every few hours:
610+
611+ http://github.com/gitsmoke/smoke-reports
612+
613+ The Smolder SQLite database is also mirrored and made available for
614+ download:
615+
616+ http://github.com/gitsmoke/smoke-database
617+
618+ Note that the database includes hashed (with crypt()) user passwords
619+ and E-Mail addresses. Don't use a valuable password for the smoke
620+ service if you have an account, or an E-Mail address you don't want to
621+ be publicly known. The user accounts are just meant to be convenient
622+ labels, they're not meant to be secure.
0 commit comments