Skip to content

PLEB42/printf-god

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👑 PRINTF-GOD (Version 2026)

42 Project God Edition

A professional, ultra-fast, and visually stunning tester for the 42 ft_printf project. Re-engineered to align perfectly with the 2024-2026 Subject requirements.


Warning

⚖️ Academic Integrity & Official Disclaimer

PLEB42 is an entirely independent community initiative. It is not officially endorsed by, affiliated with, or sponsored by the Staff of 42 or 42 São Paulo.

  • Zero Solution Hosting: None of our repositories will ever host, share, or leak source code solutions for curriculum assignments. Our engineering scope is strictly limited to behavior validation, crash identification, and memory leak analysis.
  • No Academic Verdicts: Passing a PLEB42 test suite provides no guarantee of passing the official Moulinette evaluation. Cadets bear ultimate and sole responsibility for the integrity, compliance, and originality of their submissions.

Caution

🚨 Academic Integrity & Peer-Review Warning

This tester is designed to be intentionally rigorous by nature (overkill). It tests extreme edge cases that often go beyond the official curriculum requirements.

  • Do not fail your peers unfairly: A failure in this test suite does not mean a student should fail their peer-review.
  • Evaluation Criteria: If your peer's code functions correctly and respects the official project subject, it deserves a pass. Use this tool for learning, not as an absolute grading metric.

✨ Features

  • 🚀 Real-time God Progress: Watch your tests pass in real-time with an in-place updating progress bar.
  • 🎯 Modular Testing: Separate suites for Mandatory, Bonus, and Stress Tests.
  • 💎 Academic Integrity: Designed to be a rigorous validator. It reports discrepancies clearly without providing "cheating" shortcuts.
  • 🧪 Extreme Robustness: Over 1500 test cases including massive field widths, conflicting flags, and complex edge cases.
  • 📂 Refined Deepthought Logs: Professional test reports showing exact discrepancies between System and User output using cat -e style formatting.
  • 🛡️ Smart Forbidden Check: Accurate detection of external calls while respecting your internal libft functions.

🚀 Installation

  1. Clone this repository inside your ft_printf folder:

    git clone https://github.com/PLEB42/printf-god.git god_tester
  2. Configure your paths in my_config.sh:

    cd god_tester
    # Ensure PATH_LIBFT, SRC_DIR and HEADER_DIR are correct
    nano my_config.sh
  3. Run the magic:

    ./grademe.sh

🎮 Usage

Basic Execution (Mandatory only)

./grademe.sh

Targeted Testing

Flag Description
./grademe.sh -complete Runs Mandatory + Bonus tests.
./grademe.sh -mandatory Runs ONLY the mandatory conversions (cspdiuxX%).
./grademe.sh -bonus Runs ONLY the bonus flags and width/precision tests.
./grademe.sh -stress Runs complex mixed conversion tests.
./grademe.sh -doom Runs EVERYTHING (Mandatory, Bonus, and Stress).

Utility Options

  • ./grademe.sh ft_printf_d: Run only tests for %d.
  • ./grademe.sh -fast: Skip per-test leak check for maximum speed.
  • ./grademe.sh -n: Skip Norminette.
  • ./grademe.sh -f: Skip Forbidden functions check.

📊 The Deepthought Report

The generated deepthought file is your best friend for debugging. It follows a clean format:

  • Test Case: Shows the specific ft_printf call.
  • Side-by-side comparison: Displays System output vs Your output.
  • Non-printable chars: Uses $ to mark line endings, helping you find hidden spaces.

📜 Credits

Part of the God Series for 42. Inspired by libft-god and maintained to provide the most rigorous testing environment for the Common Core.

Made with ❤️ for the 42 Community.

About

An advanced tester for 42 School's ft_printf project. Comprehensively verifies standard format specifiers, edge cases, exact return values, and memory leaks by strictly comparing outputs against the original libc printf.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors