Smoking to detect leak in evap emissions system

I have a 2003 Chevy Cavalier with an evap emissions system leak, but my mechanic cannot locate it. He said the best way to pinpoint the source of the leak at this point is via a smoke test, however, his garage doesn’t have the proper equipment. He said he doesn’t know of any local garages (Buffalo, NY area) that have this machine due to the cost, but that generally, dealers do because they can afford it. He also said because so few garages have the right equipment that dealers might charge a lot of $$ just to do the test. So… is there anyway to devise a DIY smoke test? Would a fog machine (the type used around Halloween) work? What about consulting an HVAC pro (my neighbor works on home and commercial HVAC systems maintenance and repair, but not auto)? If using an auto pro is best (even at a dealership), what should I expect to pay for such a test? And are there any red flags I should watch out for (I have come to totally trust my own mechanic, but am very skeptical of working with someone I don’t know)?

Smoke machines used for this purpose are extremely common in auto shops. Call a few and I’m sure one will be able to perform this kind of test. If you don’t trust them, ask them to show you the leak from which smoke will be coming during the test. You might expect to pay somewhere between $50-$100 for this testing. A leak isn’t always the cause.

What might be some other causes? I already replaced the gas cap and that didn’t help at all. Thanks for the other info!!!

The gas tank could have a hole near the top, there could be a leak at the seals where the fuel lines come out, any of the vent hoses could be leaking, the fuel fill hose could have a leak, any of the solenoid valves that control the vent functions could have a leak (either external or though the valve), and so on.

The DIY smoke machine seems like a bad idea.

Have you or your mechanic checked for technical service bulletins about this issue? perhaps GM has a fix that does not involve a smoke machine. The diagnostic system is not as smart as people expect it too be, that is you could have a code for large or small leak when none existed, all a error in diagnostics.