forked from msgpack/msgpack-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
61 lines (52 loc) · 2.03 KB
/
Program.cs
File metadata and controls
61 lines (52 loc) · 2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#region -- License Terms --
//
// MessagePack for CLI
//
// Copyright (C) 2015 FUJIWARA, Yusuke
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#endregion -- License Terms --
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using MsgPack.Serialization;
using NUnit.Common;
using NUnitLite;
namespace MsgPack.NUnitLiteRunner
{
/// <summary>
/// Lightweight test runner for NUnit Lite with <c>mono --full-aot</c>.
/// </summary>
internal class Program
{
private static readonly string AssemblyName = typeof( PackUnpackTest ).Assembly.FullName;
private static void Main( string[] args )
{
var adjustedArgs = new List<string>( args.Length + 1 );
adjustedArgs.AddRange( args );
adjustedArgs.Add( AssemblyName );
PreHeat();
new TextRunner().Execute( adjustedArgs.ToArray() );
}
[MethodImpl( MethodImplOptions.NoOptimization )]
private static void PreHeat()
{
new ArraySegmentEqualityComparer<byte>().Equals( default( ArraySegment<byte> ), default( ArraySegment<byte> ) );
new ArraySegmentEqualityComparer<int>().Equals( default( ArraySegment<int> ), default( ArraySegment<int> ) );
new ArraySegmentEqualityComparer<decimal>().Equals( default( ArraySegment<decimal> ), default( ArraySegment<decimal> ) );
new SerializationContext().GetSerializer<KeyValuePair<string, int>>( null );
// DateTimeOffset is not able to be instanciated via reflection, it might be because it consist of other non-primitive value types (DateTime and TimeSpan).
}
}
}