├── maps ├── valid │ ├── map1.ber │ ├── map-square.ber │ ├── map2.ber │ ├── map4.ber │ └── map3.ber └── invalid │ ├── map-extra-E-1.ber │ ├── map-extra-P-1.ber │ ├── map-invalid-extension │ ├── map-missing-C-1.ber │ ├── map-missing-E-1.ber │ ├── map-missing-P-1.ber │ ├── map-missing-W-1.ber │ ├── map-empty-line1.ber │ ├── map-empty-line2.ber │ ├── map-empty-line3.ber │ ├── map-extra-parameter-1.ber │ ├── map-extra-parameter-2.ber │ ├── map-not-rectangular-1.ber │ ├── map-extra-P-2.ber │ ├── map-extra-E-2.ber │ ├── map-missing-C-2.ber │ ├── map-missing-E-2.ber │ ├── map-not-rectangular-3.ber │ ├── map-not-rectangular-4.ber │ ├── map-missing-P-2.ber │ ├── map-missing-W-2.ber │ ├── map-not-rectangular-2.ber │ ├── map-extra-E-3.ber │ ├── map-extra-E-4.ber │ ├── map-extra-P-3.ber │ ├── map-extra-P-4.ber │ ├── map-missing-C-3.ber │ ├── map-missing-E-3.ber │ ├── map-missing-P-3.ber │ ├── map-missing-W-3.ber │ ├── map-missing-W-4.ber │ ├── map-missing-W-5.ber │ ├── map-extra-parameter-3.ber │ ├── map-extra-parameter-4.ber │ ├── map-extra-parameter-5.ber │ ├── map-empty-line4.ber │ └── map-missing-P-4.ber ├── tests ├── check-for-missing-argv.sh ├── check-for-no-map.sh ├── check-for-missing-C.sh ├── check-for-missing-E.sh ├── check-for-multiple-argv.sh ├── check-for-extra-E.sh ├── check-for-extra-P.sh ├── check-for-empty-line.sh ├── check-for-missing-P.sh ├── check-for-invalid-extension.sh ├── check-for-not-rectangular-map.sh ├── check-for-missing-W.sh └── check-for-invalid-parameter.sh ├── README.md ├── Makefile └── READMEs └── README-ptbr.md /maps/valid/map1.ber: -------------------------------------------------------------------------------- 1 | 111111 2 | 1PC0E1 3 | 111111 4 | -------------------------------------------------------------------------------- /maps/valid/map-square.ber: -------------------------------------------------------------------------------- 1 | 11111 2 | 1E001 3 | 100C1 4 | 10PC1 5 | 11111 -------------------------------------------------------------------------------- /maps/valid/map2.ber: -------------------------------------------------------------------------------- 1 | 1111111111111 2 | 100100C0000C1 3 | 1C00011111001 4 | 1P0011E000001 5 | 1111111111111 6 | -------------------------------------------------------------------------------- /maps/invalid/map-extra-E-1.ber: -------------------------------------------------------------------------------- 1 | 1111111111111 2 | 100100C0000C1 3 | 1C00011111001 4 | 1P0011E0000E1 5 | 1111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-extra-P-1.ber: -------------------------------------------------------------------------------- 1 | 1111111111111 2 | 100100C0000C1 3 | 1C00011111001 4 | 1P0011E0000P1 5 | 1111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-invalid-extension: -------------------------------------------------------------------------------- 1 | 1111111111111 2 | 100100C0000C1 3 | 1C00011111001 4 | 1P0011E000001 5 | 1111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-C-1.ber: -------------------------------------------------------------------------------- 1 | 1111111111111 2 | 1001000000E01 3 | 1000011111001 4 | 1P00110000001 5 | 1111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-E-1.ber: -------------------------------------------------------------------------------- 1 | 1111111111111 2 | 100100C0000C1 3 | 1C00011111001 4 | 1P00110000001 5 | 1111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-P-1.ber: -------------------------------------------------------------------------------- 1 | 1111111111111 2 | 100100C0000C1 3 | 1C00011111001 4 | 100011E000001 5 | 1111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-W-1.ber: -------------------------------------------------------------------------------- 1 | 1111111111111 2 | 100100C0000C1 3 | 1C00011111001 4 | 1P0011000E001 5 | 1111111101111 -------------------------------------------------------------------------------- /maps/invalid/map-empty-line1.ber: -------------------------------------------------------------------------------- 1 | 2 | 1111111111111 3 | 100100C0000C1 4 | 1C00011111001 5 | 1P0011E000001 6 | 1111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-empty-line2.ber: -------------------------------------------------------------------------------- 1 | 1111111111111 2 | 100100C0000C1 3 | 4 | 1C00011111001 5 | 1P0011E000001 6 | 1111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-empty-line3.ber: -------------------------------------------------------------------------------- 1 | 1111111111111 2 | 100100C0000C1 3 | 1C00011111001 4 | 1P0011E000001 5 | 1111111111111 6 | -------------------------------------------------------------------------------- /maps/invalid/map-extra-parameter-1.ber: -------------------------------------------------------------------------------- 1 | 1111111111111 2 | 100100C000IC1 3 | 1C00011111001 4 | 1P0011E000001 5 | 1111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-extra-parameter-2.ber: -------------------------------------------------------------------------------- 1 | 1111111111111 2 | 100100C0000C1 3 | 1C00011111001 4 | 1P0011ES00001 5 | 1111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-not-rectangular-1.ber: -------------------------------------------------------------------------------- 1 | 1111111111111 2 | 100100C0000C1 3 | 1C000111110001 4 | 1P00110000E01 5 | 1111111111111 -------------------------------------------------------------------------------- /maps/valid/map4.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111 2 | 10000000C0000001111 3 | 1001011111000001111 4 | 10010000C0000P01111 5 | 1001000000000E01111 6 | 10001111101100000C1 7 | 1111111111111111111 8 | -------------------------------------------------------------------------------- /maps/invalid/map-extra-P-2.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111 2 | 10000000C00000P1111 3 | 1001011111000001111 4 | 10010000C0000P01111 5 | 1001000000000E01111 6 | 1000111110110000C1 7 | 1111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-extra-E-2.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111 2 | 10000000C0000001111 3 | 1001011111000001111 4 | 10010000C0000E01111 5 | 1001000000000E01111 6 | 1000111110110000PC1 7 | 1111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-C-2.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111 2 | 1000000000000001111 3 | 1001011111000001111 4 | 1001000000000P01111 5 | 1001000000000E01111 6 | 1000111110110000001 7 | 1111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-E-2.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111 2 | 10000000C0000001111 3 | 1001011111000001111 4 | 10010000C0000P01111 5 | 1001000000000001111 6 | 10001111101100000C1 7 | 1111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-not-rectangular-3.ber: -------------------------------------------------------------------------------- 1 | 11111111111111111111 2 | 10000000C00000011111 3 | 1001011111000001111 4 | 10010000C0000P011111 5 | 1001000000000E011111 6 | 10001111101100000C11 7 | 11111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-not-rectangular-4.ber: -------------------------------------------------------------------------------- 1 | 11111111111111111111 2 | 10000000C0000001111 3 | 1001011111000001111 4 | 10010000C0000P01111 5 | 1001000000000E01111 6 | 10001111101100000C1 7 | 11111111111111111111 -------------------------------------------------------------------------------- /maps/valid/map3.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1E0000000000000C00000C000000000001 3 | 1010010100100000101001000000010101 4 | 1010010010101010001001000000010101 5 | 1P0000000C00C0000000000000000000C1 6 | 1111111111111111111111111111111111 7 | -------------------------------------------------------------------------------- /maps/invalid/map-missing-P-2.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1E0000000000000C00000C000000000001 3 | 1010010100100000101001000000010101 4 | 1010010010101010001001000000010101 5 | 100000000C00C0000000000000000000C1 6 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-W-2.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1E0000000000000C00000C000000000001 3 | 1010010100100000101001000000010101 4 | 1010010010101010001001000000010101 5 | 1P0000000C00C0000000000000000000C1 6 | 1111111111111111111111111111111110 -------------------------------------------------------------------------------- /maps/invalid/map-not-rectangular-2.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1E0000000000000C00000C000000000001 3 | 1010010100100000101001000000010101 4 | 1010010010101010001001000000010101 5 | 1P0000000C00C0000000000000000000C1 6 | 11111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-extra-E-3.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1P10000100000000010000100001000001 3 | 1000010111111001010000111011000011 4 | 1011110100001001010000001110001001 5 | 1000010100001100011101100010011001 6 | 1011110001000000010001000011110001 7 | 1010000101111111110001001000100011 8 | 1011100100000000010001011000101001 9 | 1010000111111111011011010011101001 10 | 1010100000000001001010010010001111 11 | 101111110001000100101011E010000001 12 | 1000000111110101000010011111110101 13 | 1000100100010101011111111000000001 14 | 1111100110010101110000000001001001 15 | 1E00000000000100000110001001001CE1 16 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-extra-E-4.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1C10000100000000010000100001000001 3 | 1000010111111001010000111011000011 4 | 1011110100001001010000001110001001 5 | 1000010100001100011101100010011001 6 | 1011110001000000010001000011110001 7 | 1010000101111111110001001000100011 8 | 1011100100000000010001011000101001 9 | 1010000111111111011011010011101001 10 | 1010100000000001001010010010001111 11 | 101111110001000100101011P010000001 12 | 1000000111110101000010011111110101 13 | 1000100100010101011111111000000001 14 | 1111100110010101110000000001001001 15 | 1EEE000000000100000110001001001001 16 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-extra-P-3.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1P10000100000000010000100001000001 3 | 1000010111111001010000111011000011 4 | 1011110100001001010000001110001001 5 | 1000010100001100011101100010011001 6 | 1011110001000000010001000011110001 7 | 1010000101111111110001001000100011 8 | 1011100100000000010001011000101001 9 | 1010000111111111011011010011101001 10 | 1010100000000001001010010010001111 11 | 101111110001000100101011E010000001 12 | 1000000111110101000010011111110101 13 | 1000100100010101011111111000000001 14 | 1111100110010101110000000001001001 15 | 1P00000000000100000110001001001CP1 16 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-extra-P-4.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1C10000100000000010000100001000001 3 | 1000010111111001010000111011000011 4 | 1011110100001001010000001110001001 5 | 1000010100001100011101100010011001 6 | 1011110001000000010001000011110001 7 | 1010000101111111110001001000100011 8 | 1011100100000000010001011000101001 9 | 1010000111111111011011010011101001 10 | 1010100000000001001010010010001111 11 | 101111110001000100101011E010000001 12 | 1000000111110101000010011111110101 13 | 1000100100010101011111111000000001 14 | 1111100110010101110000000001001001 15 | 1PPP000000000100000110001001001001 16 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-C-3.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1P10000100000000010000100001000001 3 | 1000010111111001010000111011000011 4 | 1011110100001001010000001110001001 5 | 1000010100001100011101100010011001 6 | 1011110001000000010001000011110001 7 | 1010000101111111110001001000100011 8 | 1011100100000000010001011000101001 9 | 1010000111111111011011010011101001 10 | 1010100000000001001010010010001111 11 | 101111110001000100101011E010000001 12 | 1000000111110101000010011111110101 13 | 1000100100010101011111111000000001 14 | 1111100110010101110000000001001001 15 | 1000000000000100000110001001001001 16 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-E-3.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1010000100000000010000100001000001 3 | 1000010111111001010000111011000011 4 | 1011110100001001010000001110001001 5 | 1000010100001100011101100010011001 6 | 1011110001000000010001000011110001 7 | 1010000101111111110001001000100011 8 | 1011100100000000010001011000101001 9 | 1010000111111111011011010011101001 10 | 1010100000000001001010010010001111 11 | 1011111100010001001010110010000001 12 | 1000000111110101000010011111110101 13 | 1000100100010101011111111000000001 14 | 1111100110010101110000000001001001 15 | 1PC0000000000100000110001001001001 16 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-P-3.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 10100001C0000000010C00100001000C01 3 | 1C00010111111001010000111011000011 4 | 1011110100001001C1C00C001110001001 5 | 100001010000110001110110001C011001 6 | 1C111100010000C0010C0100001111C001 7 | 101000010111111111000100100C100011 8 | 10111C0100000000010001011000101001 9 | 1010CC01111111110110110100111010C1 10 | 1C10100000000001001010010010001111 11 | 101111110001000100101011E010000001 12 | 1000C00111110101000010C11111110101 13 | 1C0010010C01C101011111111C0000C001 14 | 11111001100101011100C0000001001001 15 | 100C0000C0000100000110001001001CC1 16 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-W-3.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1P100001C0000000010C00100001000C01 3 | 1C00010111111001010000111011000011 4 | 1011110100001001C1C00C001110001001 5 | 100001010000110001110110001C011001 6 | 1C111100010000C0010C0100001111C001 7 | 101000010111111111000100100C100011 8 | 10111C0100000000010001011000101001 9 | 1010CC01111111110110110100111010C1 10 | 1C10100000000001001010010010001110 11 | 101111110001000100101011E010000001 12 | 1000C00111110101000010C11111110101 13 | 1C0010010C01C101011111111C0000C001 14 | 11111001100101011100C0000001001001 15 | 100C0000C0000100000110001001001CC1 16 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-W-4.ber: -------------------------------------------------------------------------------- 1 | 1111111110111111111111111111111111 2 | 1P100001C0000000010C00100001000C01 3 | 1C00010111111001010000111011000011 4 | 1011110100001001C1C00C001110001001 5 | 100001010000110001110110001C011001 6 | 1C111100010000C0010C0100001111C001 7 | 101000010111111111000100100C100011 8 | 10111C0100000000010001011000101001 9 | 1010CC01111111110110110100111010C1 10 | 1C10100000000001001010010010001111 11 | 101111110001000100101011E010000001 12 | 1000C00111110101000010C11111110101 13 | 1C0010010C01C101011111111C0000C001 14 | 11111001100101011100C0000001001001 15 | 100C0000C0000100000110001001001CC1 16 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-W-5.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1P100001C0000000010C00100001000C01 3 | 1C00010111111001010000111011000011 4 | 1011110100001001C1C00C001110001001 5 | 100001010000110001110110001C011001 6 | EC111100010000C0010C0100001111C001 7 | 101000010111111111000100100C100011 8 | 10111C0100000000010001011000101001 9 | 1010CC01111111110110110100111010C1 10 | 1C10100000000001001010010010001111 11 | 1011111100010001001010110010000001 12 | 1000C00111110101000010C11111110101 13 | 1C0010010C01C101011111111C0000C001 14 | 11111001100101011100C0000001001001 15 | 100C0000C0000100000110001001001CC1 16 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-extra-parameter-3.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1P100001C0000000010CT0100001000C01 3 | 1C00010111111001010000111011000011 4 | 10111101T0001001C1C00C001110001001 5 | 100001010000110001110110001C011001 6 | 1C111100010000C0010C0100001111C001 7 | 101000010111111111000100100C100011 8 | 10111C0100000000010001011000101001 9 | 1010CC01111111110110110100111010C1 10 | 1C10100000000001001010010010001111 11 | 1011111100010T0100101011E010000001 12 | 1000C00111110101000010C11111110101 13 | 1C0010010C01C101011111111C0000C001 14 | 11111001100101011100C0T00001001001 15 | 1T0C0000C0000100000110001001001CC1 16 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-extra-parameter-4.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1P100001C0000000010C00100001000C01 3 | 1C00010111111001010000111011000011 4 | 1011110100001001C1C00C001110001001 5 | 100001010000110001110110001C011001 6 | 1C111100010000C0010C0100001111C001 7 | 101000010111111111000100100C100011 8 | 10111C0100000000010001011000101001 9 | 1010CC01111111110110110100111010C1 10 | 1C10100000000001001010010010001111 11 | 101111110001000100101011E010000001 12 | 1000C00111110101000010C11111110101 13 | 1C0010010C01C101011111111C0000C001 14 | 11111001100101011100C0000001001001 15 | 100C0000C0000100000110001001001211 16 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-extra-parameter-5.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1P100001C0000000010C00100001000C01 3 | 1C00010111111001010000111011000011 4 | 1011110100001001C1C00C001110001001 5 | 100001010000110001110110001C011001 6 | 1C111100010000C0010C0100001111C001 7 | 101000010111111111000100100C100011 8 | 10111C0100000000010001011000101001 9 | 1010CC01111111110110110100111010C1 10 | 1C10100000000001001010010010001111 11 | 101111110001000100101011E010000001 12 | 1000C00111110101000010C11111110101 13 | 1C0010010C01C101011111111C0000C001 14 | 11111001100101011100C0000001001001 15 | 100C00 0C0000100000110001001001CC1 16 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-empty-line4.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 1C10000100000000010000100001000001 3 | 1000010111111001010000111011000011 4 | 1011110100001001010000001110001001 5 | 1000010100001100011101100010011001 6 | 1011110001000000010001000011110001 7 | 1010000101111111110001001000100011 8 | 1011100100000000010001011000101001 9 | 1010000111111111011011010011101001 10 | 1010100000000001001010010010001111 11 | 101111110001000100101011E010000001 12 | 1000000111110101000010011111110101 13 | 1000100100010101011111111000000001 14 | 1111100110010101110000000001001001 15 | 1P00000000000100000110001001001001 16 | 17 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /maps/invalid/map-missing-P-4.ber: -------------------------------------------------------------------------------- 1 | 1111111111111111111111111111111111 2 | 10100001C0000000010C00100001000C01 3 | 1C00010111111001010000111011000011 4 | 1011110100001001C1C00C001110001001 5 | 100001010000110001110110001C011001 6 | 1C111100010000C0010C0100001111C001 7 | 101000010111111111000100100C100011 8 | 10111C0100000000010001011000101001 9 | 1010CC01111111110110110100111010C1 10 | 1C10100000000001001010010010001111 11 | 101111110001000100101011E010000001 12 | 1000C00111110101000010C11111110101 13 | 1C0010010C01C101011111111C0000C001 14 | 11111001100101011100C0000001001001 15 | 100C0000C0000100000110001001001CC1 16 | 10010C0000000000000000010000000001 17 | 1000100000000010100010010000100001 18 | 10000C0001000000000000010000100001 19 | 100100000C000001000010010000001001 20 | 100001C000000000000000010000001001 21 | 1000010011000000000010000010101001 22 | 1000010001000000000010000000000001 23 | 1000010000000000000010000000000001 24 | 1111111111111111111111111111111111 -------------------------------------------------------------------------------- /tests/check-for-missing-argv.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # 5 | # ::: :::::::: 6 | # SoLongTester/check-for-missing-argv.sh :+: :+: :+: 7 | # +:+ +:+ +:+ 8 | # By: acesar-l +#+ +:+ +#+ 9 | # +#+#+#+#+#+ +#+ 10 | # Created: 2021/03/28 08:07:10 by acesar-l #+# #+# 11 | # Updated: 2021/07/17 01:39:41 by acesar-l ### ########.fr 12 | # 13 | # 14 | 15 | CYAN="\033[0;36m" 16 | GREEN="\033[0;32m" 17 | RED="\033[0;31m" 18 | RESET="\033[0m" 19 | VAL=$(valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --quiet --tool=memcheck --keep-debuginfo=yes ./../so_long | grep "Error" > check) 20 | ERROR=$(grep "Error" check | wc -l) 21 | 22 | ${VAL} 23 | 24 | if [ ${ERROR} -ge 1 ] 25 | then 26 | echo -e "${CYAN}Check for missing argv: $GREEN [OK] $RESET" 27 | else 28 | echo -e "${CYAN}Check for missing argv: $RED [KO] $RESET" 29 | fi 30 | -------------------------------------------------------------------------------- /tests/check-for-no-map.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # 5 | # ::: :::::::: 6 | # SoLongTester/check-for-no-map.sh :+: :+: :+: 7 | # +:+ +:+ +:+ 8 | # By: acesar-l +#+ +:+ +#+ 9 | # +#+#+#+#+#+ +#+ 10 | # Created: 2021/03/28 07:52:10 by acesar-l #+# #+# 11 | # Updated: 2021/07/17 01:39:41 by acesar-l ### ########.fr 12 | # 13 | # 14 | 15 | CYAN="\033[0;36m" 16 | GREEN="\033[0;32m" 17 | RED="\033[0;31m" 18 | RESET="\033[0m" 19 | MAP="Maps/invalid/no-map.ber" 20 | VAL=$(valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --quiet --tool=memcheck --keep-debuginfo=yes ./../so_long $MAP | grep "Error" > check) 21 | ERROR=$(grep "Error" check | wc -l) 22 | 23 | ${VAL} 24 | 25 | if [ ${ERROR} -ge 1 ] 26 | then 27 | echo -e "${CYAN}Check for no Map: $GREEN [OK] $RESET" 28 | else 29 | echo -e "${CYAN}Check for no Map: $RED [KO] $RESET" 30 | fi 31 | -------------------------------------------------------------------------------- /tests/check-for-missing-C.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # 5 | # ::: :::::::: 6 | # SoLongTester/check-for-missing-C.sh :+: :+: :+: 7 | # +:+ +:+ +:+ 8 | # By: acesar-l +#+ +:+ +#+ 9 | # +#+#+#+#+#+ +#+ 10 | # Created: 2021/03/15 14:35:10 by acesar-l #+# #+# 11 | # Updated: 2021/07/17 01:39:41 by acesar-l ### ########.fr 12 | # 13 | # 14 | 15 | CYAN="\033[0;36m" 16 | GREEN="\033[0;32m" 17 | RED="\033[0;31m" 18 | RESET="\033[0m" 19 | MAP1="maps/invalid/map-missing-C-1.ber" 20 | MAP2="maps/invalid/map-missing-C-2.ber" 21 | MAP3="maps/invalid/map-missing-C-3.ber" 22 | ERROR1=$(./../so_long $MAP1 | grep "Error" | wc -l) 23 | ERROR2=$(./../so_long $MAP2 | grep "Error" | wc -l) 24 | ERROR3=$(./../so_long $MAP3 | grep "Error" | wc -l) 25 | 26 | if [ ${ERROR1} -ge 1 ] 27 | then 28 | echo -e -n "${CYAN}Check for missing C: $GREEN [OK] $RESET" 29 | else 30 | echo -e -n "${CYAN}Check for missing C: $RED [KO] $RESET" 31 | fi 32 | 33 | if [ ${ERROR2} -ge 1 ] 34 | then 35 | echo -e -n "$GREEN[OK] $RESET" 36 | else 37 | echo -e -n "$RED[KO] $RESET" 38 | fi 39 | 40 | if [ ${ERROR3} -ge 1 ] 41 | then 42 | echo -e "$GREEN[OK] $RESET" 43 | else 44 | echo -e "$RED[KO] $RESET" 45 | fi 46 | -------------------------------------------------------------------------------- /tests/check-for-missing-E.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # 5 | # ::: :::::::: 6 | # SoLongTester/check-for-missing-E.sh :+: :+: :+: 7 | # +:+ +:+ +:+ 8 | # By: acesar-l +#+ +:+ +#+ 9 | # +#+#+#+#+#+ +#+ 10 | # Created: 2021/03/15 14:35:10 by acesar-l #+# #+# 11 | # Updated: 2021/07/17 01:39:41 by acesar-l ### ########.fr 12 | # 13 | # 14 | 15 | CYAN="\033[0;36m" 16 | GREEN="\033[0;32m" 17 | RED="\033[0;31m" 18 | RESET="\033[0m" 19 | MAP1="maps/invalid/map-missing-E-1.ber" 20 | MAP2="maps/invalid/map-missing-E-2.ber" 21 | MAP3="maps/invalid/map-missing-E-3.ber" 22 | ERROR1=$(./../so_long $MAP1 | grep "Error" | wc -l) 23 | ERROR2=$(./../so_long $MAP2 | grep "Error" | wc -l) 24 | ERROR3=$(./../so_long $MAP3 | grep "Error" | wc -l) 25 | 26 | if [ ${ERROR1} -ge 1 ] 27 | then 28 | echo -e -n "${CYAN}Check for missing E: $GREEN [OK] $RESET" 29 | else 30 | echo -e -n "${CYAN}Check for missing E: $RED [KO] $RESET" 31 | fi 32 | 33 | if [ ${ERROR2} -ge 1 ] 34 | then 35 | echo -e -n "$GREEN[OK] $RESET" 36 | else 37 | echo -e -n "$RED[KO] $RESET" 38 | fi 39 | 40 | if [ ${ERROR3} -ge 1 ] 41 | then 42 | echo -e "$GREEN[OK] $RESET" 43 | else 44 | echo -e "$RED[KO] $RESET" 45 | fi 46 | -------------------------------------------------------------------------------- /tests/check-for-multiple-argv.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # 5 | # ::: :::::::: 6 | # SoLongTester/check-for-multiple-argv.sh :+: :+: :+: 7 | # +:+ +:+ +:+ 8 | # By: acesar-l +#+ +:+ +#+ 9 | # +#+#+#+#+#+ +#+ 10 | # Created: 2021/03/28 08:11:10 by acesar-l #+# #+# 11 | # Updated: 2021/07/17 01:39:41 by acesar-l ### ########.fr 12 | # 13 | # 14 | 15 | CYAN="\033[0;36m" 16 | GREEN="\033[0;32m" 17 | RED="\033[0;31m" 18 | RESET="\033[0m" 19 | MAP="maps/valid/map1.ber" 20 | EXTRA1="maps/valid/map2.ber" 21 | EXTRA2="maps/valid/map3.ber" 22 | VAL1=$(valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --quiet --tool=memcheck --keep-debuginfo=yes ./../so_long $MAP $EXTRA1 | grep "Error" > check) 23 | VAL2=$(valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --quiet --tool=memcheck --keep-debuginfo=yes ./../so_long $MAP $EXTRA1 $EXTRA2 | grep "Error" > check) 24 | ERROR=$(grep "Error" check | wc -l) 25 | 26 | ${VAL1} 27 | 28 | if [ ${ERROR} -ge 1 ] 29 | then 30 | echo -e -n "${CYAN}Check for multiple argv: $GREEN [OK] $RESET" 31 | else 32 | echo -e -n "${CYAN}Check for multiple argv: $RED [KO] $RESET" 33 | fi 34 | 35 | ${VAL2} 36 | 37 | if [ ${ERROR} -ge 1 ] 38 | then 39 | echo -e "$GREEN[OK] $RESET" 40 | else 41 | echo -e "$RED[KO] $RESET" 42 | fi 43 | -------------------------------------------------------------------------------- /tests/check-for-extra-E.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # 5 | # ::: :::::::: 6 | # SoLongTester/check-for-extra-E.sh :+: :+: :+: 7 | # +:+ +:+ +:+ 8 | # By: acesar-l +#+ +:+ +#+ 9 | # +#+#+#+#+#+ +#+ 10 | # Created: 2021/03/15 14:35:10 by acesar-l #+# #+# 11 | # Updated: 2021/07/17 01:39:41 by acesar-l ### ########.fr 12 | # 13 | # 14 | 15 | CYAN="\033[0;36m" 16 | GREEN="\033[0;32m" 17 | RED="\033[0;31m" 18 | RESET="\033[0m" 19 | MAP1="maps/invalid/map-extra-E-1.ber" 20 | MAP2="maps/invalid/map-extra-E-2.ber" 21 | MAP3="maps/invalid/map-extra-E-3.ber" 22 | MAP4="maps/invalid/map-extra-E-4.ber" 23 | ERROR1=$(./../so_long $MAP1 | grep "Error" | wc -l) 24 | ERROR2=$(./../so_long $MAP2 | grep "Error" | wc -l) 25 | ERROR3=$(./../so_long $MAP3 | grep "Error" | wc -l) 26 | ERROR4=$(./../so_long $MAP4 | grep "Error" | wc -l) 27 | 28 | if [ ${ERROR1} -ge 1 ] 29 | then 30 | echo -e -n "${CYAN}Check for extra E: $GREEN [OK] $RESET" 31 | else 32 | echo -e -n "${CYAN}Check for extra E: $RED [KO] $RESET" 33 | fi 34 | 35 | if [ ${ERROR2} -ge 1 ] 36 | then 37 | echo -e -n "$GREEN[OK] $RESET" 38 | else 39 | echo -e -n "$RED[KO] $RESET" 40 | fi 41 | 42 | if [ ${ERROR3} -ge 1 ] 43 | then 44 | echo -e -n "$GREEN[OK] $RESET" 45 | else 46 | echo -e -n "$RED[KO] $RESET" 47 | fi 48 | 49 | if [ ${ERROR4} -ge 1 ] 50 | then 51 | echo -e "$GREEN[OK] $RESET" 52 | else 53 | echo -e "$RED[KO] $RESET" 54 | fi 55 | -------------------------------------------------------------------------------- /tests/check-for-extra-P.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # 5 | # ::: :::::::: 6 | # SoLongTester/check-for-extra-P.sh :+: :+: :+: 7 | # +:+ +:+ +:+ 8 | # By: acesar-l +#+ +:+ +#+ 9 | # +#+#+#+#+#+ +#+ 10 | # Created: 2021/03/15 14:35:10 by acesar-l #+# #+# 11 | # Updated: 2021/07/17 01:39:41 by acesar-l ### ########.fr 12 | # 13 | # 14 | 15 | CYAN="\033[0;36m" 16 | GREEN="\033[0;32m" 17 | RED="\033[0;31m" 18 | RESET="\033[0m" 19 | MAP1="maps/invalid/map-extra-P-1.ber" 20 | MAP2="maps/invalid/map-extra-P-2.ber" 21 | MAP3="maps/invalid/map-extra-P-3.ber" 22 | MAP4="maps/invalid/map-extra-P-4.ber" 23 | ERROR1=$(./../so_long $MAP1 | grep "Error" | wc -l) 24 | ERROR2=$(./../so_long $MAP2 | grep "Error" | wc -l) 25 | ERROR3=$(./../so_long $MAP3 | grep "Error" | wc -l) 26 | ERROR4=$(./../so_long $MAP4 | grep "Error" | wc -l) 27 | 28 | if [ ${ERROR1} -ge 1 ] 29 | then 30 | echo -e -n "${CYAN}Check for extra P: $GREEN [OK] $RESET" 31 | else 32 | echo -e -n "${CYAN}Check for extra P: $RED [KO] $RESET" 33 | fi 34 | 35 | if [ ${ERROR2} -ge 1 ] 36 | then 37 | echo -e -n "$GREEN[OK] $RESET" 38 | else 39 | echo -e -n "$RED[KO] $RESET" 40 | fi 41 | 42 | if [ ${ERROR3} -ge 1 ] 43 | then 44 | echo -e -n "$GREEN[OK] $RESET" 45 | else 46 | echo -e -n "$RED[KO] $RESET" 47 | fi 48 | 49 | if [ ${ERROR4} -ge 1 ] 50 | then 51 | echo -e "$GREEN[OK] $RESET" 52 | else 53 | echo -e "$RED[KO] $RESET" 54 | fi 55 | -------------------------------------------------------------------------------- /tests/check-for-empty-line.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # 5 | # ::: :::::::: 6 | # SoLongTester/check-for-empty-line.sh :+: :+: :+: 7 | # +:+ +:+ +:+ 8 | # By: acesar-l +#+ +:+ +#+ 9 | # +#+#+#+#+#+ +#+ 10 | # Created: 2021/06/20 23:43:10 by acesar-l #+# #+# 11 | # Updated: 2021/07/15 10:43:41 by acesar-l ### ########.fr 12 | # 13 | # 14 | 15 | CYAN="\033[0;36m" 16 | GREEN="\033[0;32m" 17 | RED="\033[0;31m" 18 | RESET="\033[0m" 19 | MAP1="maps/invalid/map-empty-line1.ber" 20 | MAP2="maps/invalid/map-empty-line2.ber" 21 | MAP3="maps/invalid/map-empty-line3.ber" 22 | MAP4="maps/invalid/map-empty-line4.ber" 23 | ERROR1=$(./../so_long $MAP1 | grep "Error" | wc -l) 24 | ERROR2=$(./../so_long $MAP2 | grep "Error" | wc -l) 25 | ERROR3=$(./../so_long $MAP3 | grep "Error" | wc -l) 26 | ERROR4=$(./../so_long $MAP4 | grep "Error" | wc -l) 27 | 28 | if [ ${ERROR1} -ge 1 ] 29 | then 30 | echo -e -n "${CYAN}Check Map with an Empty Line: $GREEN [OK] $RESET" 31 | else 32 | echo -e -n "${CYAN}Check Map with an Empty Line: $RED [KO] $RESET" 33 | fi 34 | 35 | if [ ${ERROR2} -ge 1 ] 36 | then 37 | echo -e -n "$GREEN[OK] $RESET" 38 | else 39 | echo -e -n "$RED[KO] $RESET" 40 | fi 41 | 42 | if [ ${ERROR3} -ge 1 ] 43 | then 44 | echo -e -n "$GREEN[OK] $RESET" 45 | else 46 | echo -e -n "$RED[KO] $RESET" 47 | fi 48 | 49 | if [ ${ERROR4} -ge 1 ] 50 | then 51 | echo -e "$GREEN[OK] $RESET" 52 | else 53 | echo -e "$RED[KO] $RESET" 54 | fi 55 | -------------------------------------------------------------------------------- /tests/check-for-missing-P.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # 5 | # ::: :::::::: 6 | # SoLongTester/check-for-missing-C.sh :+: :+: :+: 7 | # +:+ +:+ +:+ 8 | # By: acesar-l +#+ +:+ +#+ 9 | # +#+#+#+#+#+ +#+ 10 | # Created: 2021/03/15 14:35:10 by acesar-l #+# #+# 11 | # Updated: 2021/05/02 13:11:41 by acesar-l ### ########.fr 12 | # 13 | # 14 | 15 | CYAN="\033[0;36m" 16 | GREEN="\033[0;32m" 17 | RED="\033[0;31m" 18 | RESET="\033[0m" 19 | MAP1="maps/invalid/map-missing-P-1.ber" 20 | MAP2="maps/invalid/map-missing-P-2.ber" 21 | MAP3="maps/invalid/map-missing-P-3.ber" 22 | MAP4="maps/invalid/map-missing-P-4.ber" 23 | ERROR1=$(./../so_long $MAP1 | grep "Error" | wc -l) 24 | ERROR2=$(./../so_long $MAP2 | grep "Error" | wc -l) 25 | ERROR3=$(./../so_long $MAP3 | grep "Error" | wc -l) 26 | ERROR4=$(./../so_long $MAP4 | grep "Error" | wc -l) 27 | 28 | if [ ${ERROR1} -ge 1 ] 29 | then 30 | echo -e -n "${CYAN}Check for missing P: $GREEN [OK] $RESET" 31 | else 32 | echo -e -n "${CYAN}Check for missing P: $RED [KO] $RESET" 33 | fi 34 | 35 | if [ ${ERROR2} -ge 1 ] 36 | then 37 | echo -e -n "$GREEN[OK] $RESET" 38 | else 39 | echo -e -n "$RED[KO] $RESET" 40 | fi 41 | 42 | if [ ${ERROR3} -ge 1 ] 43 | then 44 | echo -e -n "$GREEN[OK] $RESET" 45 | else 46 | echo -e -n "$RED[KO] $RESET" 47 | fi 48 | 49 | if [ ${ERROR4} -ge 1 ] 50 | then 51 | echo -e "$GREEN[OK] $RESET" 52 | else 53 | echo -e "$RED[KO] $RESET" 54 | fi 55 | -------------------------------------------------------------------------------- /tests/check-for-invalid-extension.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # 5 | # ::: :::::::: 6 | # SoLongTester/check-for-invalid-extension.sh :+: :+: :+: 7 | # +:+ +:+ +:+ 8 | # By: acesar-l +#+ +:+ +#+ 9 | # +#+#+#+#+#+ +#+ 10 | # Created: 2021/03/15 14:35:10 by acesar-l #+# #+# 11 | # Updated: 2021/07/17 01:39:41 by acesar-l ### ########.fr 12 | # 13 | # 14 | 15 | CYAN="\033[0;36m" 16 | GREEN="\033[0;32m" 17 | RED="\033[0;31m" 18 | RESET="\033[0m" 19 | MAP1="maps/invalid/map-invalid-extension" 20 | MAP2="maps/invalid/map-invalid-extension.be" 21 | MAP3="maps/invalid/map-invalid-extension.ber.ber" 22 | MAP4="maps/invalid/map-invalid-extension.berber" 23 | ERROR1=$(./../so_long $MAP1 | grep "Error" | wc -l) 24 | ERROR2=$(./../so_long $MAP2 | grep "Error" | wc -l) 25 | ERROR3=$(./../so_long $MAP3 | grep "Error" | wc -l) 26 | ERROR4=$(./../so_long $MAP4 | grep "Error" | wc -l) 27 | 28 | if [ ${ERROR1} -ge 1 ] 29 | then 30 | echo -e -n "${CYAN}Check invalid extension: $GREEN [OK] $RESET" 31 | else 32 | echo -e -n "${CYAN}Check invalid extension: $RED [KO] $RESET" 33 | fi 34 | 35 | if [ ${ERROR2} -ge 1 ] 36 | then 37 | echo -e -n "$GREEN[OK] $RESET" 38 | else 39 | echo -e -n "$RED[KO] $RESET" 40 | fi 41 | 42 | if [ ${ERROR3} -ge 1 ] 43 | then 44 | echo -e -n "$GREEN[OK] $RESET" 45 | else 46 | echo -e -n "$RED[KO] $RESET" 47 | fi 48 | 49 | if [ ${ERROR4} -ge 1 ] 50 | then 51 | echo -e "$GREEN[OK] $RESET" 52 | else 53 | echo -e "$RED[KO] $RESET" 54 | fi 55 | -------------------------------------------------------------------------------- /tests/check-for-not-rectangular-map.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # 5 | # ::: :::::::: 6 | # SoLongTester/check-for-not-rectangular-map.sh :+: :+: :+: 7 | # +:+ +:+ +:+ 8 | # By: acesar-l +#+ +:+ +#+ 9 | # +#+#+#+#+#+ +#+ 10 | # Created: 2021/06/20 23:43:10 by acesar-l #+# #+# 11 | # Updated: 2021/07/15 10:43:41 by acesar-l ### ########.fr 12 | # 13 | # 14 | 15 | CYAN="\033[0;36m" 16 | GREEN="\033[0;32m" 17 | RED="\033[0;31m" 18 | RESET="\033[0m" 19 | MAP1="maps/invalid/map-not-rectangular-1.ber" 20 | MAP2="maps/invalid/map-not-rectangular-2.ber" 21 | MAP3="maps/invalid/map-not-rectangular-3.ber" 22 | MAP4="maps/invalid/map-not-rectangular-4.ber" 23 | ERROR1=$(./../so_long $MAP1 | grep "Error" | wc -l) 24 | ERROR2=$(./../so_long $MAP2 | grep "Error" | wc -l) 25 | ERROR3=$(./../so_long $MAP3 | grep "Error" | wc -l) 26 | ERROR4=$(./../so_long $MAP4 | grep "Error" | wc -l) 27 | 28 | if [ ${ERROR1} -ge 1 ] 29 | then 30 | echo -e -n "${CYAN}Check Map not Rectangular: $GREEN [OK] $RESET" 31 | else 32 | echo -e -n "${CYAN}Check Map not Rectangular: $RED [KO] $RESET" 33 | fi 34 | 35 | if [ ${ERROR2} -ge 1 ] 36 | then 37 | echo -e -n "$GREEN[OK] $RESET" 38 | else 39 | echo -e -n "$RED[KO] $RESET" 40 | fi 41 | 42 | if [ ${ERROR3} -ge 1 ] 43 | then 44 | echo -e -n "$GREEN[OK] $RESET" 45 | else 46 | echo -e -n "$RED[KO] $RESET" 47 | fi 48 | 49 | if [ ${ERROR4} -ge 1 ] 50 | then 51 | echo -e "$GREEN[OK] $RESET" 52 | else 53 | echo -e "$RED[KO] $RESET" 54 | fi 55 | -------------------------------------------------------------------------------- /tests/check-for-missing-W.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # 5 | # ::: :::::::: 6 | # SoLongTester/check-for-missing-W.sh :+: :+: :+: 7 | # +:+ +:+ +:+ 8 | # By: acesar-l +#+ +:+ +#+ 9 | # +#+#+#+#+#+ +#+ 10 | # Created: 2021/03/15 14:35:10 by acesar-l #+# #+# 11 | # Updated: 2021/07/17 01:39:41 by acesar-l ### ########.fr 12 | # 13 | # 14 | 15 | CYAN="\033[0;36m" 16 | GREEN="\033[0;32m" 17 | RED="\033[0;31m" 18 | RESET="\033[0m" 19 | MAP1="maps/invalid/map-missing-W-1.ber" 20 | MAP2="maps/invalid/map-missing-W-2.ber" 21 | MAP3="maps/invalid/map-missing-W-3.ber" 22 | MAP4="maps/invalid/map-missing-W-4.ber" 23 | MAP5="maps/invalid/map-missing-W-5.ber" 24 | ERROR1=$(./../so_long $MAP1 | grep "Error" | wc -l) 25 | ERROR2=$(./../so_long $MAP2 | grep "Error" | wc -l) 26 | ERROR3=$(./../so_long $MAP3 | grep "Error" | wc -l) 27 | ERROR4=$(./../so_long $MAP4 | grep "Error" | wc -l) 28 | ERROR5=$(./../so_long $MAP5 | grep "Error" | wc -l) 29 | 30 | if [ ${ERROR1} -ge 1 ] 31 | then 32 | echo -e -n "${CYAN}Check for missing W: $GREEN [OK] $RESET" 33 | else 34 | echo -e -n "${CYAN}Check for missing W: $RED [KO] $RESET" 35 | fi 36 | 37 | if [ ${ERROR2} -ge 1 ] 38 | then 39 | echo -e -n "$GREEN[OK] $RESET" 40 | else 41 | echo -e -n "$RED[KO] $RESET" 42 | fi 43 | 44 | if [ ${ERROR3} -ge 1 ] 45 | then 46 | echo -e -n "$GREEN[OK] $RESET" 47 | else 48 | echo -e -n "$RED[KO] $RESET" 49 | fi 50 | 51 | if [ ${ERROR4} -ge 1 ] 52 | then 53 | echo -e -n "$GREEN[OK] $RESET" 54 | else 55 | echo -e -n "$RED[KO] $RESET" 56 | fi 57 | 58 | if [ ${ERROR5} -ge 1 ] 59 | then 60 | echo -e "$GREEN[OK] $RESET" 61 | else 62 | echo -e "$RED[KO] $RESET" 63 | fi 64 | -------------------------------------------------------------------------------- /tests/check-for-invalid-parameter.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 4 | # 5 | # ::: :::::::: 6 | # SoLongTester/check-for-invalid-parameter.sh :+: :+: :+: 7 | # +:+ +:+ +:+ 8 | # By: acesar-l +#+ +:+ +#+ 9 | # +#+#+#+#+#+ +#+ 10 | # Created: 2021/03/15 14:35:10 by acesar-l #+# #+# 11 | # Updated: 2021/07/17 01:39:41 by acesar-l ### ########.fr 12 | # 13 | # 14 | 15 | CYAN="\033[0;36m" 16 | GREEN="\033[0;32m" 17 | RED="\033[0;31m" 18 | RESET="\033[0m" 19 | MAP1="maps/invalid/map-extra-parameter-1.ber" 20 | MAP2="maps/invalid/map-extra-parameter-2.ber" 21 | MAP3="maps/invalid/map-extra-parameter-3.ber" 22 | MAP4="maps/invalid/map-extra-parameter-4.ber" 23 | MAP5="maps/invalid/map-extra-parameter-5.ber" 24 | ERROR1=$(./../so_long $MAP1 | grep "Error" | wc -l) 25 | ERROR2=$(./../so_long $MAP2 | grep "Error" | wc -l) 26 | ERROR3=$(./../so_long $MAP3 | grep "Error" | wc -l) 27 | ERROR4=$(./../so_long $MAP4 | grep "Error" | wc -l) 28 | ERROR5=$(./../so_long $MAP5 | grep "Error" | wc -l) 29 | 30 | if [ ${ERROR1} -ge 1 ] 31 | then 32 | echo -e -n "${CYAN}Check extra parameter: $GREEN [OK] $RESET" 33 | else 34 | echo -e -n "${CYAN}Check extra parameter: $RED [KO] $RESET" 35 | fi 36 | 37 | if [ ${ERROR2} -ge 1 ] 38 | then 39 | echo -e -n "$GREEN[OK] $RESET" 40 | else 41 | echo -e -n "$RED[KO] $RESET" 42 | fi 43 | 44 | if [ ${ERROR3} -ge 1 ] 45 | then 46 | echo -e -n "$GREEN[OK] $RESET" 47 | else 48 | echo -e -n "$RED[KO] $RESET" 49 | fi 50 | 51 | if [ ${ERROR4} -ge 1 ] 52 | then 53 | echo -e -n "$GREEN[OK] $RESET" 54 | else 55 | echo -e -n "$RED[KO] $RESET" 56 | fi 57 | 58 | if [ ${ERROR5} -ge 1 ] 59 | then 60 | echo -e "$GREEN[OK] $RESET" 61 | else 62 | echo -e "$RED[KO] $RESET" 63 | fi 64 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

