@@ -712,6 +712,66 @@ def test_compile_with_packages_and_requirements(self):
712712 output_text_valid = output_file_valid .read_text ()
713713 assert output_text == output_text_valid
714714
715+ @patch ("sys.stdout" , new_callable = io .StringIO )
716+ def test_requirements_ordering (self , mock_stdout ):
717+ with tempfile .TemporaryDirectory () as tmpdir :
718+ copy_data_to_tmpdir (tmpdir )
719+ save_packages_to_file (
720+ Path (tmpdir ) / "requirements_expanded.txt" ,
721+ ["six" ],
722+ )
723+ save_packages_to_file (
724+ Path (tmpdir ) / "requirements_compiled_test_expand.txt" ,
725+ ["zipp" ],
726+ )
727+ manager = _create_test_manager (tmpdir )
728+ manager .compile (
729+ constraints = ["requirement_constraints_test.txt" ],
730+ requirements = [
731+ "requirements_test.txt" ,
732+ "requirements_expanded.txt" ,
733+ "requirements_compiled_test_expand.txt" ,
734+ ],
735+ append_flags = ["--no-annotate" , "--no-header" ],
736+ name = "requirements_ordering_test_depset" ,
737+ output = "requirements_compiled_requirements_ordering.txt" ,
738+ )
739+ stdout = mock_stdout .getvalue ()
740+ assert (
741+ "requirements_compiled_test_expand.txt requirements_expanded.txt requirements_test.txt"
742+ in stdout
743+ )
744+
745+ @patch ("sys.stdout" , new_callable = io .StringIO )
746+ def test_constraints_ordering (self , mock_stdout ):
747+ with tempfile .TemporaryDirectory () as tmpdir :
748+ copy_data_to_tmpdir (tmpdir )
749+ save_packages_to_file (
750+ Path (tmpdir ) / "requirements_expanded.txt" ,
751+ ["six==1.17.0" ],
752+ )
753+ save_packages_to_file (
754+ Path (tmpdir ) / "requirements_compiled_test_expand.txt" ,
755+ ["zipp==3.19.2" ],
756+ )
757+ manager = _create_test_manager (tmpdir )
758+ manager .compile (
759+ requirements = ["requirements_test.txt" ],
760+ constraints = [
761+ "requirement_constraints_test.txt" ,
762+ "requirements_expanded.txt" ,
763+ "requirements_compiled_test_expand.txt" ,
764+ ],
765+ append_flags = ["--no-annotate" , "--no-header" ],
766+ name = "constraints_ordering_test_depset" ,
767+ output = "requirements_compiled_constraints_ordering.txt" ,
768+ )
769+ stdout = mock_stdout .getvalue ()
770+ assert (
771+ "-c requirement_constraints_test.txt -c requirements_compiled_test_expand.txt -c requirements_expanded.txt"
772+ in stdout
773+ )
774+
715775 @patch ("sys.stdout" , new_callable = io .StringIO )
716776 def test_execute_pre_hook (self , mock_stdout ):
717777 with tempfile .TemporaryDirectory () as tmpdir :
0 commit comments