Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

62 verify related fields #68

Merged
merged 2 commits into from
Jul 7, 2024
Merged

62 verify related fields #68

merged 2 commits into from
Jul 7, 2024

Conversation

aweakley
Copy link
Member

Add Django checks for the EDTFField's attributes.

Copy link

Coverage

Coverage Report
FileStmtsMissCoverMissing
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/edtf
   __init__.py40100% 
   appsettings.py28485%10–13
   convert.py634430%11–19, 21, 38–39, 52, 61, 72–73, 75, 104, 107–109, 113, 117, 136–156
   fields.py1192281%70, 84, 89, 91, 94–95, 97–98, 100, 105, 109–112, 135–136, 157, 167–168, 172–173, 181
   jdutil.py986632%37, 55, 91–92, 105, 152, 154–155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 251–252, 254–255, 257–258, 260, 262, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py71710%3–4, 6, 9–13, 16–21, 24–25, 28–29, 32–37, 40–44, 52–53, 56–62, 65–71, 74–79, 82–85, 88–91, 94–97, 100–107
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/edtf/natlang
   __init__.py20100% 
   en.py1477151%33, 43–44, 46–49, 54–55, 58–61, 63, 67–70, 72–73, 75–77, 85–87, 89–93, 103, 105, 118, 125, 156–158, 160–165, 168–170, 172–177, 201–204, 208, 223, 225–226, 228, 245, 247, 255, 257, 259, 261, 266, 269, 275
   tests.py10100%3, 5, 10, 179, 184–185, 190–191, 207, 211
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/edtf/parser
   __init__.py40100% 
   edtf_exceptions.py151126%13–19, 22–24, 29
   grammar.py1281191%148–151, 350, 355–360
   parser_classes.py63335044%69, 71, 78–81, 83–84, 86–87, 110–112, 116, 119, 122, 181, 183, 190, 192, 198–202, 207–213, 220–224, 229–235, 246, 257, 286, 290, 302–304, 309, 317–319, 322, 337–338, 342, 371–375, 378, 383–384, 387, 390, 393, 396–400, 403–407, 427–429, 453, 457, 462, 464, 483, 490, 506, 515–517, 519–521, 524–525, 527, 530–533, 535, 537–539, 541, 545, 558, 565–568, 571, 574–577, 580–583, 585–589, 592–593, 596, 600, 606–607, 610, 613–614, 617, 621–622, 625–626, 629, 635, 640–641, 647, 649, 652–654, 660, 665–666, 669, 675, 677, 681–695, 700–702, 706, 708, 711–713, 717, 719, 722–724, 730–733, 738–739, 744–745, 747, 750, 753–755, 757, 760, 763–766, 768–774, 781–784, 786–792, 801–802, 805, 808, 811–813, 815, 823, 842–844, 846–849, 851–852, 854–855, 857, 859, 868, 871, 874, 881–882, 884–885, 887, 889, 891–892, 894, 896–901, 903, 905, 907–908, 910, 913–915, 918–920, 923–925, 933, 935–936, 939–940, 943–944, 947–948, 950–951, 955, 959–960, 963, 968–969, 973–974, 976–984, 986, 996–997, 999, 1001–1002, 1004, 1007, 1012, 1017, 1023–1024, 1027, 1030, 1033, 1035–1037, 1039, 1044–1045, 1047, 1056–1057, 1060, 1063, 1066–1067, 1069, 1078–1079, 1081–1083, 1085–1088, 1100–1102, 1107, 1110–1111, 1113, 1118
   tests.py89890%3–4, 6, 8–10, 26, 229, 243, 262, 284, 286–289, 291–293, 295–299, 302–303, 305–306, 309–311, 314–315, 318–321, 324, 327–331, 334, 337, 340, 343–348, 351, 354, 357, 362–363, 365–366, 369–370, 372–374, 377, 379–384, 386–393, 396–398, 400, 403–404, 410–414
