From 47db96bd1160f6030290b17e50d28410bb7bb230 Mon Sep 17 00:00:00 2001 From: Ryan Gang Date: Sun, 22 Dec 2024 21:53:16 +0530 Subject: [PATCH] revert: revert changes to Makefile --- Makefile | 99 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 61 insertions(+), 38 deletions(-) diff --git a/Makefile b/Makefile index 7e8b1c0..13dc913 100644 --- a/Makefile +++ b/Makefile @@ -17,17 +17,29 @@ build: test: TESTER_DIR=$(shell pwd) go test -count=1 -p 1 -v ./internal/... -record_fixtures: - CODECRAFTERS_RECORD_FIXTURES=true make test - -update_tester_utils: - go get -u github.com/codecrafters-io/tester-utils +test_base_w_bash: build + CODECRAFTERS_REPOSITORY_DIR=./internal/test_helpers/bash \ + CODECRAFTERS_TEST_CASES_JSON="[ \ + {\"slug\":\"oo8\",\"tester_log_prefix\":\"tester::#oo8\",\"title\":\"Stage #1: Init\"}, \ + {\"slug\":\"cz2\",\"tester_log_prefix\":\"tester::#cz2\",\"title\":\"Stage #2: Invalid Command\"}, \ + {\"slug\":\"ff0\",\"tester_log_prefix\":\"tester::#ff0\",\"title\":\"Stage #3: REPL\"}, \ + {\"slug\":\"pn5\",\"tester_log_prefix\":\"tester::#pn5\",\"title\":\"Stage #4: Exit\"}, \ + {\"slug\":\"iz3\",\"tester_log_prefix\":\"tester::#iz3\",\"title\":\"Stage #5: Echo\"}, \ + {\"slug\":\"ez5\",\"tester_log_prefix\":\"tester::#ez5\",\"title\":\"Stage #6: Type built-in\"}, \ + {\"slug\":\"mg5\",\"tester_log_prefix\":\"tester::#mg5\",\"title\":\"Stage #7: Type for executables\"}, \ + {\"slug\":\"ip1\",\"tester_log_prefix\":\"tester::#ip1\",\"title\":\"Stage #8: Run a program\"} \ + ]" \ + dist/main.out -copy_course_file: - gh api repos/codecrafters-io/build-your-own-shell/contents/course-definition.yml \ - | jq -r .content \ - | base64 -d \ - > internal/test_helpers/course_definition.yml +test_nav_w_bash: build + CODECRAFTERS_REPOSITORY_DIR=./internal/test_helpers/bash \ + CODECRAFTERS_TEST_CASES_JSON="[ \ + {\"slug\":\"ei0\",\"tester_log_prefix\":\"tester::#ei0\",\"title\":\"Stage #9: PWD\"}, \ + {\"slug\":\"ra6\",\"tester_log_prefix\":\"tester::#ra6\",\"title\":\"Stage #10: CD-1\"}, \ + {\"slug\":\"gq9\",\"tester_log_prefix\":\"tester::#gq9\",\"title\":\"Stage #11: CD-2\"}, \ + {\"slug\":\"gp4\",\"tester_log_prefix\":\"tester::#gp4\",\"title\":\"Stage #12: CD-3\"} \ + ]" \ + dist/main.out test_dash: build CODECRAFTERS_REPOSITORY_DIR=./internal/test_helpers/dash \ @@ -47,6 +59,20 @@ test_dash: build ]" \ dist/main.out +test_ryan: build + CODECRAFTERS_REPOSITORY_DIR=./internal/test_helpers/ryan_shell \ + CODECRAFTERS_TEST_CASES_JSON="[ \ + {\"slug\":\"cz2\",\"tester_log_prefix\":\"tester::#cz2\",\"title\":\"Stage #2: Invalid Command\"}, \ + {\"slug\":\"ff0\",\"tester_log_prefix\":\"tester::#ff0\",\"title\":\"Stage #3: REPL\"}, \ + {\"slug\":\"iz3\",\"tester_log_prefix\":\"tester::#iz3\",\"title\":\"Stage #5: Echo\"}, \ + {\"slug\":\"ez5\",\"tester_log_prefix\":\"tester::#ez5\",\"title\":\"Stage #6: Type built-in\"}, \ + {\"slug\":\"mg5\",\"tester_log_prefix\":\"tester::#mg5\",\"title\":\"Stage #7: Type for executables\"}, \ + {\"slug\":\"ip1\",\"tester_log_prefix\":\"tester::#ip1\",\"title\":\"Stage #8: Run a program\"} \ + ]" \ + dist/main.out + +test_all_success: test_bash test_dash + test_failure: build CODECRAFTERS_REPOSITORY_DIR=./internal/test_helpers/failure \ CODECRAFTERS_TEST_CASES_JSON="[ \ @@ -68,29 +94,18 @@ test_zsh_dangerously: build ]" \ dist/main.out -test_base_w_bash: build - CODECRAFTERS_REPOSITORY_DIR=./internal/test_helpers/bash \ - CODECRAFTERS_TEST_CASES_JSON="[ \ - {\"slug\":\"oo8\",\"tester_log_prefix\":\"tester::#oo8\",\"title\":\"Stage #1: Init\"}, \ - {\"slug\":\"cz2\",\"tester_log_prefix\":\"tester::#cz2\",\"title\":\"Stage #2: Invalid Command\"}, \ - {\"slug\":\"ff0\",\"tester_log_prefix\":\"tester::#ff0\",\"title\":\"Stage #3: REPL\"}, \ - {\"slug\":\"pn5\",\"tester_log_prefix\":\"tester::#pn5\",\"title\":\"Stage #4: Exit\"}, \ - {\"slug\":\"iz3\",\"tester_log_prefix\":\"tester::#iz3\",\"title\":\"Stage #5: Echo\"}, \ - {\"slug\":\"ez5\",\"tester_log_prefix\":\"tester::#ez5\",\"title\":\"Stage #6: Type built-in\"}, \ - {\"slug\":\"mg5\",\"tester_log_prefix\":\"tester::#mg5\",\"title\":\"Stage #7: Type for executables\"}, \ - {\"slug\":\"ip1\",\"tester_log_prefix\":\"tester::#ip1\",\"title\":\"Stage #8: Run a program\"} \ - ]" \ - dist/main.out -test_nav_w_bash: build - CODECRAFTERS_REPOSITORY_DIR=./internal/test_helpers/bash \ - CODECRAFTERS_TEST_CASES_JSON="[ \ - {\"slug\":\"ei0\",\"tester_log_prefix\":\"tester::#ei0\",\"title\":\"Stage #9: PWD\"}, \ - {\"slug\":\"ra6\",\"tester_log_prefix\":\"tester::#ra6\",\"title\":\"Stage #10: CD-1\"}, \ - {\"slug\":\"gq9\",\"tester_log_prefix\":\"tester::#gq9\",\"title\":\"Stage #11: CD-2\"}, \ - {\"slug\":\"gp4\",\"tester_log_prefix\":\"tester::#gp4\",\"title\":\"Stage #12: CD-3\"} \ - ]" \ - dist/main.out +record_fixtures: + CODECRAFTERS_RECORD_FIXTURES=true make test + +update_tester_utils: + go get -u github.com/codecrafters-io/tester-utils + +copy_course_file: + gh api repos/codecrafters-io/build-your-own-shell/contents/course-definition.yml \ + | jq -r .content \ + | base64 -d \ + > internal/test_helpers/course_definition.yml test_quoting_w_bash: build CODECRAFTERS_REPOSITORY_DIR=./internal/test_helpers/bash \ @@ -104,13 +119,11 @@ test_quoting_w_bash: build ]" \ dist/main.out -test_redirection_w_bash: build +test_quoting_minimal: build CODECRAFTERS_REPOSITORY_DIR=./internal/test_helpers/bash \ CODECRAFTERS_TEST_CASES_JSON="[ \ - {\"slug\":\"jv1\",\"tester_log_prefix\":\"tester::#jv1\",\"title\":\"Stage #13: Redirect stdout\"}, \ - {\"slug\":\"vz4\",\"tester_log_prefix\":\"tester::#vz4\",\"title\":\"Stage #14: Redirect stderr\"}, \ - {\"slug\":\"el9\",\"tester_log_prefix\":\"tester::#el9\",\"title\":\"Stage #15: Append stdout\"}, \ - {\"slug\":\"un3\",\"tester_log_prefix\":\"tester::#un3\",\"title\":\"Stage #16: Append stderr\"} \ + {\"slug\":\"ni6\",\"tester_log_prefix\":\"tester::#ni6\",\"title\":\"Stage #1: Quoting with single quotes\"}, \ + {\"slug\":\"yt5\",\"tester_log_prefix\":\"tester::#yt5\",\"title\":\"Stage #3: Quoting with backslashes\"} \ ]" \ dist/main.out @@ -118,4 +131,14 @@ test_bash: make test_base_w_bash make test_nav_w_bash make test_quoting_w_bash - make test_redirection_w_bash + + +test_redirection_w_bash: build + CODECRAFTERS_REPOSITORY_DIR=./internal/test_helpers/bash \ + CODECRAFTERS_TEST_CASES_JSON="[ \ + {\"slug\":\"jv1\",\"tester_log_prefix\":\"tester::#jv1\",\"title\":\"Stage #13: Redirect stdout\"}, \ + {\"slug\":\"vz4\",\"tester_log_prefix\":\"tester::#vz4\",\"title\":\"Stage #14: Redirect stderr\"}, \ + {\"slug\":\"el9\",\"tester_log_prefix\":\"tester::#el9\",\"title\":\"Stage #15: Append stdout\"}, \ + {\"slug\":\"un3\",\"tester_log_prefix\":\"tester::#un3\",\"title\":\"Stage #16: Append stderr\"} \ + ]" \ + dist/main.out \ No newline at end of file