so_long_tester - @42sp

2 |

:information_source: Tester for the so_long project of 42 school.

3 | 4 |

[Version Oct. 2022]

5 | 6 |

7 | 8 |

9 | 10 |

11 | 12 |

Tester for a series of map validations.

13 | 14 | Such as: 15 | 16 | • No map. [no-map] 17 | 18 | • Missing argv. [miss-argv] 19 | 20 | • Multiple argv. [mult-argv] 21 | 22 | • Invalid extension. [invalid-extension] 23 | 24 | • Map with an Empty Line. [empty-line] 25 | 26 | • Not Rectangular Map. [not-rectangular] 27 | 28 | • Invalid map parameter. [invalid-paramater] 29 | 30 | • Missing W parameter. [miss-w] 31 | 32 | • Missing C parameter. [miss-c] 33 | 34 | • Missing E parameter. [miss-e] 35 | 36 | • Missing P parameter. [miss-p] 37 | 38 | • Extra P parameter. [extra-p] 39 | 40 | New Suject's Requirements | 🚧 Under construction | 41 | 42 | • Extra E parameter. [extra-e] 43 | 44 | • No valid path. [no-valid-path] 45 | 46 |

How to get started:

47 | 48 | Clone this tester in your so_long repository. 49 | 50 | ## Commands 51 | 52 | cd into so_long_tester 53 | 54 | make m = launch mandatory tests. 55 | 56 | make [test_name] = launch only the specific test requested. 57 | 58 |