edtf
   __init__.py40100% 
   appsettings.py28292%12–13
   convert.py631182%11–19, 21, 73
   fields.py1191190%1, 3–8, 10–13, 15, 23, 29, 31, 33–35, 38–39, 51–58, 60, 63, 65–70, 72–76, 78–79, 81, 83–84, 86, 88–89, 91, 93–95, 97–98, 100, 102–105, 107, 109–112, 114, 123–125, 128, 131–132, 135–136, 139–140, 142–144, 147, 151, 153, 155, 157, 160–173, 179, 181–182, 184–185, 190–191, 193–194, 196, 204, 206, 208–209, 212–213, 223–226, 234
   jdutil.py984455%37, 55, 91–92, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py710100% 
edtf/natlang
   __init__.py20100% 
   en.py1471192%55, 58, 118, 164–165, 176–177, 203–204, 208, 275
   tests.py10190%211
edtf/parser
   __init__.py40100% 
   edtf_exceptions.py15286%24, 29
   grammar.py128298%357, 359
   parser_classes.py6339884%110–112, 119, 122, 183, 189–193, 200–202, 209–213, 222–224, 229–235, 246, 337–338, 371–375, 378, 393, 396–400, 403–407, 427–429, 545, 581, 589, 593, 640–641, 647, 665–666, 669, 675, 682, 684, 688, 695, 760, 766, 770, 784, 788, 882, 900–901, 903, 908, 914, 919, 924, 960, 963, 969, 974, 976–984, 999, 1004, 1081, 1085, 1118
   tests.py89198%400
TOTAL2822104063% 

Tests Skipped Failures Errors Time
279 0 💤 0 ❌ 0 🔥 4.204s ⏱️

Copy link

Coverage

Coverage Report
FileStmtsMissCoverMissing
/opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/edtf
   __init__.py40100% 
   appsettings.py28485%10–13
   convert.py634430%11–19, 21, 38–39, 52, 61, 72–73, 75, 104, 107–109, 113, 117, 136–156
   fields.py1192281%70, 84, 89, 91, 94–95, 97–98, 100, 105, 109–112, 135–136, 157, 167–168, 172–173, 181
   jdutil.py986632%37, 55, 91–92, 105, 152, 154–155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 251–252, 254–255, 257–258, 260, 262, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py71710%3–4, 6, 9–13, 16–21, 24–25, 28–29, 32–37, 40–44, 52–53, 56–62, 65–71, 74–79, 82–85, 88–91, 94–97, 100–107
/opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/edtf/natlang
   __init__.py20100% 
   en.py1477151%33, 43–44, 46–49, 54–55, 58–61, 63, 67–70, 72–73, 75–77, 85–87, 89–93, 103, 105, 118, 125, 156–158, 160–165, 168–170, 172–177, 201–204, 208, 223, 225–226, 228, 245, 247, 255, 257, 259, 261, 266, 269, 275
   tests.py10100%3, 5, 10, 179, 184–185, 190–191, 207, 211
/opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/edtf/parser
   __init__.py40100% 
   edtf_exceptions.py151126%13–19, 22–24, 29
   grammar.py1281191%148–151, 350, 355–360
   parser_classes.py63335044%69, 71, 78–81, 83–84, 86–87, 110–112, 116, 119, 122, 181, 183, 190, 192, 198–202, 207–213, 220–224, 229–235, 246, 257, 286, 290, 302–304, 309, 317–319, 322, 337–338, 342, 371–375, 378, 383–384, 387, 390, 393, 396–400, 403–407, 427–429, 453, 457, 462, 464, 483, 490, 506, 515–517, 519–521, 524–525, 527, 530–533, 535, 537–539, 541, 545, 558, 565–568, 571, 574–577, 580–583, 585–589, 592–593, 596, 600, 606–607, 610, 613–614, 617, 621–622, 625–626, 629, 635, 640–641, 647, 649, 652–654, 660, 665–666, 669, 675, 677, 681–695, 700–702, 706, 708, 711–713, 717, 719, 722–724, 730–733, 738–739, 744–745, 747, 750, 753–755, 757, 760, 763–766, 768–774, 781–784, 786–792, 801–802, 805, 808, 811–813, 815, 823, 842–844, 846–849, 851–852, 854–855, 857, 859, 868, 871, 874, 881–882, 884–885, 887, 889, 891–892, 894, 896–901, 903, 905, 907–908, 910, 913–915, 918–920, 923–925, 933, 935–936, 939–940, 943–944, 947–948, 950–951, 955, 959–960, 963, 968–969, 973–974, 976–984, 986, 996–997, 999, 1001–1002, 1004, 1007, 1012, 1017, 1023–1024, 1027, 1030, 1033, 1035–1037, 1039, 1044–1045, 1047, 1056–1057, 1060, 1063, 1066–1067, 1069, 1078–1079, 1081–1083, 1085–1088, 1100–1102, 1107, 1110–1111, 1113, 1118
   tests.py89890%3–4, 6, 8–10, 26, 229, 243, 262, 284, 286–289, 291–293, 295–299, 302–303, 305–306, 309–311, 314–315, 318–321, 324, 327–331, 334, 337, 340, 343–348, 351, 354, 357, 362–363, 365–366, 369–370, 372–374, 377, 379–384, 386–393, 396–398, 400, 403–404, 410–414
