Name: Pyinstaller
URL: https://github.com/EssamFattah/pyinstaller.git
Number of lines of code and the tool used to count it: 60,825 TOTAL, 42,000 written in Python (used lizard to count)
Programming language: Python
After downloading the necessary modules from the requirements.txt file using “pip install -r requirements.txt”, we used the Coverage.py command “coverage run --source=. -m pytest” to test the coverage of our code. We then translated the results into HTML to help us better visualise the coverage using “coverage html”:
![1](https://private-user-images.githubusercontent.com/122282163/343898417-91b60355-69a6-43b6-b7d3-ee1e60f4bda5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk4NDE3LTkxYjYwMzU1LTY5YTYtNDNiNi1iN2QzLWVlMWU2MGY0YmRhNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03YTMzNzRkNzIzZTA3ZDZmZGU2NDBjYzAwYTg3YzRkMjVkMWJkMzI1NjNiZjg4MTUwYTllMzc2NTZjNzFkYTUzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.8vbgsJCCyo5d7mZKMIFgZEOh4tNs_qfCi5DS96EG_4s)
![Screenshot 2024-06-27 at 8 17 29 PM](https://private-user-images.githubusercontent.com/122282163/343898687-cc0fc79f-033e-446f-b350-042a76ff762c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk4Njg3LWNjMGZjNzlmLTAzM2UtNDQ2Zi1iMzUwLTA0MmE3NmZmNzYyYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lNjE1ZWM2ZDk2NzlmMjU5ZjZjZDBkMDI2OTc4MDY5NTUxMTdiY2JmY2UxN2ExNTlhOWMxY2Y4NjgyODI0NmZiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Q1wBgQxCOf7tOQvVSRlhPDGKWimJBMiCnzD97XtEmqg)
We find a coverage of 63 percent for the project.
Future (Essam) Abdel Fattah:
Function 1 name: build_script(text_options=None, always_on_top=False)
![Screenshot 2024-06-27 at 8 19 08 PM](https://private-user-images.githubusercontent.com/122282163/343899026-ec315f5c-87c9-4a59-ba3a-bd8b846e65bb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5MDI2LWVjMzE1ZjVjLTg3YzktNGE1OS1iYTNhLWJkOGI4NDZlNjViYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mOGM4ZTU0ZDcwYWQ3OTZkOTc0MThhYTZjOWYyZThmMzMxMzhlZDRiMzg0OTEyY2ZiMmIzZTE1NTVkMTM3OTNiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.BXaXCkK95eswa4N9qA-U5D_ixgufFTm7ve7tOb2zb1U)
Commit link: https://github.com/pyinstaller/pyinstaller/commit/b0aacbd4fd1e696b1157b3e74dad9238b00b7b10#
Function 2 name: _module_collection_mode_sanitizer(value)
![Screenshot 2024-06-27 at 8 19 23 PM](https://private-user-images.githubusercontent.com/122282163/343899110-9fdda14f-408f-4d65-a2dd-04df78d6723e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5MTEwLTlmZGRhMTRmLTQwOGYtNGQ2NS1hMmRkLTA0ZGY3OGQ2NzIzZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05NGZiYTBkMjdhYThmZGU5MmE4MDM2YmEyYjBkYWY1NTY5OTM0M2M5OTkzMTdmNmNiOGY5YTZlNjRjOThiZTVjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.U0YO2lHGP0E6EBOuHugTiVC-djf3NiSa3tqzdq1VTEg)
Commit link: https://github.com/pyinstaller/pyinstaller/commit/9e222041cd34a99393c73905675d422f3ea1b8dc
Member 2 Seleem Wagdy:
Function 1 name: make_path_spec_relative(filename, spec_dir)
![Screenshot 2024-06-27 at 8 19 40 PM](https://private-user-images.githubusercontent.com/122282163/343899175-94e60348-e11d-4820-ba1f-1ccb8273561c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5MTc1LTk0ZTYwMzQ4LWUxMWQtNDgyMC1iYTFmLTFjY2I4MjczNTYxYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wOThlYTc1NGZjY2IwZjQ4YTA2MmMxYzY2ZGQwYmQ3OGRiMzIzMWYzMThlMzRhZGI4ZDAyODM3YjE2ZWRiMjA2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.mVVm_LcJr4-vDjWMN8KL0srVnUuHXJo8AcrTL_Gg-Eo)
Commit link: https://github.com/pyinstaller/pyinstaller/commit/664f977348b4e57cd3422dc6b985e3b82cdd4657
Function 2 name: _check_guts_eq(attr_name, old_value, new_value, last_build)
![Screenshot 2024-06-27 at 8 19 53 PM](https://private-user-images.githubusercontent.com/122282163/343899247-f739a871-1635-4d68-be6b-fa728cba447b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5MjQ3LWY3MzlhODcxLTE2MzUtNGQ2OC1iZTZiLWZhNzI4Y2JhNDQ3Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lNDQwYjE4NmNhNzgxYTY1OGQ0YzYwYTNjYmJmMGM2NmIzZGZhMzk0ZTU4MTdkZmE0NDY4YTNiNGVkNjcwYThhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.is51pwLQJ28jL7gEZ9hSXC8QKBKjHvDEV1b6O0E0C6k)
Commit link: https://github.com/pyinstaller/pyinstaller/commit/fb1013de80eadff211f11ac69d2f5e3aa280b621
Member 1 Future (Essam) Abdel Fattah: Test 1:
Old coverage results:
![Screenshot 2024-06-27 at 8 20 21 PM](https://private-user-images.githubusercontent.com/122282163/343899330-1001c6ee-f912-4b43-8b73-343234ccdf04.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5MzMwLTEwMDFjNmVlLWY5MTItNGI0My04YjczLTM0MzIzNGNjZGYwNC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hMzZjNTY5ZmVhODc4MWM1MTU3ODE0YTI2MDBjZDEzM2EyMGMwMDM1ZjY0MDI3N2UxNGI4ZWFmYWQ0ZDZmOTkxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.bq3WehbZkV5RPSKeJICyOC02dtQ74PQk0RF_YID623s)
New coverage results:
![Screenshot 2024-06-27 at 8 20 38 PM](https://private-user-images.githubusercontent.com/122282163/343899380-798bf246-8b71-44e3-a5e7-0938bc4f2a70.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5MzgwLTc5OGJmMjQ2LThiNzEtNDRlMy1hNWU3LTA5MzhiYzRmMmE3MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kNDM4NzIwY2VjYmViZGJiYzZmYjAxYjNlOTkzZDJhYzg5NzRiODg1NTI2MGJlMjY5ZTQwOWU4MzY0MTdhZjA2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.NFMUHb59titKEkEQ6ibTHOzAX83qUY8y3eN6b44UlW0)
We created a test case where the font is “TKDefault” as well as a test case where the font is “Helvetica”, this made sure that the code in the conditional statements is covered. We can see this is the case because of the green highlight seen in the screenshot above.
![Screenshot 2024-06-27 at 8 20 56 PM](https://private-user-images.githubusercontent.com/122282163/343899455-ab1093ac-44b5-4561-9cbc-b86f3aca6dc9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5NDU1LWFiMTA5M2FjLTQ0YjUtNDU2MS05Y2JjLWI4NmYzYWNhNmRjOS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05MDMyYjAwMjM3ZGVjNzdmN2YxMzk5OWYwYTFjNWQ0YTg0YjE2ZGMxNjUyNTczYjk4ZTM2MzQ5MTExNzQ2YjdiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.wcpj1U-MhLTiyi-bMITREoAy2QIcbOykESgZFsxOr_I)
Test 2:
Old coverage results:
![Screenshot 2024-06-27 at 8 21 11 PM](https://private-user-images.githubusercontent.com/122282163/343899516-72970b8a-6234-424b-a351-0853b98524a7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5NTE2LTcyOTcwYjhhLTYyMzQtNDI0Yi1hMzUxLTA4NTNiOTg1MjRhNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hNDU0NjVkZDQ2YzgyZTJmMzk1MGVlNWM4MzNjZmZlMDI3MGNkMTg5NjkwYjY2ZmM5MzgzZTA1MDVjYWJhYjA5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.DSCLJw7hqESy6zZLdZu6xHTOUKaGoN4EyN_NMHlRz2I)
New coverage results:
![Screenshot 2024-06-27 at 8 21 23 PM](https://private-user-images.githubusercontent.com/122282163/343899569-b3b2f3d2-6305-4bc6-b5b0-75cdb24d4605.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5NTY5LWIzYjJmM2QyLTYzMDUtNGJjNi1iNWIwLTc1Y2RiMjRkNDYwNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xMTJiZDE0MWFjYTM3ZmI4Y2ZhZDMzMGUxMzMyNTNlN2FkZjg5YWFkZGQxZTU5YzcyNjIyNTBiOTVlNGI2NmI1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.7W1LAqfQdVwngsvojvT-sMtn7qZlk_iOJsstUj4HO4U)
We created 2 test cases to cover both of the branches seen in the code, the first test case tests when value is a dictionary variable, and the second test case tests when value is a string variable. This properly covers both available branches of the function.
![Screenshot 2024-06-27 at 8 21 34 PM](https://private-user-images.githubusercontent.com/122282163/343899623-7e83568f-11e7-4b8a-8c3a-55eab21e734e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5NjIzLTdlODM1NjhmLTExZTctNGI4YS04YzNhLTU1ZWFiMjFlNzM0ZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00NWRiNjRhNDEyMzZmZTdmYzk1MTgwOGI5ZDU5NmIxNDVmOTdmNjkzZjk1ZDA2NTYwNDVlYWYyMDg4OTg4YjA2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.UqtR87J95GjTGnAsmmiTJKSboUJFHczXMyg_csJCpGU)
Commit link: https://github.com/pyinstaller/pyinstaller/commit/9e222041cd34a99393c73905675d422f3ea1b8dc
Member 2: Seleem Wagdy
Test 1: <Show a patch (diff) or a link to a commit made in your forked repository that shows the new/enhanced test>
Old coverage:
![Screenshot 2024-06-27 at 8 21 49 PM](https://private-user-images.githubusercontent.com/122282163/343899708-ff3c22f8-ed73-4db5-ad44-ae48ea9e6f2c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5NzA4LWZmM2MyMmY4LWVkNzMtNGRiNS1hZDQ0LWFlNDhlYTllNmYyYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05MTI5OTYyZTU0Y2Y2MDFiNWUyNmM5NjcwYjgyZTYzZDg3MWRkZTVlZThmMWUyYzZjMTljYzI4ODU3NWMyZGUwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.FO9iGV-PRbaVZPKZUQ2v3dTHZlX8QQjXnyszq-KTjFY)
New coverage:
<img width="944" alt="Screenshot 2024-06-27 at 8 22 07 PM" src="https://github.com/EssamFattah/pyinstaller/assets/122282163/6be200df-136b-42af-b23a-a7fa7af2e37e">
For this function, we created two test cases that would cover the available branches. The first case takes filename to be an absolute path (“//”), while the second test case takes to be a normal path (“C:”).
![Screenshot 2024-06-27 at 8 22 23 PM](https://private-user-images.githubusercontent.com/122282163/343899839-31a027e5-6f23-4b19-ac56-37905ccdb5df.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5ODM5LTMxYTAyN2U1LTZmMjMtNGIxOS1hYzU2LTM3OTA1Y2NkYjVkZi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05OWI5YTI5ZTVlZjY3YTVhMzE1OThkMmRjNGI4MzNiNTU1Y2U2MDViYjkyNDA2ODBkZTc4ZDFhZWM4YmI1ZDgzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.UUiVyiVNTSsC7EBFQhrrxsq7J1LACIBAdkfiphsH5mc)
Commit link: https://github.com/pyinstaller/pyinstaller/commit/664f977348b4e57cd3422dc6b985e3b82cdd4657
Task 2:
Old coverage:
![Screenshot 2024-06-27 at 8 22 36 PM](https://private-user-images.githubusercontent.com/122282163/343899885-658e7079-6dca-408f-b214-83595a19f85a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5ODg1LTY1OGU3MDc5LTZkY2EtNDA4Zi1iMjE0LTgzNTk1YTE5Zjg1YS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04OWIxZTlhNzMxNDg0NzZkN2QxNGIzMDk5YWU5ODFjNzM4MmFiYzgyMDU2MzcyOTQ0NWQ3ODZmMGM3NDVjZTg1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.VWgcqP7wZO6XuBoO_3zMbx6DypbKzdPWJYzSuz-hFhY)
New coverage:
![Screenshot 2024-06-27 at 8 22 54 PM](https://private-user-images.githubusercontent.com/122282163/343899954-9530ee29-756f-4e11-afb6-f101916cd5c2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzODk5OTU0LTk1MzBlZTI5LTc1NmYtNGUxMS1hZmI2LWYxMDE5MTZjZDVjMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03MTU4NGI2NGQyZmRmZjY2MWY0YjFkNjhjMmEzYjUyNmU5YWI2ODEwOGE1YTdhYmZiOTVjZWU4Zjc4MmUxZmRlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.VRZbYgQLpgvRrXUEX7X2gDAOSh5jRvemwXd44DPoQLw)
We created two test cases to cover both branches present in this function, first we created a test cases where old_value and new_value are different, and a test case where they are the same.
![Screenshot 2024-06-27 at 8 23 03 PM](https://private-user-images.githubusercontent.com/122282163/343900003-204eca72-cd77-459a-bef0-16f4fd057faa.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzOTAwMDAzLTIwNGVjYTcyLWNkNzctNDU5YS1iZWYwLTE2ZjRmZDA1N2ZhYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02NDBjYWZlZmMxNDU5MWI1YjRlMWQzYzUwMzVlMDFhYWI3Y2NiNzk1NGM3ZjQyZjBlMWY3NDUzZmVlYmExZDI4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.SlbrpvE_mRYEDiiOeF1jrTsSbF-rGoDSvCxEEbifYuM)
Commit link: https://github.com/pyinstaller/pyinstaller/commit/fb1013de80eadff211f11ac69d2f5e3aa280b621
Old coverage:
![Screenshot 2024-06-27 at 8 23 14 PM](https://private-user-images.githubusercontent.com/122282163/343900081-169dd72e-56f9-48cc-9d53-8626c0d2bbd7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzOTAwMDgxLTE2OWRkNzJlLTU2ZjktNDhjYy05ZDUzLTg2MjZjMGQyYmJkNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jODIxZWQ4MzU5ZGQwYmE0Y2YwNzRlZjM4YWNhYTU3OGVjYzY3ZTA2Y2YwZDc2OWE4ZDJiODVlYjMwYmUxNDczJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.k2FeJj5J41HgXoo7k1l-xQLFi-O5cwfQfdTQWGqKNZY)
New coverage:
![Screenshot 2024-06-27 at 8 23 24 PM](https://private-user-images.githubusercontent.com/122282163/343900150-52bacb4e-3ab7-43a7-9b2f-2492fdaf8c44.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzOTAwMTUwLTUyYmFjYjRlLTNhYjctNDNhNy05YjJmLTI0OTJmZGFmOGM0NC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04NzFmMjdiYjc3NzIyMWJhYzE1ODZkMDE2NTNkODdiYTdkNGJkN2NiZjE4ZWRlMjI5YjRlYzExZDczYTRiOGIyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Zubw3nmhAXa4W9VOt4fFadVUbljai-LSAWM2FvfWB8Y)
We can see a coverage increase of 1% on the overall code, down below you can see the individual files that were modified, and how their coverage was affected after our tests were implemented.
![Screenshot 2024-06-27 at 8 23 44 PM](https://private-user-images.githubusercontent.com/122282163/343900229-ab592024-db1d-4b19-bc39-dd568b592088.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA1Njk5MDksIm5iZiI6MTcyMDU2OTYwOSwicGF0aCI6Ii8xMjIyODIxNjMvMzQzOTAwMjI5LWFiNTkyMDI0LWRiMWQtNGIxOS1iYzM5LWRkNTY4YjU5MjA4OC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxMFQwMDAwMDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iOGRiNTAyOWE5NDdjMmY0NjlhNjJjYTA4Y2Y3ZDlhMzJkZTg1NjVjMzY3ODUwZTA5NDhkZjBlMWFiNjBiZmMyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.41HmCkgthJy2MACScvwmn8RyUx4TTPLAWjjzkaX23r0)
Looked for a suitable repository: Future and Seleem, Figured out how to run the coverage test: Future and Seleem, Took care of the forked repository: Future, Wrote and put together the documentation: Seleem, Wrote the coverage code for the build_script and _module_collection_mode_sanitizer functions: Future, Wrote the coverage code for the make_path_spec_relative and _check_guts_eq functions: Seleem