DEJAGNU(1)

πŸ’– dejagnu(1) β€” the DejaGnu auxiliary command launcher πŸ’–

okay bestie, welcome to the LOCAL manual section, it's giving "small tool, big responsibility" and honestly? we're obsessed. this page is all about dejagnu, the little launcher that finds your commands and runs them. no cap. πŸŽ€


✨ NAME ✨

dejagnu β€” DejaGnu auxiliary command launcher


🌸 SYNOPSIS 🌸

dejagnu ⟨command⟩ [--help | options...]
dejagnu --help
dejagnu --version

πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the vibe, bestie: the dejagnu command goes looking for a script that implements whatever command you asked for. if there's more than one implementation floating around, it picks one according to a fixed internal list (we don't make the rules, we just follow them πŸ’…). then it runs the thing. that's it. that's the whole job. main character energy but make it infrastructure. ✨


πŸ‘‘ OPTIONS πŸ‘‘

  • --help β€” prints a help message instead of running a command. and if you didn't give a command at all? it just prints the brief usage for dejagnu itself. cute, low-effort, we love it. 🫢
  • -V, --version β€” prints a version banner for the launcher itself, including the version of DejaGnu. heads up though: any command you gave is completely ignored. like, not even a little bit used. sorry babe. 😭
  • -v, --verbose β€” emits extra output describing what the dejagnu launcher itself is doing. and plot twist: this option also gets passed on to the invoked command. double the tea, double the info. πŸ”₯
also, fr fr: all arguments after the command name are passed straight to the invoked command. everything. no filtering. πŸ’…

🌈 ENVIRONMENT 🌈

  • DEJAGNULIBS β€” if it's set, this is the location of DejaGnu's library in the filesystem. and if it's set, the whole search described down in FILES does not happen. periodt.
  • AWK β€” the full file name for an Awk interpreter that may or may not actually be GNU Awk (the audacity, honestly). if it's not set, PATH gets searched for an awk program. and if the Awk interpreter is actually GNU Awk, the --posix option will be given if an Awk implementation is used.
  • GAWK β€” full file name for GNU Awk. if it's not set, PATH gets searched for a gawk program.
  • BASH β€” full file name for GNU Bash. if it's not set, PATH gets searched for a bash program. note that Bash itself sets this variable β€” even when run as sh, even when running a script. sneaky little thing. πŸ™ˆ
  • EXPECT β€” full file name for Expect, which is a Tcl interpreter with the Expect extension already loaded. if it's not set, PATH gets searched for an expect program. and ngl, the DejaGnu core is written in Expect, so this interpreter should always be available. like, always. 🫢
  • TCLSH β€” full file name for a Tcl interpreter. if it's not set, PATH gets searched for a tclsh program.

okay so, the lore: GNU Awk is considered a superset of Awk, and Expect is considered a superset of Tcl, which means the former can run scripts written for the latter. slay, honestly. the practical fallout is this: Awk programs will generally be run with GNU extensions disabled using the --posix option to GNU Awk, but Tcl programs may be run with either tclsh or expect β€” so write them accordingly. iykyk. πŸ’–


πŸŽ€ FILES πŸŽ€

  • $DEJAGNULIBS/commands β€” if DEJAGNULIBS is set, all command scripts are expected to be in this directory. no exceptions bestie.

otherwise, the first directory that actually exists in the following list is used, where @bindir@ represents the directory containing dejagnu itself:

@bindir@/../share/dejagnu/commands

@bindir@/../../share/dejagnu/commands

/usr/share/dejagnu/commands

/usr/local/share/dejagnu/commands

⭐ SEE ALSO ⭐

the full documentation for DejaGnu is maintained as a Texinfo manual. if the info program is properly installed at your site, this command:

info dejagnu

should give you access to the complete manual. go read it, bestie, it's giving ✨knowledge✨.


πŸ’œ AUTHORS πŸ’œ

Jacob Bachmeyer


πŸ’€ BUGS πŸ’€

the command name must precede all other arguments, due to limitations of the shell. yeah. we know. it's a whole thing. the shell said no and we respect its boundaries. 😭


🌸 that's the whole page, bestie 🌸 β€” this was the GNU version, dated December 17, 2018, and it lives in the DEJAGNU(1) manual section. go forth and launch commands responsibly. mwah. πŸ’…πŸŽ€πŸ¦‹