edtf
   __init__.py40100% 
   appsettings.py28292%12–13
   convert.py631182%11–19, 21, 73
   fields.py1191190%1, 3–8, 10–13, 15, 23, 29, 31, 33–35, 38–39, 51–58, 60, 63, 65–70, 72–76, 78–79, 81, 83–84, 86, 88–89, 91, 93–95, 97–98, 100, 102–105, 107, 109–112, 114, 123–125, 128, 131–132, 135–136, 139–140, 142–144, 147, 151, 153, 155, 157, 160–173, 179, 181–182, 184–185, 190–191, 193–194, 196, 204, 206, 208–209, 212–213, 223–226, 234
   jdutil.py984455%37, 55, 91–92, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py710100% 
edtf/natlang
   __init__.py20100% 
   en.py1471192%55, 58, 118, 164–165, 176–177, 203–204, 208, 275
   tests.py10190%211
edtf/parser
   __init__.py40100% 
   edtf_exceptions.py15286%24, 29
   grammar.py128298%357, 359
   parser_classes.py6339884%110–112, 119, 122, 183, 189–193, 200–202, 209–213, 222–224, 229–235, 246, 337–338, 371–375, 378, 393, 396–400, 403–407, 427–429, 545, 581, 589, 593, 640–641, 647, 665–666, 669, 675, 682, 684, 688, 695, 760, 766, 770, 784, 788, 882, 900–901, 903, 908, 914, 919, 924, 960, 963, 969, 974, 976–984, 999, 1004, 1081, 1085, 1118
   tests.py89198%400
TOTAL2822104063% 

Tests Skipped Failures Errors Time
279 0 💤 0 ❌ 0 🔥 4.249s ⏱️

Copy link

Coverage

