Skip to content

Add tests for singleton labeled argument function application #5967

Add tests for singleton labeled argument function application

Add tests for singleton labeled argument function application #5967

GitHub Actions / Test Report failed Oct 18, 2024 in 0s

53 passed, 1 failed and 0 skipped

Tests failed

❌ junit_tests.xml

54 tests were completed in 0ms with 53 passed, 1 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Dynamics 53✅ 1❌ 0ms

❌ Dynamics

Dynamics.Elaboration
  ✅ Single integer
  ✅ Empty hole
  ✅ Free variable
  ✅ Let expression
  ✅ Inconsistent binary operation
  ✅ Consistent if statement
  ✅ An unapplied function
  ✅ Application of function on free variable
  ✅ Inconsistent case statement
  ✅ Let expression for a function
  ✅ Function application with a deferred argument
  ✅ Labeled tuple elaboration
  ✅ Rearranged labeled tuple
  ✅ Singleton labeled tuple adds labels
  ✅ Singleton labeled tuple
  ✅ Singleton labeld tuple analysis adds label
  ✅ Singleton labeld tuple analysis adds label with type alias
  ✅ Singleton labeld tuple analysis adds label with type alias
  ✅ Singleton labeled argument function application with known type
  ✅ Singleton labeled argument function application with no label in ap
  ❌ Singleton labeled argument function application with unknown type
	Alcotest assertion failure
Dynamics.LabeledTuple
  ✅ Singleton unlabeled
  ✅ Singleton labeled
  ✅ unlabeled remains same order
  ✅ fully labeled retains ordering
  ✅ Missing labels get added
  ✅ Present labels get reordered
  ✅ Partial labels get reordered
  ✅ Extra labels get reordered
  ✅ pair labeled, unlabled
  ✅ Independent label sets with some overlap
Dynamics.Statics
  ✅ Function with unknown param
  ✅ Function with known param
  ✅ Function with labeled param
  ✅ bifunction
  ✅ bifunction
  ✅ function application
  ✅ function deferral
  ✅ Typechecking fails for unlabeled variable being assigned to labeled tuple
  ✅ Typechecking fails for unlabeled variable being assigned to labeled tuple
  ✅ Assigning labeled tuple to variable
  ✅ Singleton Labled Tuple ascription in let
  ✅ Singleton Labled Tuple ascription in let with wrong type should fail
  ✅ Singleton Labled Tuple with specified label
  ✅ Labeled tuple with multiple labels
  ✅ Let statement that adds labels during elaboration
  ✅ Duplicate singleton labels
  ✅ Reconstructed labeled tuple without values
Dynamics.Evaluator
  ✅ Integer literal
  ✅ Integer sum
  ✅ Labeled tuple projection
Dynamics.MakeTerm
  ✅ Singleton Labled Tuple ascription in let
  ✅ Assigning labeled tuple to variable
  ✅ Multiple labels in tuple

Annotations

Check failure on line 0 in junit_tests.xml

See this annotation in the file changed.

@github-actions github-actions / Test Report

Dynamics ► Dynamics.Elaboration ► Singleton labeled argument function application with unknown type

Failed test found in:
  junit_tests.xml
Error:
  Alcotest assertion failure
Raw output
Alcotest assertion failure
FAIL (fun a=x->x)(a=1)

   Expected: `{ ids = <opaque>; copied = <opaque>;
  term =
  (Ap (Forward,
     { ids = <opaque>; copied = <opaque>;
       term =
       (Fun (
          { ids = <opaque>; copied = <opaque>;
            term =
            (Tuple
               [{ ids = <opaque>; copied = <opaque>;
                  term =
                  (TupLabel (
                     { ids = <opaque>; copied = <opaque>; term = (Label "a")
                       },
                     { ids = <opaque>; copied = <opaque>; term = (Var "x") }
                     ))
                  }
                 ])
            },
          { ids = <opaque>; copied = <opaque>; term = (Var "x") }, <opaque>,
          None))
       },
     { ids = <opaque>; copied = <opaque>;
       term =
       (Tuple
          [{ ids = <opaque>; copied = <opaque>;
             term =
             (TupLabel (
                { ids = <opaque>; copied = <opaque>; term = (Label "a") },
                { ids = <opaque>; copied = <opaque>; term = (Int 1) }))
             }
            ])
       }
     ))
  }'

   Received: `{ ids = <opaque>; copied = <opaque>;
  term =
  (Ap (Forward,
     { ids = <opaque>; copied = <opaque>;
       term =
       (Fun (
          { ids = <opaque>; copied = <opaque>;
            term =
            (Tuple
               [{ ids = <opaque>; copied = <opaque>;
                  term =
                  (TupLabel (
                     { ids = <opaque>; copied = <opaque>; term = (Label "a")
                       },
                     { ids = <opaque>; copied = <opaque>; term = (Var "x") }
                     ))
                  }
                 ])
            },
          { ids = <opaque>; copied = <opaque>; term = (Var "x") }, <opaque>,
          None))
       },
     { ids = <opaque>; copied = <opaque>;
       term =
       (Tuple
          [{ ids = <opaque>; copied = <opaque>;
             term =
             (TupLabel (
                { ids = <opaque>; copied = <opaque>; term = (Label "a") },
                { ids = <opaque>; copied = <opaque>;
                  term =
                  (Cast (
                     { ids = <opaque>; copied = <opaque>;
                       term =
                       (Tuple
                          [{ ids = <opaque>; copied = <opaque>;
                             term =
                             (TupLabel (
                                { ids = <opaque>; copied = <opaque>;
                                  term =
                                  (Cast (
                                     { ids = <opaque>; copied = <opaque>;
                                       term = (Label "a") },
                                     { ids = <opaque>; copied = <opaque>;
                                       term = (Label "a") },
                                     { ids = <opaque>; copied = <opaque>;
                                       term = (Unknown Internal) }
                                     ))
                                  },
                                { ids = <opaque>; copied = <opaque>;
                                  term =
                                  (Cast (
                                     { ids = <opaque>; copied = <opaque>;
                                       term = (Int 1) },
                                     { ids = <opaque>; copied = <opaque>;
                                       term = Int },
                                     { ids = <opaque>; copied = <opaque>;
                                       term = (Unknown Internal) }
                                     ))
                                  }
                                ))
                             }
                            ])
                       },
                     { ids = <opaque>; copied = <opaque>;
                       term =
                       (Prod
                          [{ ids = <opaque>; copied = <opaque>;
                             term = (Unknown Internal) }
                            ])
                       },
                     { ids = <opaque>; copied = <opaque>;
                       term = (Unknown Internal) }
                     ))
                  }
                ))
             }
            ])
       }
     ))
  }'