Outputs

59 | 60 | ![image](https://user-images.githubusercontent.com/81205527/179400332-9e80f631-7d46-464b-a0eb-e481b48ad6b4.png) 61 | 62 |

How it works:

63 | 64 | The tester uses some invalid maps to test a series of map validations. 65 | It returns OK if when executed with the maps the code outputs "Error"(as asked in the subject). 66 | 67 | If you're looking for an implementation of so_long you can check my project here: [so_long](https://github.com/augustobecker/so_long). 68 | 69 | To see other projects developed by me at 42, click here: [42 Cursus](https://github.com/augustobecker/42cursus). 70 | 71 |

Author

72 |
73 |
74 | 75 |
76 |
77 | Augusto Becker | acesar-l | 🇧🇷👨‍🚀 78 | 79 | :wave: How to reach me: 80 |
81 |
82 | LinkedIn 83 | Instagram 84 | Gmail - augustobecker.dev@gmail.com 85 | Discord - beckerzz#3614 86 |
87 |
88 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # **************************************************************************** # 2 | # # 3 | # ::: :::::::: # 4 | # Makefile :+: :+: :+: # 5 | # +:+ +:+ +:+ # 6 | # By: acesar-l +#+ +:+ +#+ # 7 | # +#+#+#+#+#+ +#+ # 8 | # Created: 2022/03/25 16:02:17 by acesar-l #+# #+# # 9 | # Updated: 2022/09/28 18:59:26 by acesar-l ### ########.fr # 10 | # # 11 | # **************************************************************************** # 12 | 13 | PURPLE = \033[0;35m 14 | GREEN = \033[0;32m 15 | RED = \033[0;31m 16 | RESET = \033[0m 17 | 18 | PATH_TEST = tests 19 | PATH_GAME = ../ 20 | 21 | TESTS = ${PATH_TEST}/check-for-no-map.sh \ 22 | ${PATH_TEST}/check-for-missing-argv.sh \ 23 | ${PATH_TEST}/check-for-multiple-argv.sh \ 24 | ${PATH_TEST}/check-for-invalid-extension.sh \ 25 | ${PATH_TEST}/check-for-empty-line.sh \ 26 | ${PATH_TEST}/check-for-not-rectangular-map.sh \ 27 | ${PATH_TEST}/check-for-invalid-parameter.sh \ 28 | ${PATH_TEST}/check-for-missing-W.sh \ 29 | ${PATH_TEST}/check-for-missing-C.sh \ 30 | ${PATH_TEST}/check-for-missing-E.sh \ 31 | ${PATH_TEST}/check-for-missing-P.sh \ 32 | ${PATH_TEST}/check-for-extra-P.sh \ 33 | ${PATH_TEST}/check-for-extra-E.sh 34 | 35 | all: m 36 | 37 | m: game permission tester 38 | 39 | game: 40 | @ make -C ${PATH_GAME} 41 | 42 | permission: 43 | @chmod -R a+x * 44 | 45 | no-map: 46 | @ ./${PATH_TEST}/check-for-no-map.sh 47 | 48 | miss-argv: 49 | @ ./${PATH_TEST}/check-for-missing-argv.sh 50 | 51 | mult-argv: 52 | @ ./${PATH_TEST}/check-for-multiple-argv.sh 53 | 54 | invalid-extension: 55 | @ ./${PATH_TEST}/check-for-invalid-extension.sh 56 | 57 | empty-line: 58 | @ ./${PATH_TEST}/check-for-empty-line.sh 59 | 60 | not-rectangular: 61 | @ ./${PATH_TEST}/check-for-not-rectangular-map.sh 62 | 63 | invalid-paramater: 64 | @ ./${PATH_TEST}/check-for-invalid-parameter.sh 65 | 66 | miss-w: 67 | @ ./${PATH_TEST}/check-for-missing-W.sh 68 | 69 | miss-c: 70 | @ ./${PATH_TEST}/check-for-missing-C.sh 71 | 72 | miss-e: 73 | @ ./${PATH_TEST}/check-for-missing-E.sh 74 | 75 | miss-p: 76 | @ ./${PATH_TEST}/check-for-missing-P.sh 77 | 78 | extra-p: 79 | @ ./${PATH_TEST}/check-for-extra-P.sh 80 | 81 | extra-e: 82 | @ ./${PATH_TEST}/check-for-extra-E.sh 83 | 84 | tester: 85 | @ echo 86 | @ echo "${PURPLE}***************************************************************${RESET}" 87 | @ echo "${PURPLE}* so_long_tester *${RESET}" 88 | @ echo "${PURPLE}***************************************************************${RESET}" 89 | @ echo 90 | @ ./${PATH_TEST}/check-for-no-map.sh 91 | @ ./${PATH_TEST}/check-for-missing-argv.sh 92 | @ ./${PATH_TEST}/check-for-multiple-argv.sh 93 | @ ./${PATH_TEST}/check-for-invalid-extension.sh 94 | @ ./${PATH_TEST}/check-for-empty-line.sh 95 | @ ./${PATH_TEST}/check-for-not-rectangular-map.sh 96 | @ ./${PATH_TEST}/check-for-invalid-parameter.sh 97 | @ ./${PATH_TEST}/check-for-missing-W.sh 98 | @ ./${PATH_TEST}/check-for-missing-C.sh 99 | @ ./${PATH_TEST}/check-for-missing-E.sh 100 | @ ./${PATH_TEST}/check-for-missing-P.sh 101 | @ ./${PATH_TEST}/check-for-extra-P.sh 102 | @ ./${PATH_TEST}/check-for-extra-E.sh 103 | @ echo 104 | @ echo "${PURPLE}***************************************************************${RESET}" 105 | @ echo 106 | 107 | .PHONY: all m game permission no-map miss-argv mult-argv \ 108 | invalid-extension empty-line not-rectangular \ 109 | invalid-paramater miss-w miss-c miss-e miss-p extra-p extra-e tester 110 | -------------------------------------------------------------------------------- /READMEs/README-ptbr.md: -------------------------------------------------------------------------------- 1 |

so_long_tester - @42sp

2 |

:information_source: Testes automatizados para o projeto so_long da 42

3 | 4 |

5 | 6 |

7 | 8 |

9 | 10 |

Testes para uma série de validações de Mapa

11 | 12 | Como: 13 | 14 | • O mapa não existe. [no-map] 15 | 16 | • Faltando argv. [miss-argv] 17 | 18 | • Múltiplos argv. [mult-argv] 19 | 20 | • Extensão Inválida. [invalid-extension] 21 | 22 | • Mapa com linha Vazia. [empty-line] 23 | 24 | • Mapa não retangular. [not-rectangular] 25 | 26 | • Parâmetro Invalido no Mapa. [invalid-paramater] 27 | 28 | • Mapa faltando um parâmetro W. [miss-w] 29 | 30 | • Mapa faltando um parâmetro C. [miss-c] 31 | 32 | • Mapa faltando um parâmetro E. [miss-e] 33 | 34 | • Mapa faltando um parâmetro P. [miss-p] 35 | 36 | • Mapa com um parâmetro P extra. [extra-p] 37 | 38 | Novos Requisitos do Projeto | 🚧 Em construção | 39 | 40 | • Mapa com um parâmetro E extra. [extra-e] 41 | 42 | • Mapa sem um caminho válido. [no-valid-path] 43 | 44 |

Como utilizar:

45 | 46 | Clone esse tester dentro do repositório do seu so_long. 47 | 48 | ## Comandos 49 | 50 | cd para entrar no so_long_tester 51 | 52 | make m = roda os testes mandatórios 53 | 54 | make [test_name] = roda apenas os testes da categoria requerida. 55 | 56 |

Outputs

57 | 58 | ![image](https://user-images.githubusercontent.com/81205527/179400332-9e80f631-7d46-464b-a0eb-e481b48ad6b4.png) 59 | 60 |

Como funciona:

61 | 62 | Esse tester usa alguns mapas inválidos para testar as validações de Mapa. 63 | Ele retorna OK caso o so_long, quando executado com os mapas, retorna "Error"(como pedido no subject). 64 | 65 | Se estiver buscando uma implementação do so_long, você pode conferir meu projeto aqui: [so_long](https://github.com/augustobecker/so_long). 66 | 67 |

42 Cursus

68 | 69 | A 42 é uma iniciativa educacional global que propõe uma nova forma de aprender tecnologia: sem professores, sem salas de aula, 70 | estudantes aprendendo com seus colegas estudantes (Aprendizado peer to peer), 71 | com uma metodologia que desenvolve habilidades de computação e da vida. 72 | Sem mencionar que é completamente gratuita e aberta para todos, sem pré-requisitos. 73 | 74 | As admissões na 42 são diferentes de outras escolas. Usamos um processo de admissão baseado em mérito. 75 | O passo final no processo é a Piscina - parte parte do processo seletivo que requer 4 semanas de código intenso e imersivo. 76 | Não é necessário experiência anterior em programação. 77 | 78 | Você pode conferir mais sobre o processo de admissão no site da 42sp: https://www.42sp.org.br 79 | 80 | ou no meu repositório do github: 42 Piscine 81 | 82 | Para ver outros projetos da 42 desenvolvidos por mim, clique aqui: 42 Cursus 83 | 84 |

Autor

85 |
86 |
87 | 88 |
89 |
90 | Augusto Becker | acesar-l | 🇧🇷👨‍🚀 91 | 92 | :wave: Fale comigo: 93 |
94 |
95 | LinkedIn 96 | Instagram 97 | Gmail - augustobecker.dev@gmail.com 98 | Discord - beckerzz#3614 99 |
100 |
101 | --------------------------------------------------------------------------------