Coverage Report
FileStmtsMissCoverMissing
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/edtf
   __init__.py40100% 
   appsettings.py28485%10–13
   convert.py634430%11–19, 21, 38–39, 52, 61, 72–73, 75, 104, 107–109, 113, 117, 136–156
   fields.py1192281%70, 84, 89, 91, 94–95, 97–98, 100, 105, 109–112, 135–136, 157, 167–168, 172–173, 181
   jdutil.py986632%37, 55, 91–92, 105, 152, 154–155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 251–252, 254–255, 257–258, 260, 262, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py71710%3–4, 6, 9–13, 16–21, 24–25, 28–29, 32–37, 40–44, 52–53, 56–62, 65–71, 74–79, 82–85, 88–91, 94–97, 100–107
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/edtf/natlang
   __init__.py20100% 
   en.py1477151%33, 43–44, 46–49, 54–55, 58–61, 63, 67–70, 72–73, 75–77, 85–87, 89–93, 103, 105, 118, 125, 156–158, 160–165, 168–170, 172–177, 201–204, 208, 223, 225–226, 228, 245, 247, 255, 257, 259, 261, 266, 269, 275
   tests.py10100%3, 5, 10, 179, 184–185, 190–191, 207, 211
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/edtf/parser
   __init__.py40100% 
   edtf_exceptions.py151126%13–19, 22–24, 29
   grammar.py1281191%148–151, 350, 355–360
   parser_classes.py63335044%69, 71, 78–81, 83–84, 86–87, 110–112, 116, 119, 122, 181, 183, 190, 192, 198–202, 207–213, 220–224, 229–235, 246, 257, 286, 290, 302–304, 309, 317–319, 322, 337–338, 342, 371–375, 378, 383–384, 387, 390, 393, 396–400, 403–407, 427–429, 453, 457, 462, 464, 483, 490, 506, 515–517, 519–521, 524–525, 527, 530–533, 535, 537–539, 541, 545, 558, 565–568, 571, 574–577, 580–583, 585–589, 592–593, 596, 600, 606–607, 610, 613–614, 617, 621–622, 625–626, 629, 635, 640–641, 647, 649, 652–654, 660, 665–666, 669, 675, 677, 681–695, 700–702, 706, 708, 711–713, 717, 719, 722–724, 730–733, 738–739, 744–745, 747, 750, 753–755, 757, 760, 763–766, 768–774, 781–784, 786–792, 801–802, 805, 808, 811–813, 815, 823, 842–844, 846–849, 851–852, 854–855, 857, 859, 868, 871, 874, 881–882, 884–885, 887, 889, 891–892, 894, 896–901, 903, 905, 907–908, 910, 913–915, 918–920, 923–925, 933, 935–936, 939–940, 943–944, 947–948, 950–951, 955, 959–960, 963, 968–969, 973–974, 976–984, 986, 996–997, 999, 1001–1002, 1004, 1007, 1012, 1017, 1023–1024, 1027, 1030, 1033, 1035–1037, 1039, 1044–1045, 1047, 1056–1057, 1060, 1063, 1066–1067, 1069, 1078–1079, 1081–1083, 1085–1088, 1100–1102, 1107, 1110–1111, 1113, 1118
   tests.py89890%3–4, 6, 8–10, 26, 229, 243, 262, 284, 286–289, 291–293, 295–299, 302–303, 305–306, 309–311, 314–315, 318–321, 324, 327–331, 334, 337, 340, 343–348, 351, 354, 357, 362–363, 365–366, 369–370, 372–374, 377, 379–384, 386–393, 396–398, 400, 403–404, 410–414
edtf
   __init__.py40100% 
   appsettings.py28292%12–13
   convert.py631182%11–19, 21, 73
   fields.py1191190%1, 3–8, 10–13, 15, 23, 29, 31, 33–35, 38–39, 51–58, 60, 63, 65–70, 72–76, 78–79, 81, 83–84, 86, 88–89, 91, 93–95, 97–98, 100, 102–105, 107, 109–112, 114, 123–125, 128, 131–132, 135–136, 139–140, 142–144, 147, 151, 153, 155, 157, 160–173, 179, 181–182, 184–185, 190–191, 193–194, 196, 204, 206, 208–209, 212–213, 223–226, 234
   jdutil.py984455%37, 55, 91–92, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py710100% 
edtf/natlang
   __init__.py20100% 
   en.py1471192%55, 58, 118, 164–165, 176–177, 203–204, 208, 275
   tests.py10190%211
edtf/parser
   __init__.py40100% 
   edtf_exceptions.py15286%24, 29
   grammar.py128298%357, 359
   parser_classes.py6339884%110–112, 119, 122, 183, 189–193, 200–202, 209–213, 222–224, 229–235, 246, 337–338, 371–375, 378, 393, 396–400, 403–407, 427–429, 545, 581, 589, 593, 640–641, 647, 665–666, 669, 675, 682, 684, 688, 695, 760, 766, 770, 784, 788, 882, 900–901, 903, 908, 914, 919, 924, 960, 963, 969, 974, 976–984, 999, 1004, 1081, 1085, 1118
   tests.py89198%400
TOTAL2822104063% 

Tests Skipped Failures Errors Time
279 0 💤 0 ❌ 0 🔥 4.219s ⏱️

Copy link

Coverage

