mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 12:22:12 +00:00
Updated documentation and made Makefile easier for inexperienced C devs
This commit is contained in:
parent
264ed0c974
commit
20178c8026
@ -11,13 +11,17 @@
|
|||||||
CFLAGS = `pkg-config --cflags check` -g --std=c99 -D_POSIX_C_SOURCE=200809L
|
CFLAGS = `pkg-config --cflags check` -g --std=c99 -D_POSIX_C_SOURCE=200809L
|
||||||
LIBS = `pkg-config --libs check`
|
LIBS = `pkg-config --libs check`
|
||||||
|
|
||||||
# All files that should be part of your test should start with 'test'
|
# All files that should be part of your test should start with 'test_'
|
||||||
TEST_SRC = $(wildcard test*.[c\|h])
|
TEST_SRC = $(wildcard test_*.c)
|
||||||
TEST_BASE = $(basename ${TEST_SRC})
|
TEST_BASE = $(basename ${TEST_SRC})
|
||||||
TEST_OBJECTS = $(addsuffix .o, ${TEST_BASE})
|
TEST_OBJECTS = $(addsuffix .o, ${TEST_BASE})
|
||||||
|
|
||||||
# If you add more implementation classes, add them to this variable
|
# All files that should be part of your main program should start with 'gilded_'
|
||||||
OBJECT_UNDER_TEST = GildedRose.o
|
PROG_SRC = $(wildcard gilded_*.c)
|
||||||
|
PROG_BASE = $(basename ${PROG_SRC})
|
||||||
|
PROG_OBJECTS = $(addsuffix .o, ${PROG_BASE})
|
||||||
|
|
||||||
|
OBJECT_UNDER_TEST = GildedRose.o ${PROG_OBJECTS}
|
||||||
|
|
||||||
# This is the test application. You can run this program to see your test output
|
# This is the test application. You can run this program to see your test output
|
||||||
TEST_APP = test_gildedrose
|
TEST_APP = test_gildedrose
|
||||||
|
|||||||
@ -1,13 +1,33 @@
|
|||||||
|
# Gilded Rose, C99 Edition
|
||||||
|
|
||||||
The command "make" will build and run your tests, as well as build the program
|
The command "make" will build and run your tests, as well as build the program
|
||||||
golden_rose, which can serve as the basis for a golden-rule test.
|
golden_rose, which can serve as the basis for a golden-rule test.
|
||||||
|
|
||||||
|
|
||||||
Assumptions:
|
## Assumptions
|
||||||
- gnu make and a C compiler (like gcc) is installed on your system and is in the PATH
|
- gnu make and a C compiler (like gcc) is installed on your system and is in the PATH
|
||||||
- The check unit testing library is installed on your system (https://libcheck.github.io/check/)
|
- The check unit testing library is installed on your system (https://libcheck.github.io/check/)
|
||||||
- pkg-config is installed on your system
|
- pkg-config is installed on your system
|
||||||
|
|
||||||
Notes:
|
## Usage
|
||||||
|
- Run `make` to build the program and run all tests
|
||||||
|
- Files which contain tests should be named `test_*.c` They will automatically
|
||||||
|
be included in your test suite.
|
||||||
|
- `GildedRose.h` should not be modified. The Goblin threat is real.
|
||||||
|
- New program logic may be included in files named `gilded_*.c` which will
|
||||||
|
automatically be included in both your tests and the final program.
|
||||||
|
|
||||||
|
## Golden Rule tests
|
||||||
|
- The program `golden_rose` will generate text output. If you capture this
|
||||||
|
output after your first `make` you can use this as a reference for a golden
|
||||||
|
rule test.
|
||||||
|
- You can test your work against this reference by directing the output of your
|
||||||
|
current golden_rose to a file and using the `diff` utility to compare that
|
||||||
|
to the reference file you created above.
|
||||||
|
- To avoid the Goblin threat you can use `git diff GildedRose.h`, which should
|
||||||
|
have no output if you have left the precious Item structure unchanged.
|
||||||
|
|
||||||
|
## Notes
|
||||||
- This project is tweaked to run on Linux systems, and will mostly work on Macs.
|
- This project is tweaked to run on Linux systems, and will mostly work on Macs.
|
||||||
With some changes to the Makefile it can be made to run on BSD systems with
|
With some changes to the Makefile it can be made to run on BSD systems with
|
||||||
BSD make. An adventurous person could also get it to run on Windows.
|
BSD make. An adventurous person could also get it to run on Windows.
|
||||||
Loading…
Reference in New Issue
Block a user