Porphobilinogen in urine produces pink colour with-
Ehrlich's aldehyde reagent test is used for porphobilinogen and urobilinogen in urine. It is mainly used in acute intermittent porphyria.

About other options

Sodium nitroprusside (Rothera's test) → For ketone bodies
Benedict's test                                     → Glucose and other reducing sugars in urine
Fouchet's (barium sulphate) test         → Bile pigment (bilirubin)
Fouchet's reagent
Benedict's reagent
Sodium nitroprusside
Ehrlich's aldehyde reagent