Coverage Report
FileStmtsMissCoverMissing
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/edtf
   __init__.py40100% 
   appsettings.py28485%10–13
   convert.py634430%11–19, 21, 38–39, 52, 61, 72–73, 75, 104, 107–109, 113, 117, 136–156
   fields.py1192281%70, 84, 89, 91, 94–95, 97–98, 100, 105, 109–112, 135–136, 157, 167–168, 172–173, 181
   jdutil.py986632%37, 55, 91–92, 105, 152, 154–155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 251–252, 254–255, 257–258, 260, 262, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py71710%3–4, 6, 9–13, 16–21, 24–25, 28–29, 32–37, 40–44, 52–53, 56–62, 65–71, 74–79, 82–85, 88–91, 94–97, 100–107
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/edtf/natlang
   __init__.py20100% 
   en.py1477151%33, 43–44, 46–49, 54–55, 58–61, 63, 67–70, 72–73, 75–77, 85–87, 89–93, 103, 105, 118, 125, 156–158, 160–165, 168–170, 172–177, 201–204, 208, 223, 225–226, 228, 245, 247, 255, 257, 259, 261, 266, 269, 275
   tests.py10100%3, 5, 10, 179, 184–185, 190–191, 207, 211
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/edtf/parser
   __init__.py40100% 
   edtf_exceptions.py151126%13–19, 22–24, 29
   grammar.py1281191%148–151, 350, 355–360
   parser_classes.py63335044%69, 71, 78–81, 83–84, 86–87, 110–112, 116, 119, 122, 181, 183, 190, 192, 198–202, 207–213, 220–224, 229–235, 246, 257, 286, 290, 302–304, 309, 317–319, 322, 337–338, 342, 371–375, 378, 383–384, 387, 390, 393, 396–400, 403–407, 427–429, 453, 457, 462, 464, 483, 490, 506, 515–517, 519–521, 524–525, 527, 530–533, 535, 537–539, 541, 545, 558, 565–568, 571, 574–577, 580–583, 585–589, 592–593, 596, 600, 606–607, 610, 613–614, 617, 621–622, 625–626, 629, 635, 640–641, 647, 649, 652–654, 660, 665–666, 669, 675, 677, 681–695, 700–702, 706, 708, 711–713, 717, 719, 722–724, 730–733, 738–739, 744–745, 747, 750, 753–755, 757, 760, 763–766, 768–774, 781–784, 786–792, 801–802, 805, 808, 811–813, 815, 823, 842–844, 846–849, 851–852, 854–855, 857, 859, 868, 871, 874, 881–882, 884–885, 887, 889, 891–892, 894, 896–901, 903, 905, 907–908, 910, 913–915, 918–920, 923–925, 933, 935–936, 939–940, 943–944, 947–948, 950–951, 955, 959–960, 963, 968–969, 973–974, 976–984, 986, 996–997, 999, 1001–1002, 1004, 1007, 1012, 1017, 1023–1024, 1027, 1030, 1033, 1035–1037, 1039, 1044–1045, 1047, 1056–1057, 1060, 1063, 1066–1067, 1069, 1078–1079, 1081–1083, 1085–1088, 1100–1102, 1107, 1110–1111, 1113, 1118
   tests.py89890%3–4, 6, 8–10, 26, 229, 243, 262, 284, 286–289, 291–293, 295–299, 302–303, 305–306, 309–311, 314–315, 318–321, 324, 327–331, 334, 337, 340, 343–348, 351, 354, 357, 362–363, 365–366, 369–370, 372–374, 377, 379–384, 386–393, 396–398, 400, 403–404, 410–414
edtf
   __init__.py40100% 
   appsettings.py28292%12–13
   convert.py631182%11–19, 21, 73
   fields.py1191190%1, 3–8, 10–13, 15, 23, 29, 31, 33–35, 38–39, 51–58, 60, 63, 65–70, 72–76, 78–79, 81, 83–84, 86, 88–89, 91, 93–95, 97–98, 100, 102–105, 107, 109–112, 114, 123–125, 128, 131–132, 135–136, 139–140, 142–144, 147, 151, 153, 155, 157, 160–173, 179, 181–182, 184–185, 190–191, 193–194, 196, 204, 206, 208–209, 212–213, 223–226, 234
   jdutil.py984455%37, 55, 91–92, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py710100% 
edtf/natlang
   __init__.py20100% 
   en.py1471192%55, 58, 118, 164–165, 176–177, 203–204, 208, 275
   tests.py10190%211
edtf/parser
   __init__.py40100% 
   edtf_exceptions.py15286%24, 29
   grammar.py128298%357, 359
   parser_classes.py6339884%110–112, 119, 122, 183, 189–193, 200–202, 209–213, 222–224, 229–235, 246, 337–338, 371–375, 378, 393, 396–400, 403–407, 427–429, 545, 581, 589, 593, 640–641, 647, 665–666, 669, 675, 682, 684, 688, 695, 760, 766, 770, 784, 788, 882, 900–901, 903, 908, 914, 919, 924, 960, 963, 969, 974, 976–984, 999, 1004, 1081, 1085, 1118
   tests.py89198%400
TOTAL2822104063% 

Tests Skipped Failures Errors Time
279 0 💤 0 ❌ 0 🔥 4.320s ⏱️

Copy link

Coverage

Coverage Report
FileStmtsMissCoverMissing
/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/edtf
   __init__.py40100% 
   appsettings.py28485%10–13
   convert.py634430%11–19, 21, 38–39, 52, 61, 72–73, 75, 104, 107–109, 113, 117, 136–156
   fields.py1192281%70, 84, 89, 91, 94–95, 97–98, 100, 105, 109–112, 135–136, 157, 167–168, 172–173, 181
   jdutil.py986632%37, 55, 91–92, 105, 152, 154–155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 251–252, 254–255, 257–258, 260, 262, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py71710%3–4, 6, 9–13, 16–21, 24–25, 28–29, 32–37, 40–44, 52–53, 56–62, 65–71, 74–79, 82–85, 88–91, 94–97, 100–107
/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/edtf/natlang
   __init__.py20100% 
   en.py1477151%33, 43–44, 46–49, 54–55, 58–61, 63, 67–70, 72–73, 75–77, 85–87, 89–93, 103, 105, 118, 125, 156–158, 160–165, 168–170, 172–177, 201–204, 208, 223, 225–226, 228, 245, 247, 255, 257, 259, 261, 266, 269, 275
   tests.py10100%3, 5, 10, 179, 184–185, 190–191, 207, 211
/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/edtf/parser
   __init__.py40100% 
   edtf_exceptions.py151126%13–19, 22–24, 29
   grammar.py1281191%148–151, 350, 355–360
   parser_classes.py63335044%69, 71, 78–81, 83–84, 86–87, 110–112, 116, 119, 122, 181, 183, 190, 192, 198–202, 207–213, 220–224, 229–235, 246, 257, 286, 290, 302–304, 309, 317–319, 322, 337–338, 342, 371–375, 378, 383–384, 387, 390, 393, 396–400, 403–407, 427–429, 453, 457, 462, 464, 483, 490, 506, 515–517, 519–521, 524–525, 527, 530–533, 535, 537–539, 541, 545, 558, 565–568, 571, 574–577, 580–583, 585–589, 592–593, 596, 600, 606–607, 610, 613–614, 617, 621–622, 625–626, 629, 635, 640–641, 647, 649, 652–654, 660, 665–666, 669, 675, 677, 681–695, 700–702, 706, 708, 711–713, 717, 719, 722–724, 730–733, 738–739, 744–745, 747, 750, 753–755, 757, 760, 763–766, 768–774, 781–784, 786–792, 801–802, 805, 808, 811–813, 815, 823, 842–844, 846–849, 851–852, 854–855, 857, 859, 868, 871, 874, 881–882, 884–885, 887, 889, 891–892, 894, 896–901, 903, 905, 907–908, 910, 913–915, 918–920, 923–925, 933, 935–936, 939–940, 943–944, 947–948, 950–951, 955, 959–960, 963, 968–969, 973–974, 976–984, 986, 996–997, 999, 1001–1002, 1004, 1007, 1012, 1017, 1023–1024, 1027, 1030, 1033, 1035–1037, 1039, 1044–1045, 1047, 1056–1057, 1060, 1063, 1066–1067, 1069, 1078–1079, 1081–1083, 1085–1088, 1100–1102, 1107, 1110–1111, 1113, 1118
   tests.py89890%3–4, 6, 8–10, 26, 229, 243, 262, 284, 286–289, 291–293, 295–299, 302–303, 305–306, 309–311, 314–315, 318–321, 324, 327–331, 334, 337, 340, 343–348, 351, 354, 357, 362–363, 365–366, 369–370, 372–374, 377, 379–384, 386–393, 396–398, 400, 403–404, 410–414
edtf
   __init__.py40100% 
   appsettings.py28292%12–13
   convert.py631182%11–19, 21, 73
   fields.py1191190%1, 3–8, 10–13, 15, 23, 29, 31, 33–35, 38–39, 51–58, 60, 63, 65–70, 72–76, 78–79, 81, 83–84, 86, 88–89, 91, 93–95, 97–98, 100, 102–105, 107, 109–112, 114, 123–125, 128, 131–132, 135–136, 139–140, 142–144, 147, 151, 153, 155, 157, 160–173, 179, 181–182, 184–185, 190–191, 193–194, 196, 204, 206, 208–209, 212–213, 223–226, 234
   jdutil.py984455%37, 55, 91–92, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py710100% 
edtf/natlang
   __init__.py20100% 
   en.py1471192%55, 58, 118, 164–165, 176–177, 203–204, 208, 275
   tests.py10190%211
edtf/parser
   __init__.py40100% 
   edtf_exceptions.py15286%24, 29
   grammar.py128298%357, 359
   parser_classes.py6339884%110–112, 119, 122, 183, 189–193, 200–202, 209–213, 222–224, 229–235, 246, 337–338, 371–375, 378, 393, 396–400, 403–407, 427–429, 545, 581, 589, 593, 640–641, 647, 665–666, 669, 675, 682, 684, 688, 695, 760, 766, 770, 784, 788, 882, 900–901, 903, 908, 914, 919, 924, 960, 963, 969, 974, 976–984, 999, 1004, 1081, 1085, 1118
   tests.py89198%400
TOTAL2822104063% 

Tests Skipped Failures Errors Time
279 0 💤 0 ❌ 0 🔥 6.724s ⏱️

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 1a5ebd5 Previous: 9529491 Ratio
edtf/natlang/tests.py::test_benchmark_natlang[23rd Dynasty-None] 70908.05993591757 iter/sec (stddev: 9.336401373974975e-7) 69470.30558312619 iter/sec (stddev: 8.902008998970827e-7) 0.98
edtf/natlang/tests.py::test_benchmark_natlang[January 2008-2008-01] 8081.312658856538 iter/sec (stddev: 0.000007619156669014199) 8324.483693962113 iter/sec (stddev: 0.000005991359125301758) 1.03
edtf/natlang/tests.py::test_benchmark_natlang[ca1860-1860~] 9656.201214299597 iter/sec (stddev: 0.0000058122713925155625) 9717.911445770509 iter/sec (stddev: 0.00001721606231510305) 1.01
edtf/natlang/tests.py::test_benchmark_natlang[uncertain: approx 1862-1862%] 6652.449123393891 iter/sec (stddev: 0.000006904746593308474) 6822.616414423156 iter/sec (stddev: 0.000008709373046464409) 1.03
edtf/natlang/tests.py::test_benchmark_natlang[January-XXXX-01] 11498.54538461711 iter/sec (stddev: 0.00000493408016541802) 11776.525563412784 iter/sec (stddev: 0.000006066431715301031) 1.02
edtf/natlang/tests.py::test_benchmark_natlang[Winter 1872-1872-24] 8370.392302524268 iter/sec (stddev: 0.00000553850252740975) 8520.893668185601 iter/sec (stddev: 0.000005729463127209827) 1.02
edtf/natlang/tests.py::test_benchmark_natlang[before approx January 18 1928-/1928-01-18~] 5682.908434183922 iter/sec (stddev: 0.000007648465545337454) 5689.570069738053 iter/sec (stddev: 0.000009183288579123991) 1.00
edtf/natlang/tests.py::test_benchmark_natlang[birthday in 1872-1872] 7211.885201598034 iter/sec (stddev: 0.000011366674332750247) 7416.340178119332 iter/sec (stddev: 0.0000065048393546042904) 1.03
edtf/natlang/tests.py::test_benchmark_natlang[1270 CE-1270] 49807.41416902325 iter/sec (stddev: 0.0000014962297096935839) 51164.57645435527 iter/sec (stddev: 0.000001591067852670383) 1.03
edtf/natlang/tests.py::test_benchmark_natlang[2nd century bce--01XX] 44095.45879572501 iter/sec (stddev: 0.0000015617715863917242) 44996.8496097705 iter/sec (stddev: 0.0000015738948584567202) 1.02
edtf/natlang/tests.py::test_benchmark_natlang[1858/1860-[1858, 1860]] 21807.319599248884 iter/sec (stddev: 0.000002798861518096165) 22144.988916227463 iter/sec (stddev: 0.0000037402949863596445) 1.02
edtf/parser/tests.py::test_benchmark_parser[2001-02-03] 124.01091520648583 iter/sec (stddev: 0.0006448552256745901) 125.12658851673503 iter/sec (stddev: 0.0005927338231648203) 1.01
edtf/parser/tests.py::test_benchmark_parser[2008-12] 128.36248456288072 iter/sec (stddev: 0.0028400206829592386) 131.2769148354411 iter/sec (stddev: 0.0020734015216580088) 1.02
edtf/parser/tests.py::test_benchmark_parser[2008] 161.03773548946023 iter/sec (stddev: 0.0016489937904663149) 162.20932109809524 iter/sec (stddev: 0.0014420585113181126) 1.01
edtf/parser/tests.py::test_benchmark_parser[-0999] 159.3818083252433 iter/sec (stddev: 0.002639994681455629) 159.50057446999088 iter/sec (stddev: 0.0020867593024949714) 1.00
edtf/parser/tests.py::test_benchmark_parser[2004-01-01T10:10:10+05:00] 106.31511465424398 iter/sec (stddev: 0.002716914997564173) 113.03387093388542 iter/sec (stddev: 0.0005962281406209244) 1.06
edtf/parser/tests.py::test_benchmark_parser[-2005/-1999-02] 87.04773799144041 iter/sec (stddev: 0.0027618461789397355) 87.53957873255497 iter/sec (stddev: 0.0023153269130372464) 1.01
edtf/parser/tests.py::test_benchmark_parser[/2006] 212.47132987123555 iter/sec (stddev: 0.000154256817795709) 206.53492897715108 iter/sec (stddev: 0.001222742962075483) 0.97
edtf/parser/tests.py::test_benchmark_parser[?2004-%06] 163.0027497205315 iter/sec (stddev: 0.0018175537934075712) 172.0683210752796 iter/sec (stddev: 0.00028320710690097305) 1.06
edtf/parser/tests.py::test_benchmark_parser[[1667, 1760-12]] 18.16706819138367 iter/sec (stddev: 0.0006011220180233923) 18.046458654990015 iter/sec (stddev: 0.002266747315036186) 0.99
edtf/parser/tests.py::test_benchmark_parser[Y3388E2S3] 326.9720390767507 iter/sec (stddev: 0.00033695307092477844) 333.3482802875758 iter/sec (stddev: 0.0010104680755753123) 1.02
edtf/parser/tests.py::test_benchmark_parser[2001-29] 90.18575123804419 iter/sec (stddev: 0.0038441798996662548) 94.51995837255105 iter/sec (stddev: 0.002159318346976914) 1.05

This comment was automatically generated by workflow using github-action-benchmark.

@aweakley aweakley marked this pull request as ready for review June 27, 2024 11:39
Copy link
Contributor

@ColeDCrawford ColeDCrawford left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me, nice add here.

Thoughts on direct_input_field as the name for an EDTF string passed directly? Feels a bit clunky to me when coming back to this. Maybe edtf_string_field?

@ColeDCrawford
Copy link
Contributor

Did the benchmark Github Pages site break? https://ixc.github.io/python-edtf/

@aweakley
Copy link
Member Author

aweakley commented Jul 7, 2024

The page is here: https://ixc.github.io/python-edtf/dev/bench/ . I'll add a link to the readme.

@aweakley aweakley merged commit ca7e02e into v5 Jul 7, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants